Loading...
Please wait, while we are loading the content...
Similar Documents
Spqr: formal foundations and practical support for the automated detection of design patterns from source code
| Content Provider | Semantic Scholar |
|---|---|
| Author | Stotts, P. David Smith, Jason McColm |
| Copyright Year | 2005 |
| Abstract | Maintenance costs currently comprise the majority of total costs in producing software. While object-oriented techniques and languages appear to have assisted in the production of new code, there is little evidence to support the theory that they have helped lower the high cost of maintenance. In this dissertation, I describe the current problem and provide a system ultimately aimed at reducing this cost. The System for Pattern Query and Recognition, or SPQR, consists of: the rho-calculus, a formal foundation for conceptual relationships in object-oriented systems; a suite of Elemental Design Patterns that capture the fundamentals of object-oriented programming and their expressions in the rho-calculus; an XML Schema, the Pattern/Object Markup Language, or POML, to provide a concrete method for expressing the formalisms in a practical manner; an example mapping from the C++ programming language to POML; an implementation which ties the above components together into a practical tool that detects instances of design patterns directly from source code using the Otter automated theorem prover. I will discuss each of the components of the system in turn, and relate them to previous research in the area, as well as provide a number of future research directions. Using the results of SPQR, a system can be more easily documented and understood. The major contribution of SPQR is the flexible detection of design patterns using the formalisms of rho-calculus instead of static structural cues. Building on SPQR, I propose: a suite of metrics utilizing the Minimum Description Length principle that capture the salient conceptual features of source code as expressed in design patterns nomenclature as a method for measuring comprehensibility of code: an approach for mapping these metrics to cost-based metrics from current management principles. This combination should prove to be effective in facilitating communication between technical and managerial concerns in a manner that allows for the most efficient allocation of resources during maintenance of software systems. |
| File Format | PDF HTM / HTML |
| Alternate Webpage(s) | http://www.cs.unc.edu/xcms/wpfiles/dissertations/smith_jason.pdf |
| Alternate Webpage(s) | http://www.cs.unc.edu/techreports/06-025.pdf |
| Alternate Webpage(s) | http://rockfish-cs.cs.unc.edu/pubs/TR06-025.pdf |
| Alternate Webpage(s) | http://rockfish.cs.unc.edu/pubs/TR06-025.pdf |
| Language | English |
| Access Restriction | Open |
| Content Type | Text |
| Resource Type | Article |