Using Context Information to Re-architect a System

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

[img] Text
Poni06aSimulatedAnnealing.pdf - Published Version
Restricted to registered users only
Available under License Publisher holds Copyright.

Download (271kB) | Request a copy

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)


08 Faculty of Science > Institute of Computer Science (INF)
08 Faculty of Science > Institute of Computer Science (INF) > Software Composition Group (SCG)

UniBE Contributor:

Ponisio, Maria Laura and Nierstrasz, Oscar Marius


000 Computer science, knowledge & systems
500 Science > 510 Mathematics


Data Processing Organization




Factscience Import

Date Deposited:

04 Oct 2013 14:47

Last Modified:

19 Oct 2017 14:40



URI: (FactScience: 2023)

Actions (login required)

Edit item Edit item
Provide Feedback