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 条
  • [31] ChangeMacroRecorder: Accurate Recording of Fine-Grained Textual Changes of Source Code∗
    Maruyama K.
    Hayashi S.
    Omori T.
    IEICE Transactions on Information and Systems, 2020, E103D (11) : 2262 - 2277
  • [32] USING CONVERT TO TRANSFORM SOURCE CODE
    WOLBERG, JR
    RAFAL, M
    SOFTWARE-PRACTICE & EXPERIENCE, 1979, 9 (11): : 881 - 890
  • [33] Analysis of Source Code Using UPPAAL
    Kulczynski, Mitja
    Legay, Axel
    Nowotka, Dirk
    Poulsen, Danny Bogsted
    ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2021, (338): : 31 - 38
  • [34] SHAKESPEARE'S BEEHIVE A compleat recording of the annotations
    Woudhuysen, H. R.
    TLS-THE TIMES LITERARY SUPPLEMENT, 2014, (5812): : 28 - 29
  • [35] Code Coverage of Assertions Using RTL Source Code Analysis
    Athavale, Viraj
    Ma, Sai
    Hertz, Samuel
    Vasudevan, Shobha
    2014 51ST ACM/EDAC/IEEE DESIGN AUTOMATION CONFERENCE (DAC), 2014,
  • [36] Code thumbnails: Using spatial memory to navigate source code
    DeLine, Robert
    Czerwinski, Mary
    Meyers, Brian
    Venolia, Gina
    Drucker, Steven
    Robertson, George
    IEEE SYMPOSIUM ON VISUAL LANGUAGES AND HUMAN-CENTRIC COMPUTING, PROCEEDINGS, 2006, : 11 - +
  • [37] Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
    Bettenburg, Nicolas
    Thomas, Stephen W.
    Hassan, Ahmed E.
    2012 16TH EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING (CSMR), 2012, : 319 - 328
  • [38] CASE RECORDING BY CODE
    SEABERG, JR
    SOCIAL WORK, 1965, 10 (04) : 92 - 98
  • [39] Comparing the United States Code Annotated and the United States Code Service Using Inferential Statistics: Are Their Annotations Equal?
    Marcum, Emily
    LAW LIBRARY JOURNAL, 2021, 113 (03): : 207 - 216
  • [40] Towards semantically enhanced detection of emerging quality-related concerns in source code
    Krasniqi, Rrezarta
    Do, Hyunsook
    SOFTWARE QUALITY JOURNAL, 2023, 31 (03) : 865 - 915