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 条
  • [31] Mining association concept based on formal concept analysis
    Zhang, Zhuo
    Li, Shijun
    Journal of Computational Information Systems, 2010, 6 (03): : 783 - 792
  • [32] Fuzzy formal concept analysis and fuzzy concept lattices
    Hu, Ming-Han
    Zhang, Li
    Ren, Fei-Liang
    Dongbei Daxue Xuebao/Journal of Northeastern University, 2007, 28 (09): : 1274 - 1277
  • [33] Formal concept analysis and hierarchical classes analysis
    Chen, YH
    Yao, YY
    NAFIPS 2005 - 2005 ANNUAL MEETING OF THE NORTH AMERICAN FUZZY INFORMATION PROCESSING SOCIETY, 2005, : 276 - 281
  • [34] Continuous lattices in formal concept analysis
    Yao, Lingjuan
    Wang, Shengwen
    Li, Qingguo
    Cai, Mingjie
    SOFT COMPUTING, 2024, 28 (02) : 955 - 962
  • [35] On Pseudointents in Fuzzy Formal Concept Analysis
    Ojeda-Hernandez, Manuel
    Cabrera, Inma P.
    Cordero, Pablo
    Munoz-Velasco, Emilio
    GRAPH-BASED REPRESENTATION AND REASONING, ICCS 2023, 2023, 14133 : 36 - 40
  • [36] Navigation and Annotation with Formal Concept Analysis
    Eklund, Peter
    Ducrou, Jon
    KNOWLEDGE ACQUISITION: APPROACHES, ALGORITHMS AND APPLICATIONS, 2009, 5465 : 118 - +
  • [37] Typicality: A formal concept analysis account
    Belohlavek, Radim
    Mikula, Tomas
    INTERNATIONAL JOURNAL OF APPROXIMATE REASONING, 2022, 142 : 349 - 369
  • [38] The philosophical backgrounds of Formal Concept Analysis
    Porwolik, Marek
    PHOTONICS APPLICATIONS IN ASTRONOMY, COMMUNICATIONS, INDUSTRY, AND HIGH-ENERGY PHYSICS EXPERIMENTS 2012, 2012, 8454
  • [39] Bounding Stability in Formal Concept Analysis
    Bhuyan, Bikram P.
    Karmakar, Arindam
    Hazarika, Shyamanta M.
    ADVANCED COMPUTATIONAL AND COMMUNICATION PARADIGMS, VOL 2, 2018, 706 : 545 - 552
  • [40] Formal Concept Analysis for digital ecosystem
    Fu, Huaiguo
    ICMLA 2006: 5TH INTERNATIONAL CONFERENCE ON MACHINE LEARNING AND APPLICATIONS, PROCEEDINGS, 2006, : 143 - 148