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