Font Size: a A A

An integrated representation for software development and discovery

Posted on:1996-06-16Degree:Ph.DType:Thesis
University:Rensselaer Polytechnic InstituteCandidate:Welty, Christopher AFull Text:PDF
GTID:2468390014987119Subject:Computer Science
Abstract/Summary:
This thesis presents research that is focused on making software systems more understandable at the code-level, the level of specification provided by programming languages and at which software is typically maintained in practice. The goal has been to make a software system easier to maintain by presenting a better represented and more understandable code-level. Previous efforts to achieve this goal in the area of Software Information Systems have been successful in limited ways. The main emphasis of this research has been to extend the underlying representations used by Software Information Systems and demonstrate how these extensions better serve the goal.; The focus of these improvement efforts is primarily on two areas: representing the code-level knowledge more completely, and incorporating explicit domain knowledge.; The first focus has produced an ontology of code-level knowledge in an object-oriented software system. The explicit nature of the ontology makes possible the automatic detection of side-effects, delocalized plans, and vestigial code in methods, and greatly facilitates the implementation of graphical tools for finding information about the software. While these features in themselves clearly serve to make a software system more understandable, the relative ease with which they were implemented is further evidence that the represention does offer improvements towards meeting this goal.; Through the second focus it was discovered that there was a serious obstacle to merging software domain and code-level knowledge: code-level knowledge is second order with respect to domain knowledge. A facility to represent this kind of second-order relationship was developed which avoids the problems of undecidability inherent in fully second-order systems. This facility allows for domain knowledge to be represented explicitly at the code-level.; The representation has been tested on a sample domain, Knowledge-Based Email Distribution, and examples are given to show how the representation makes the software easier to understand. The approach is also compared to other systems used for understanding and maintenance.
Keywords/Search Tags:Software, Systems, Representation, Code-level
Related items