Automatic method change suggestion to complement multi-entity edits

被引:4
|
作者
Jiang, Zijian [1 ]
Wang, Ye [1 ]
Zhong, Hao [2 ]
Meng, Na [1 ]
机构
[1] Virginia Polytech Inst & State Univ, Blacksburg, VA 24060 USA
[2] Shanghai Jiao Tong Univ, Shanghai 200240, Peoples R China
基金
中国国家自然科学基金; 国家重点研发计划;
关键词
Multi-entity edit; Common field access; Common method invocation; Change suggestion; SOFTWARE; MAINTENANCE;
D O I
10.1016/j.jss.2019.110441
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
When maintaining software, developers sometimes change multiple program entities (i.e., classes, methods, and fields) to fulfill one maintenance task. We call such complex changes multi-entity edits. Consistently and completely applying multi-entity edits can be challenging, because (1) the changes scatter in different entities and (2) the incorrectly edited code may not trigger any compilation or runtime error. This paper introduces CMSuggester, an approach to suggest complementary changes for multi-entity edits. Given a multi-entity edit that (i) adds a new field or method and (ii) modifies one or more methods to access the field or invoke the method, CMSuggester suggests other methods to co-change for the new field access or method invocation. The design of CMSuggester is motivated by our preliminary study, which reveals that co-changed methods usually access existing fields or invoke existing methods in common. Our evaluation shows that based on common field accesses, CMSuggester recommended method changes in 463 of 685 tasks with 70% suggestion accuracy; based on common method invocations, CMSuggester handled 557 of 692 tasks with 70% accuracy. Compared with prior work ROSE, TARMAQ, and Transitive Association Rules (TAR), CMSuggester recommended more method changes with higher accuracy. Our research can help developers correctly apply multi-entity edits. (C) 2019 Elsevier Inc. All rights reserved.
引用
收藏
页数:12
相关论文
共 50 条
  • [1] CMSuggester: Method Change Suggestion to Complement Multi-entity Edits
    Wang, Ye
    Meng, Na
    Zhong, Hao
    SOFTWARE ANALYSIS, TESTING, AND EVOLUTION, SATE 2018, 2018, 11293 : 137 - 153
  • [2] Embedding and Clustering Multi-Entity Sequences
    Heaton, Connor
    Mitra, Prasenjit
    IEEE ACCESS, 2024, 12 : 57492 - 57503
  • [3] A Visualization Scheme for Multi-Entity Relationship
    Zhao, Peng
    Zhu, Yingzhen
    Yu, Jifang
    Zhang, Yin
    Wu, Jiangqin
    JCDL'18: PROCEEDINGS OF THE 18TH ACM/IEEE JOINT CONFERENCE ON DIGITAL LIBRARIES, 2018, : 401 - 402
  • [4] MULTI-ENTITY COLLABORATIVE RELATION EXTRACTION
    Liu, Haozhuang
    Li, Ziran
    Sheng, Dongming
    Zheng, Hai-Tao
    Shen, Ying
    2021 IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH AND SIGNAL PROCESSING (ICASSP 2021), 2021, : 7678 - 7682
  • [5] Integration strategies for a multi-entity healthcare systems
    Golob, R
    TOWARD AN ELECTRONIC PATIENT RECORD '97 - CONFERENCE AND EXPOSITION, PROCEEDINGS, VOLS 1-3, 1997, : A260 - A261
  • [6] Relatedness-based Multi-Entity Summarization
    Gunaratna, Kalpa
    Yazdavar, Amir Hossein
    Thirunarayan, Krishnaprasad
    Sheth, Amit
    Cheng, Gong
    PROCEEDINGS OF THE TWENTY-SIXTH INTERNATIONAL JOINT CONFERENCE ON ARTIFICIAL INTELLIGENCE, 2017, : 1060 - 1066
  • [7] Multi-entity Bayesian Networks for situation assessment
    Wright, E
    Mahoney, S
    Laskey, K
    Takikawa, M
    Levitt, T
    PROCEEDINGS OF THE FIFTH INTERNATIONAL CONFERENCE ON INFORMATION FUSION, VOL II, 2002, : 804 - 811
  • [8] SARIFA-a new multi-entity biomarker
    Grosser, Bianca
    Reitsam, Nic G.
    Grochowski, Przmyslaw
    Rentschler, Lukas
    Enke, Johanna
    Maerkl, Bruno
    PATHOLOGIE, 2024,
  • [9] MESRG: multi-entity summarisation in RDF graph
    Zheng, Ze
    Luo, Xiangfeng
    Wang, Hao
    INTERNATIONAL JOURNAL OF COMPUTATIONAL SCIENCE AND ENGINEERING, 2020, 23 (01) : 74 - 81
  • [10] Strategies of Receivables Management in Multi-entity Organizations
    Zimon, Grzegorz
    PROCEEDINGS OF THE THIRD INTERNATIONAL CONFERENCE ON ECONOMIC AND BUSINESS MANAGEMENT (FEBM 2018), 2018, 56 : 5 - 9