Supporting Program Comprehension for Refactoring Operations with Annotations

被引:0
|
作者
Meffert, Klaus [1 ]
Philippow, Ilka [1 ]
机构
[1] Tech Univ Ilmenau, D-98684 Ilmenau, Germany
关键词
Program comprehension; Annotations; Preconditions for program transformations; Refactoring operations; Design patterns; AST analysis; !text type='Java']Java[!/text;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Restructuring a program is a concept that aims at increasing the maintainability of a piece of code by changing its structure. The term refactoring is often used synonymously, especially when the observable behavior of a program should not change when transforming the structure of the software to a more sophisticated level, e.g. by using design patterns. Behaviour-conserving program transformations are difficult as the understanding of both the code to transform as well as the transformation is prerequisite for conserving the conduct of a transformed program. In addition, a transformation should only be executed if certain preconditions apply. To capture the semantic and syntactic details about a specific code fragment, it is proposed documenting them by adding machine-processable and at the same time human-readable annotations. These annotations contain explicit information and could be added to source code by tools evaluating the code, as well as by practitioners. With annotations, it may be possible checking preconditions for program transformations to execute, and gain information necessary for these transformations.
引用
收藏
页码:48 / 67
页数:20
相关论文
共 50 条
  • [1] Toward Understanding the Impact of Refactoring on Program Comprehension
    Sellitto, Giulia
    Iannone, Emanuele
    Codabux, Zadia
    Lenarduzzi, Valentina
    De Lucia, Andrea
    Palomba, Fabio
    Ferrucci, Filomena
    [J]. 2022 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING (SANER 2022), 2022, : 731 - 742
  • [2] Supporting Program Comprehension with Program Summarization
    Liu, Yu
    Sun, Xiaobing
    Liu, Xiangyue
    Li, Yun
    [J]. 2014 IEEE/ACIS 13TH INTERNATIONAL CONFERENCE ON COMPUTER AND INFORMATION SCIENCE (ICIS), 2014, : 349 - 353
  • [3] Refactoring in the Presence of Annotations
    Noguera, Carlos
    Kellens, Andy
    De Roover, Coen
    Jonckers, Viviane
    [J]. 2012 28TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE (ICSM), 2012, : 337 - 346
  • [4] Supporting listening comprehension and vocabulary acquisition in French with multimedia annotations
    Jones, LC
    Plass, JL
    [J]. MODERN LANGUAGE JOURNAL, 2002, 86 (04): : 546 - 561
  • [5] Supporting refactoring activities using histories of program modification
    Hayashi, S
    Saeki, M
    Kurihara, M
    [J]. IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS, 2006, E89D (04): : 1403 - 1412
  • [6] Supporting Student Differences in Listening Comprehension and Vocabulary Learning with Multimedia Annotations
    Jones, Linda C.
    [J]. CALICO JOURNAL, 2009, 26 (02): : 267 - 289
  • [7] Supporting program comprehension using dominance trees
    Burd, E
    Munro, M
    [J]. ANNALS OF SOFTWARE ENGINEERING, 2000, 9 (1-4) : 193 - 213
  • [8] Supporting Code Comprehension via Annotations: Right Information at the Right Time and Place
    Adeli, Marjan
    Nelson, Nicholas
    Chattopadhyay, Souti
    Coffey, Hayden
    Henley, Austin
    Sarma, Anita
    [J]. 2020 IEEE SYMPOSIUM ON VISUAL LANGUAGES AND HUMAN-CENTRIC COMPUTING (VL/HCC 2020), 2020,
  • [9] Supporting Program Comprehension in Agile with Links to User Stories
    Ratanotayanon, Sukanya
    Sim, Susan Elliott
    Gallardo-Valencia, Rosalva
    [J]. AGILE 2009 CONFERENCE, 2009, : 26 - 32
  • [10] Supporting program development comprehension by visualising iterative design
    Boisvert, C
    [J]. EIGHTH INTERNATIONAL CONFERENCE ON INFORMATION VISUALISATION, PROCEEDINGS, 2004, : 717 - 722