Comparison of different impact analysis methods and programmer's opinion: an empirical study

Gabriella Tóth, Péter Hegedüs, Árpád Beszédes, T. Gyimóthy, J. Jász
{"title":"Comparison of different impact analysis methods and programmer's opinion: an empirical study","authors":"Gabriella Tóth, Péter Hegedüs, Árpád Beszédes, T. Gyimóthy, J. Jász","doi":"10.1145/1852761.1852777","DOIUrl":null,"url":null,"abstract":"In change impact analysis, obtaining guidance from automatic tools would be highly desirable since this activity is generally seen as a very difficult program comprehension problem. However, since the notion of an 'impact set' (or dependency set) of a specific change is usually very inexact and context dependent, the approaches and algorithms for computing these sets are also very diverse producing quite different results. The question 'which algorithm finds program dependencies in the most efficient way?' has been preoccupying researchers for a long time, but there are still very few results published on the comparison of the different algorithms to what programmers think are real dependencies. In this work, we report on our experiment conducted with this goal in mind using a compact, easily comprehensible Java experimental software system, simulated program changes, and a group of programmers who were asked to perform impact analysis with the help of different tools and on the basis of their programming experience. We show which algorithms turned out to be the closest to the programmers' opinion in this case study. However, the results also certified that most existing algorithms need to be further enhanced and an effective methodology to use automated tools to support impact analysis still needs to be found.","PeriodicalId":169989,"journal":{"name":"Principles and Practice of Programming in Java","volume":"129 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2010-09-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"28","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Principles and Practice of Programming in Java","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/1852761.1852777","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 28

Abstract

In change impact analysis, obtaining guidance from automatic tools would be highly desirable since this activity is generally seen as a very difficult program comprehension problem. However, since the notion of an 'impact set' (or dependency set) of a specific change is usually very inexact and context dependent, the approaches and algorithms for computing these sets are also very diverse producing quite different results. The question 'which algorithm finds program dependencies in the most efficient way?' has been preoccupying researchers for a long time, but there are still very few results published on the comparison of the different algorithms to what programmers think are real dependencies. In this work, we report on our experiment conducted with this goal in mind using a compact, easily comprehensible Java experimental software system, simulated program changes, and a group of programmers who were asked to perform impact analysis with the help of different tools and on the basis of their programming experience. We show which algorithms turned out to be the closest to the programmers' opinion in this case study. However, the results also certified that most existing algorithms need to be further enhanced and an effective methodology to use automated tools to support impact analysis still needs to be found.
不同影响分析方法的比较与程序员意见:一项实证研究
在变更影响分析中,从自动工具获得指导是非常可取的,因为这个活动通常被看作是一个非常困难的程序理解问题。然而,由于特定更改的“影响集”(或依赖集)的概念通常是非常不精确的,并且依赖于上下文,因此计算这些集的方法和算法也非常多样化,从而产生完全不同的结果。问题是“哪种算法以最有效的方式找到程序依赖?”这个问题已经困扰了研究人员很长一段时间,但在程序员认为真正的依赖关系的不同算法之间的比较方面,仍然很少有发表的结果。在这项工作中,我们报告了我们为实现这一目标而进行的实验,使用了一个紧凑的、易于理解的Java实验软件系统,模拟了程序更改,并要求一组程序员在不同工具的帮助下根据他们的编程经验执行影响分析。在这个案例研究中,我们展示了哪些算法最接近程序员的意见。然而,结果也证明了大多数现有算法需要进一步增强,并且仍然需要找到一种有效的方法来使用自动化工具来支持影响分析。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信