DocumentCode
3233317
Title
Formal concept analysis in software engineering
Author
Tonella, Paolo
Author_Institution
ITC-irst, Centro per la Ricerca Scientifica e Tecnologia, Povo, Italy
fYear
2004
fDate
23-28 May 2004
Firstpage
743
Lastpage
744
Abstract
Given a binary relationship between objects and attributes, concept analysis is a powerful technique to organize pairs of related sets of objects and attributes into a concept lattice, where higher level concepts represent general features shared by many objects, while lower level concepts represent the object-specific features. Concept analysis was recently applied to several software engineering problems, such as: restructuring the code into more cohesive components, identifying class candidates, locating features in the code by means of dynamic analysis, reengineering class hierarchies. This paper provides the background knowledge required by such applications. Moreover, the methodological issues involved in the different applications of this technique are considered by giving a detailed presentation of three of them: module restructuring, design pattern inference and impact analysis based on decomposition slicing. The paper is concluded by an overview on other kinds of applications.
Keywords
formal specification; program diagnostics; program slicing; reverse engineering; systems analysis; class candidates; class hierarchies reengineering; code restructuring; concept analysis; concept lattice; decomposition slicing; design pattern inference; dynamic analysis; impact analysis; module restructuring; software engineering; systems analysis; Application software; Books; Information analysis; Lattices; Pattern analysis; Software engineering; Software maintenance; Software systems;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Engineering, 2004. ICSE 2004. Proceedings. 26th International Conference on
ISSN
0270-5257
Print_ISBN
0-7695-2163-0
Type
conf
DOI
10.1109/ICSE.2004.1317515
Filename
1317515
Link To Document