Do data dependencies in source code complement call dependencies for understanding requirements traceability?

Hongyu Kuang, Patrick Mäder, Hao Hu, Achraf Ghabi, LiGuo Huang, Jian Lv, Alexander Egyed
{"title":"Do data dependencies in source code complement call dependencies for understanding requirements traceability?","authors":"Hongyu Kuang, Patrick Mäder, Hao Hu, Achraf Ghabi, LiGuo Huang, Jian Lv, Alexander Egyed","doi":"10.1109/ICSM.2012.6405270","DOIUrl":null,"url":null,"abstract":"It is common practice for requirements traceability research to consider method call dependencies within the source code (e.g., fan-in/fan-out analyses). However, current approaches largely ignore the role of data. The question this paper investigates is whether data dependencies have similar relationships to requirements as do call dependencies. For example, if two methods do not call one another, but do have access to the same data then is this information relevant? We formulated several research questions and validated them on three large software systems, covering about 120 KLOC. Our findings are that data relationships are roughly equally relevant to understanding the relationship to requirements traces than calling dependencies. However, most interestingly, our analyses show that data dependencies complement call dependencies. These findings have strong implications on all forms of code understanding, including trace capture, maintenance, and validation techniques (e.g., information retrieval).","PeriodicalId":348790,"journal":{"name":"2012 28th IEEE International Conference on Software Maintenance (ICSM)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2012-09-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"15","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2012 28th IEEE International Conference on Software Maintenance (ICSM)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICSM.2012.6405270","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 15

Abstract

It is common practice for requirements traceability research to consider method call dependencies within the source code (e.g., fan-in/fan-out analyses). However, current approaches largely ignore the role of data. The question this paper investigates is whether data dependencies have similar relationships to requirements as do call dependencies. For example, if two methods do not call one another, but do have access to the same data then is this information relevant? We formulated several research questions and validated them on three large software systems, covering about 120 KLOC. Our findings are that data relationships are roughly equally relevant to understanding the relationship to requirements traces than calling dependencies. However, most interestingly, our analyses show that data dependencies complement call dependencies. These findings have strong implications on all forms of code understanding, including trace capture, maintenance, and validation techniques (e.g., information retrieval).
源代码中的数据依赖是否为理解需求可追溯性补充了调用依赖?
对于需求跟踪研究来说,考虑源代码中的方法调用依赖关系(例如,扇入/扇出分析)是一种常见的做法。然而,目前的方法在很大程度上忽略了数据的作用。本文研究的问题是数据依赖是否与需求有类似的关系,就像调用依赖一样。例如,如果两个方法不相互调用,但可以访问相同的数据,那么该信息是否相关?我们制定了几个研究问题,并在三个大型软件系统上验证了它们,覆盖了大约120个KLOC。我们的发现是,与调用依赖关系相比,数据关系与理解需求跟踪的关系大致相同。然而,最有趣的是,我们的分析表明,数据依赖补充了调用依赖。这些发现对所有形式的代码理解都有很强的影响,包括跟踪捕获、维护和验证技术(例如,信息检索)。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约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学术官方微信
小红书