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 条
  • [1] Combining formal concept analysis with information retrieval for concept location in source code
    Poshyvanyk, Denys
    Marcus, Andrian
    [J]. ICPC 2007: 15TH IEEE INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION, PROCEEDINGS, 2007, : 37 - +
  • [2] Interpreting the neural code with formal concept analysis
    Endres, D. M.
    Priss, U.
    Foldiak, P.
    [J]. PERCEPTION, 2009, 38 : 127 - 127
  • [3] Formal concept analysis model for static code analysis
    Motogna, Simona
    Cristea, Diana
    Sotropa, Diana
    Molnar, Arthur-Jozsef
    [J]. CARPATHIAN JOURNAL OF MATHEMATICS, 2022, 38 (01) : 159 - 168
  • [4] The formal transformation approach to source code analysis and manipulation
    Ward, MP
    [J]. FIRST IEEE INTERNATIONAL WORKSHOP ON SOURCE CODE ANALYSIS AND MANIPULATION, PROCEEDINGS, 2001, : 185 - 193
  • [5] OpenFCA, an open source Formal Concept Analysis toolbox
    Borza, Paul Valentin
    Sabou, Ovidiu
    Sacarea, Christian
    [J]. PROCEEDINGS OF 2010 IEEE INTERNATIONAL CONFERENCE ON AUTOMATION, QUALITY AND TESTING, ROBOTICS (AQTR 2010), VOLS. 1-3, 2010,
  • [6] Optimization of query expansion source in formal concept analysis
    Wang, Chang
    Du, Yajun
    Zhang, Peiying
    [J]. Journal of Convergence Information Technology, 2010, 5 (07)
  • [7] An Approach Using Formal Concept Analysis to Object Extraction in Legacy Code
    Chiang, Chia-Chu
    Lee, Roger
    [J]. SOFTWARE ENGINEERING, ARTIFICIAL INTELLIGENCE, NETWORKING AND PARALLEL/DISTRIBUTED COMPUTING, 2009, 209 : 169 - +
  • [8] Source Code Annotations as Formal Languages
    Nosal, Milan
    Sulir, Matus
    Juhar, Jan
    [J]. PROCEEDINGS OF THE 2015 FEDERATED CONFERENCE ON COMPUTER SCIENCE AND INFORMATION SYSTEMS, 2015, 5 : 953 - 964
  • [9] FORMAL METHODS AND SOURCE CODE - A CONFLICT
    BERBER, R
    [J]. COMPUTER, 1988, 21 (04) : 8 - &
  • [10] FORMAL METHODS AND SOURCE CODE - A CONFLICT - REPLY
    WEISER, M
    [J]. COMPUTER, 1988, 21 (04) : 11 - 11