Ponisio, Maria Laura (2006). Exploiting Client Usage to Manage Program Modularity. (Dissertation, University of Bern, Philosophisch-naturwissenschaftliche Fakultät)
Text
ponisio-phd.pdf - Published Version Restricted to registered users only Available under License Publisher holds Copyright. Download (2MB) |
Over the last thirty years designers have tried to cope with software complexity by organizing system entities into modules, i.e. groups of entities. However, the creation and organization of modules is not straightforward. The criterion with which these modules are built impacts in the maintainability and development of the system. Designers have different interests and personal views of the same system, views that are difficult to communicate and to extract from the code. Poor understanding of this organization increases the complexity of the system e.g. by favoring the addition of duplication and of unexpected rippling effects. This, in turn, lowers the flexibility of the system to changing requirements and leads to a sharp increase in their maintenance cost. To overcome these problems, we present a methodology to manage the locality in object-oriented systems. We develop a model that exploits the contextual information, i.e. the way objects are used by their clients, to understand and improve the organization of classes in the system. With our model we take full advantage of the contextual information of modules to evaluate their cohesion, find misplaced classes, detect hot spots and find the different views that its clients have. In our experimental validation we apply the contextual information to understand, maintain and describe systems. Our methodology is applied successively together with metrics, visualization techniques, and an optimization method named simulated annealing to reverse-engineer object-oriented systems. All in all, we provide a methodology to understand and improve the modularization of object-oriented systems, in an effort towards simplicity.
Item Type: |
Thesis (Dissertation) |
---|---|
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 |
Subjects: |
000 Computer science, knowledge & systems 500 Science > 510 Mathematics |
Language: |
English |
Submitter: |
Anja Ebeling |
Date Deposited: |
29 Jan 2018 16:03 |
Last Modified: |
11 Apr 2024 16:11 |
BORIS DOI: |
10.7892/boris.104700 |
URI: |
https://boris.unibe.ch/id/eprint/104700 |