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 Ratiu | 1 | 493 | 38.87 |
Radu Marinescu | 2 | 937 | 69.41 |
Jan Jurjens | 3 | 169 | 16.07 |