The Logical Modularity of Programs

12 years 4 months ago
The Logical Modularity of Programs
Abstract—The principles and best practices of object oriented design require that modules in a program should match logical decomposition of the knowledge that the program implements. The violation of these modularization rules leads to several undesired consequences: (i) non-cohesive modules that mix different kinds of knowledge and (ii) logically coupled modules due to a dispersion of conceptually cohesive knowledge. In this paper, we use domain knowledge driven program analysis to detect and characterize discrepancies between the structural modularization of programs and the conceptual decomposition of the implemented knowledge. We characterize the mismatches at the levels of granularity of packages and classes and present their impact on different maintenance activities. The presented approach includes a technique for automating the recovery of mappings between the different categories of knowledge used in the program and the modules that implement them. We briefly present our e...
Daniel Ratiu, Radu Marinescu, Jan Jürjens
Added 21 May 2010
Updated 21 May 2010
Type Conference
Year 2009
Where WCRE
Authors Daniel Ratiu, Radu Marinescu, Jan Jürjens
Comments (0)