Recording concerns in source code using annotations

被引:20
|
作者
Sulir, Matus [1 ]
Nosal', Milan [1 ]
Poruban, Jaroslav [1 ]
机构
[1] Tech Univ Kosice, Fac Elect Engn & Informat, Dept Comp & Informat, Letna 9, Kosice 04200, Slovakia
关键词
Program comprehension; Concerns; Source code annotations; Empirical studies; SOFTWARE; MODEL;
D O I
10.1016/j.cl.2016.07.003
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
A concern can be characterized as a developer's intent behind a piece of code, often not explicitly captured in it. We discuss a technique of recording concerns using source code annotations (concern annotations). Using two studies and two controlled experiments, we seek to answer the following 3 research questions: (1) Do programmers' mental models overlap? (2) How do developers use shared concern annotations when they are available? (3) Does using annotations created by others improve program comprehension and maintenance correctness, time and confidence? The first study shows that developers' mental models, recorded using concern annotations, overlap and thus can be shared. The second study shows that shared concern annotations can be used during program comprehension for the following purposes: hypotheses confirmation, feature location, obtaining new knowledge, finding relationships and maintenance notes. The first controlled experiment with students showed that the presence of annotations significantly reduced program comprehension and maintenance time by 34%. The second controlled experiment was a differentiated replication of the first one, focused on industrial developers. It showed a 33% significant improvement in correctness. We conclude that concern annotations are a viable way to share developers' thoughts. (C) 2016 Elsevier Ltd. All rights reserved.
引用
收藏
页码:44 / 65
页数:22
相关论文
共 50 条
  • [41] THE CHOICE OF A RECORDING CODE
    MACKINTOSH, ND
    RADIO AND ELECTRONIC ENGINEER, 1980, 50 (04): : 177 - 193
  • [42] Detecting Scattered and Tangled Quality Concerns in Source Code to Aid Maintenance and Evolution Tasks
    Krasniqi, Rrezarta
    2023 IEEE/ACM 45TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: COMPANION PROCEEDINGS, ICSE-COMPANION, 2023, : 184 - 188
  • [43] Towards semantically enhanced detection of emerging quality-related concerns in source code
    Rrezarta Krasniqi
    Hyunsook Do
    Software Quality Journal, 2023, 31 : 865 - 915
  • [44] Data stream processing via code annotations
    Danelutto, Marco
    De Matteis, Tiziano
    Mencagli, Gabriele
    Torquati, Massimo
    JOURNAL OF SUPERCOMPUTING, 2018, 74 (11): : 5659 - 5673
  • [45] GENERATING EFFICIENT CODE FROM STRICTNESS ANNOTATIONS
    LINDSTROM, G
    GEORGE, L
    YEH, D
    LECTURE NOTES IN COMPUTER SCIENCE, 1987, 250 : 140 - 154
  • [46] Data stream processing via code annotations
    Marco Danelutto
    Tiziano De Matteis
    Gabriele Mencagli
    Massimo Torquati
    The Journal of Supercomputing, 2018, 74 : 5659 - 5673
  • [47] Analyzing the Effect of Preprocessor Annotations on Code Clones
    Schulze, Sandro
    Juergens, Elmar
    Feigenspan, Janet
    11TH IEEE INTERNATIONAL WORKING CONFERENCE ON SOURCE CODE ANALYSIS AND MANIPULATION (SCAM 2011), 2011, : 115 - 124
  • [48] Class Attendance Recording using QR Code via Smartphone
    Chomklin, Amonpan
    Nongkhai, Lalita Na
    Padungpattanadis, Pak
    PROCEEDINGS OF THE 2019 4TH INTERNATIONAL CONFERENCE ON INFORMATION TECHNOLOGY (INCIT): ENCOMPASSING INTELLIGENT TECHNOLOGY AND INNOVATION TOWARDS THE NEW ERA OF HUMAN LIFE, 2019, : 173 - 178
  • [49] CODE2SNAPSHOT: Using Code Snapshots for Learning Representations of Source Code
    Rabin, Md Rafiqul Islam
    Alipour, Mohammad Amin
    2022 21ST IEEE INTERNATIONAL CONFERENCE ON MACHINE LEARNING AND APPLICATIONS, ICMLA, 2022, : 843 - 848
  • [50] Measuring and Evaluating Source Code Logs Using Static Code Analyzer
    Shen, Gang
    Luo, Fan
    Hong, Gang
    TRANSDISCIPLINARY LIFECYCLE ANALYSIS OF SYSTEMS, 2015, 2 : 214 - 223