Proceedings. International Conference on Software Maintenance (Cat. No. 98CB36272) (1998)
Mar. 16, 1998 to Mar. 19, 1998
Harald Gall , Technical University of Vienna
Karin Hajek , Technical University of Vienna
Mehdi Jazayeri , Technical University of Vienna
Code-based metrics such as coupling and cohesion are used to measure a system's structural complexity. But dealing with large systems-those consisting of several millions of lines- at the code level faces many problems. An alternative approach is to concentrate on the system's building blocks such as programs or modules as the unit of examination. We present an approach that uses information in a release history of a system to uncover logical dependencies and change patterns among modules. We have developed the approach by working with 20 releases of a large Telecommunications Switching System. We use release information such as version numbers of programs, modules, and subsystems together with change reports to discover common change behavior (i.e. change patterns) of modules. Our approach identifies logical coupling among modules in such a way that potential structural shortcomings can be identified and further examined, pointing to restructuring or reengineering opportunities.
H. Gall, M. Jazayeri and K. Hajek, "Detection of Logical Coupling Based on Product Release History," Proceedings. International Conference on Software Maintenance (Cat. No. 98CB36272)(ICSM), Bethesda, Maryland, 1998, pp. 190.