![]() | Conceptual Analysis of Software Structure |
Speaker: Richard Cole
When: 10:00, Thursday, 20th November, 2003
Venue: 78-420
Abstract: Software systems are often highly structured,
consisting of
artifacts: types, methods, variables, and packages; and
relationships between these artifacts. Domain and meta models, and
software design documentation provide additional artifacts such as
roles, associations, use cases, and paragraphs of text.
This talk describes a tool employing formal concept analysis and a
knowledge base (data from software analysers + rules) to
understand software structure. The tool is demonstrated via a case
study: we consider the structure of the Java container class
libraries and attempt to identify a design rational behind the
resulting class hierarchy.
The motivating assumption underlying this work is that software
designs evolve over time and that either due (i) to poorly
understood or poorly enunciated design goals, or (ii) due to
physical or algorithmic constraints, irregularities in the
form of broken symmetries arise in software systems. Even if the
resulting systems are not going to be repaired, I would argue that
an understanding of system regularities and the deviations from that
regular structure makes the system structure easier to internalize
(i.e. remember) and so activate in human thinking.
Hospitality: Roger Duke
Contact: Prof Paul Bailes (SSERG seminar co-ordinator) (p.bailes@epsa.uq.edu.au)
SSE seminar web page: http://www.itee.uq.edu.au/~sse/Seminars.html

