Lessons learned in applying formal concept analysis to reverse engineering

  • Authors:
  • Gabriela Arévalo;Stéphane Ducasse;Oscar Nierstrasz

  • Affiliations:
  • Software Composition Group, University of Bern, Switzerland;Software Composition Group, University of Bern, Switzerland;Software Composition Group, University of Bern, Switzerland

  • Venue:
  • ICFCA'05 Proceedings of the Third international conference on Formal Concept Analysis
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

A key difficulty in the maintenance and evolution of complex software systems is to recognize and understand the implicit dependencies that define contracts that must be respected by changes to the software. Formal Concept Analysis is a well-established technique for identifying groups of elements with common sets of properties. We have successfully applied FCA to complex software systems in order to automatically discover a variety of different kinds of implicit, recurring sets of dependencies amongst design artifacts. In this paper we describe our approach, outline three case studies, and draw various lessons from our experiences. In particular, we discuss how our approach is applied iteratively in order to draw the maximum benefit offered by FCA.