Discovering Unanticipated Dependency Schemas in Class Hierarchies

Arévalo, Gabriela; Ducasse, Stéphane; Nierstrasz, Oscar (March 2005). Discovering Unanticipated Dependency Schemas in Class Hierarchies. European Conference on Software Maintenance and Reengineering. Proceedings, pp. 62-71. IEEE Computer Society 10.1109/CSMR.2005.24

[img] Text
Arev05bCSMR05ClassHierarchies.pdf - Published Version
Restricted to registered users only
Available under License Publisher holds Copyright.

Download (194kB) | Request a copy

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.

Item Type:

Conference or Workshop Item (Paper)

Division/Institute:

08 Faculty of Science > Institute of Computer Science (INF)
08 Faculty of Science > Institute of Computer Science (INF) > Software Composition Group (SCG) [discontinued]

UniBE Contributor:

Ducasse, Stephane, Nierstrasz, Oscar

Subjects:

000 Computer science, knowledge & systems
500 Science > 510 Mathematics

ISSN:

1534-5351

ISBN:

0-7695-2304-8

Publisher:

IEEE Computer Society

Language:

English

Submitter:

Anja Ebeling

Date Deposited:

30 Oct 2017 11:36

Last Modified:

11 Apr 2024 16:11

Publisher DOI:

10.1109/CSMR.2005.24

BORIS DOI:

10.7892/boris.104377

URI:

https://boris.unibe.ch/id/eprint/104377

Actions (login required)

Edit item Edit item
Provide Feedback