Formal Concept Analysis in Software Engineering

  • Authors:
  • Paolo Tonella

  • Affiliations:
  • ITC-irst

  • Venue:
  • Proceedings of the 26th International Conference on Software Engineering
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

Given a binary relationship between objects and attributes,concept analysis is a powerful technique to organizepairs of related sets of objects and attributes into a conceptlattice, where higher level concepts represent generalfeatures shared by many objects, while lower level conceptsrepresent the object-specific features. Concept analysis wasrecently applied to several software engineering problems,such as: restructuring the code into more cohesive components,identifying class candidates, locating features in thecode by means of dynamic analysis, reengineering class hierarchies.This tutorial provides the background knowledgerequired by such applications. Moreover, the methodologicalissues involved in the different applications of this techniqueare considered by giving a detailed presentation ofthree of them: module restructuring, design pattern inferenceand impact analysis based on decomposition slicing.The tutorial is concluded by an overview on other kinds ofapplications.