Ponisio, Maria; Nierstrasz, Oscar Marius (2006). Using Context Information to Re-architect a System. In: SMEF 2006. Software Measurement European Forum (pp. 91-103). Data Processing Organization
Text
Poni06aSimulatedAnnealing.pdf - Published Version Restricted to registered users only Available under License Publisher holds Copyright. Download (271kB) |
Successful software systems cope with complexity by organizing classes into packages. However, a particular organization may be neither straightforward nor obvious for a given developer. As a consequence, classes can be misplaced, leading to duplicated code and ripple effects with minor changes effecting multiple packages. We claim that contextual information is the key to rearchitecture a system. Exploiting contextual information, we propose a technique to detect misplaced classes by analyzing how client packages access the classes of a given provider package. We define locality as a measure of the degree to which classes reused by common clients appear in the same package. We then use locality to guide a simulated annealing algorithm to obtain optimal placements of classes in packages. The result is the identification of classes that are candidates for relocation. We apply the technique to three applications and validate the usefulness of our approach via developer interviews.
Item Type: |
Conference or Workshop Item (Paper) |
---|---|
Division/Institute: |
08 Faculty of Science > Institute of Computer Science (INF) 08 Faculty of Science > Institute of Computer Science (INF) > Software Composition Group (SCG) [discontinued] |
UniBE Contributor: |
Ponisio, Maria Laura, Nierstrasz, Oscar |
Subjects: |
000 Computer science, knowledge & systems 500 Science > 510 Mathematics |
Publisher: |
Data Processing Organization |
Language: |
English |
Submitter: |
Factscience Import |
Date Deposited: |
04 Oct 2013 14:47 |
Last Modified: |
02 Mar 2023 23:22 |
BORIS DOI: |
10.7892/boris.19413 |
URI: |
https://boris.unibe.ch/id/eprint/19413 (FactScience: 2023) |