Delving source code with formal concept analysis

被引:15
|
作者
Mens, K
Tourwé, T
机构
[1] Catholic Univ Louvain, Dept Ingn Informat INGI, B-1348 Louvain, Belgium
[2] CWI, NL-1090 GB Amsterdam, Netherlands
关键词
source-code mining; formal concept analysis; software classification;
D O I
10.1016/j.cl.2004.11.004
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Getting an initial understanding of the structure of a software system, whether it is for software maintenance, evolution or reengineering purposes, is a nontrivial task. We propose a lightweight approach to delve a system's source code automatically and efficiently for relevant concepts of interest: what concerns are addressed in the code, what patterns, coding idioms and conventions have been adopted, and where and how are they implemented. We use formal concept analysis to do the actual source-code mining, and then filter, classify and combine the results to present them in a format that is more convenient to a software engineer. We applied a prototype tool that implements this approach to several small to medium-sized Smalltalk applications. For each of these, the tool uncovered several design pattern instances, coding and naming conventions, refactoring opportunities and important domain concepts. Although the tool and approach can still be improved in many ways, the tool does already provides useful results when trying to get an initial understanding of a system. The obtained results also illustrate the relevance and feasibility of using formal concept analysis as an efficient technique for source-code mining. (c) 2005 Elsevier Ltd. All rights reserved.
引用
收藏
页码:183 / 197
页数:15
相关论文
共 50 条
  • [21] Formal rough concept analysis
    Saquer, J
    Deogun, JS
    NEW DIRECTIONS IN ROUGH SETS, DATA MINING, AND GRANULAR-SOFT COMPUTING, 1999, 1711 : 91 - 99
  • [22] Concepts of Formal Concept Analysis
    Zacek, Martin
    Homola, Dan
    Miarka, Rostislav
    PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON NUMERICAL ANALYSIS AND APPLIED MATHEMATICS 2016 (ICNAAM-2016), 2017, 1863
  • [23] Approximation in formal concept analysis
    Shao, MW
    Zhang, WX
    ROUGH SETS, FUZZY SETS, DATA MINING, AND GRANULAR COMPUTING, PT 1, PROCEEDINGS, 2005, 3641 : 43 - 53
  • [24] Scalability in formal concept analysis
    Griffith Univ, Queensland, Australia
    Comput Intell, 1 (11-27):
  • [25] Scalability in formal concept analysis
    Cole, R
    Eklund, PW
    COMPUTATIONAL INTELLIGENCE, 1999, 15 (01) : 11 - 27
  • [26] Generalized formal concept analysis
    Chaudron, L
    Maille, N
    CONCEPTUAL STRUCTURES: LOGICAL, LINGUISTIC, AND COMPUTATIONAL ISSUES, PROCEEDINGS, 2000, 1867 : 357 - 370
  • [27] Formal JVM code analysis in JavaFAN
    Farzan, Azadeh
    Meseguer, José
    Roşu, Grigore
    Lect. Notes Comput. Sci., 1600, (132-147):
  • [28] Formal Contexts, Formal Concept Analysis, and Galois Connections
    Denniston, Jeffrey T.
    Melton, Austin
    Rodabaugh, Stephen E.
    ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2013, (129): : 105 - 120
  • [29] HaLoop Approach for Concept Generation in Formal Concept Analysis
    Chunduri, Raghavendra K.
    Cherukuri, Aswani Kumar
    JOURNAL OF INFORMATION & KNOWLEDGE MANAGEMENT, 2018, 17 (03)
  • [30] Formal concept analysis and concept lattice: Perspectives and challenges
    Yan, Hehua
    Zou, Caifeng
    Liu, Jianqi
    Wang, Zhonghai
    International Journal of Autonomous and Adaptive Communications Systems, 2015, 8 (01) : 81 - 96