Title
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 experience with analyzing JHotDraw.
Year
DOI
Venue
2009
10.1109/WCRE.2009.29
WCRE
Keywords
Field
DocType
logical modularity,conceptual decomposition,mix different kind,program analysis,structural modularization,logical decomposition,different maintenance activity,conceptually cohesive knowledge,domain knowledge,modularization rule,different category,graphical user interfaces,couplings,best practice,pediatrics,object oriented design,object oriented programming,software maintenance,data mining,ontology,ontologies
Object-oriented design,Ontology (information science),Programming language,Object-oriented programming,Systems engineering,Domain knowledge,Computer science,Modular programming,Software maintenance,Program analysis,Modularity
Conference
ISSN
Citations 
PageRank 
1095-1350
3
0.41
References 
Authors
8
3
Name
Order
Citations
PageRank
Daniel Ratiu149338.87
Radu Marinescu293769.41
Jan Jurjens316916.07