DocumentCode
2705614
Title
Discovering Unanticipated Dependency Schemas in Class Hierarchies
Author
Arevalo, German ; Ducasse, Stéephane ; Nierstrasz, Oscar
Author_Institution
Software Composition Group, Bern Univ., Switzerland
fYear
2005
fDate
21-23 March 2005
Firstpage
62
Lastpage
71
Abstract
Object-oriented applications are difficult to extend and maintain, due to the presence of implicit dependencies in the inheritance hierarchy. Although these dependencies often correspond to well-known schemas, such as hook and template methods, new unanticipated dependency schemas occur in practice, and can consequently be hard to recognize and detect. To tackle this problem, we have applied Concept Analysis to automatically detect recurring dependency schemas in class hierarchies used in object-oriented applications. In this paper we describe our mapping of OO dependencies to the formal framework of Concept Analysis, we apply our approach to a non-trivial case study, and we report on the kinds of dependencies that are uncovered with this technique. As a result, we show how the discovered dependency schemas correspond not only to good design practices, but also to "bad smells" in design.
Keywords
formal specification; inheritance; object-oriented methods; object-oriented programming; software libraries; software maintenance; OO dependencies; automatic recurring dependency schema detection; class hierarchies; formal concept analysis; inheritance hierarchy; object-oriented applications; unanticipated dependency schema discovery; Application software; Best practices; Computer architecture; Contracts; Lattices; Object oriented modeling; Software maintenance; Software systems; Class Hierarchies; Concept Analysis; Schemas;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Maintenance and Reengineering, 2005. CSMR 2005. Ninth European Conference on
ISSN
1534-5351
Print_ISBN
0-7695-2304-8
Type
conf
DOI
10.1109/CSMR.2005.24
Filename
1402115
Link To Document