Improving Source Code Lexicon via Traceability and Information Retrieval

被引:38
|
作者
De Lucia, Andrea [1 ]
Di Penta, Massimiliano [2 ]
Oliveto, Rocco [3 ]
机构
[1] Univ Salerno, Dept Math & Informat, I-84084 Fisciano, SA, Italy
[2] Univ Sannio, Dept Engn, I-82100 Benevento, Italy
[3] Univ Molise, Dept Stat, I-86090 Pesche, IS, Italy
关键词
Software traceability; source code comprehensibility; source code identifier quality; information retrieval; software development environments; empirical software engineering; CONCEPTUAL COHESION; IDENTIFIER NAMES; REQUIREMENTS; SOFTWARE; QUALITY; METRICS; VALIDATION; DESIGN; LINKS;
D O I
10.1109/TSE.2010.89
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The paper presents an approach helping developers to maintain source code identifiers and comments consistent with high-level artifacts. Specifically, the approach computes and shows the textual similarity between source code and related high-level artifacts. Our conjecture is that developers are induced to improve the source code lexicon, i.e., terms used in identifiers or comments, if the software development environment provides information about the textual similarity between the source code under development and the related high-level artifacts. The proposed approach also recommends candidate identifiers built from high-level artifacts related to the source code under development and has been implemented as an Eclipse plug-in, called COde Comprehension Nurturant Using Traceability (COCONUT). The paper also reports on two controlled experiments performed with master's and bachelor's students. The goal of the experiments is to evaluate the quality of identifiers and comments (in terms of their consistency with high-level artifacts) in the source code produced when using or not using COCONUT. The achieved results confirm our conjecture that providing the developers with similarity between code and high-level artifacts helps to improve the quality of source code lexicon. This indicates the potential usefulness of COCONUT as a feature for software development environments.
引用
收藏
页码:205 / 227
页数:23
相关论文
共 50 条
  • [1] Improving comprehensibility of source code via traceability information: a controlled experiment
    De Lucia, Andrea
    Di Penta, Massimiliano
    Oliveto, Rocco
    Zurolo, Francesco
    [J]. 14TH IEEE INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION (ICPC 2006), PROCEEDINGS, 2006, : 317 - +
  • [2] Information retrieval models for recovering traceability links between code and documentation
    Antoniol, G
    Canfora, G
    Casazza, G
    De Lucia, A
    [J]. INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2000, : 40 - 49
  • [3] Analysis and improvement on retrieval methods for traceability links between source code and documentation
    Lai, Guan-Hui
    Wang, Xiao-Bo
    Liu, Chao
    [J]. Tien Tzu Hsueh Pao/Acta Electronica Sinica, 2009, 37 (SUPPL.): : 22 - 30
  • [4] An information retrieval approach to concept location in source code
    Marcus, A
    Sergeyev, A
    Rajlich, V
    Maletic, JI
    [J]. 11TH WORKING CONFERENCE ON REVERSE ENGINEERING, PROCEEDINGS, 2004, : 214 - 223
  • [5] Improving requirements tracing via information retrieval
    Hayes, JH
    Dekhtyar, A
    Osborne, J
    [J]. 11TH IEEE INTERNATIONAL REQUIREMENTS ENGINEERING CONFERENCE, PROCEEDINGS, 2003, : 138 - 147
  • [6] Labeling source code with information retrieval methods: an empirical study
    Andrea De Lucia
    Massimiliano Di Penta
    Rocco Oliveto
    Annibale Panichella
    Sebastiano Panichella
    [J]. Empirical Software Engineering, 2014, 19 : 1383 - 1420
  • [7] Application of Information Retrieval Techniques for Source Code Authorship Attribution
    Burrows, Steven
    Uitdenbogerd, Alexandra L.
    Turpin, Andrew
    [J]. DATABASE SYSTEMS FOR ADVANCED APPLICATIONS, PROCEEDINGS, 2009, 5463 : 699 - 713
  • [8] Labeling source code with information retrieval methods: an empirical study
    De Lucia, Andrea
    Di Penta, Massimiliano
    Oliveto, Rocco
    Panichella, Annibale
    Panichella, Sebastiano
    [J]. EMPIRICAL SOFTWARE ENGINEERING, 2014, 19 (05) : 1383 - 1420
  • [9] ANNE: Improving Source Code Search using Entity Retrieval Approach
    Vinayakarao, Venkatesh
    Sarma, Anita
    Purandare, Rahul
    Jain, Shuktika
    Jain, Saumya
    [J]. WSDM'17: PROCEEDINGS OF THE TENTH ACM INTERNATIONAL CONFERENCE ON WEB SEARCH AND DATA MINING, 2017, : 211 - 220
  • [10] Improving Software Text Retrieval using Conceptual Knowledge in Source Code
    Lin, Zeqi
    Zou, Yanzhen
    Zhao, Junfeng
    Xie, Bing
    [J]. PROCEEDINGS OF THE 2017 32ND IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE'17), 2017, : 123 - 134