跳到主要内容
研究论文

TCTracer:使用动态和静态技术建立测试到代码的跟踪链接

出版:2022年5月1日出版历史
跳过抽象节

摘要

摘要

测试到代码的可追溯性链接为测试工件和代码工件之间的关系建模。当在开发过程中使用这些链接时,这些链接可以帮助开发人员保持测试代码与测试代码同步,从而降低测试失败和遗漏故障的比率。测试到代码的可追溯性链接还可以帮助开发人员维护系统的准确心理模型,减少进行更改时架构降级的风险。然而,手动建立和维护这些链接给开发人员带来了额外的负担,并且容易出错。本文介绍TCTracer公司,一种自动建立测试到代码跟踪链接的方法和实现。与现有工作不同,TCTracer公司在方法级别和类级别操作,允许我们在测试和函数之间以及测试类和测试类之间建立链接。我们通过结合使用动态和静态信息的新技术和现有技术,并利用方法和类级别之间的协同信息流,改进了现有技术。评估TCTracer公司使用五个大型的、经过充分研究的开放源码系统表明,平均而言,我们可以建立平均精度为85%的测试到功能链接,平均精度为92%的测试到类链接。

工具书类

  1. 阿尔贾瓦布拉赫NGergely T公司米斯拉S费尔南德斯-桑斯L测试到代码跟踪(TCT)链接的自动恢复和可视化:评估IEEE接入20219401114012310.1109/通道2021.3063158谷歌学者谷歌学者交叉引用交叉引用
  2. 阿拉曼尼斯M巴尔ETDevanbu P公司萨顿C面向大代码和自然性的机器学习研究综述ACM计算监视(CSUR)201851481谷歌学者谷歌学者数字图书馆数字图书馆
  3. 安东尼奥G坎福拉G卡萨扎G德卢西亚A梅洛E恢复代码和文档之间的可追溯性链接IEEE跨软件工程2002281097098310.1109/TSE.2002.1041053号谷歌学者谷歌学者数字图书馆数字图书馆
  4. Bouillon P、Krinke J、Meyer N、Steimann F(2007)《EZUNIT:将失败的单元测试与潜在编程错误联系起来的框架》。在:软件工程和极限编程中的敏捷过程。斯普林格。内政部:https://doi.org/10.1007/978-3-540-73101-6_14谷歌学者谷歌学者
  5. Cleland-Huang J(2012)《敏捷项目中的可追溯性》。In:软件和系统可追溯性。施普林格,第265-275页谷歌学者谷歌学者
  6. Csuvik V,Kicsi A,Vidács L(2019a)代码级可追溯性中文本相似性技术的评估。参加:国际计算科学及其应用会议。施普林格,第529–543页谷歌学者谷歌学者
  7. Csuvik V,Kicsi A,Vidács L(2019b)源代码级单词嵌入,以帮助语义测试到代码的可追溯性。摘自:第十届软件和系统可追溯性国际研讨会,第29-36页。内政部:https://doi.org/10.109/SST.2019.00016谷歌学者谷歌学者
  8. Davis J,Goadrich M(2006),《精度重新调用和ROC曲线之间的关系》。摘自:第23届机器学习国际会议论文集。ACM,第233-240页谷歌学者谷歌学者
  9. De Lucia A、Fasano F、Oliveto R(2008)《影响分析的可追溯性管理》。2008年软件维护前沿。IEEE,第21–30页谷歌学者谷歌学者
  10. Elsner D,Hauer F,Pretschner A,Reimer S(2021)对连续集成中回归测试优化的现成信息进行经验评估。摘自:第30届ACM SIGSOFT国际软件测试与分析研讨会论文集,第491-504页谷歌学者谷歌学者
  11. Gergely T公司巴洛赫G霍瓦思FVancsics B公司贝塞德斯吉莫西T静态和动态测试到代码跟踪恢复方法之间的差异软Qual J20192727978222007年10月17日/11219-018-9430-x谷歌学者谷歌学者数字图书馆数字图书馆
  12. Gethers M、Oliveto R、Poshyvanyk D、De Lucia A(2011)《关于整合正交信息检索方法以改进可追溯性恢复》。摘自:第27届IEEE软件维护国际会议(ICSM),第133-142页谷歌学者谷歌学者
  13. Ghafari M、Ghezzi C、Rubinov K(2015)《单元测试用例中自动识别测试中的焦点方法》。第15届国际源代码分析与操作工作会议(SCAM)。IEEE,第61-70页。内政部:https://doi.org/10.109/SCAM.2015.7335402谷歌学者谷歌学者
  14. Gold NE,Krinke J(2020)《道德采矿:MSR采矿挑战案例研究》。收录于:第17届国际采矿软件库会议记录。ACM,第265-276页。内政部:https://doi.org/10.1145/3379597.3387462谷歌学者谷歌学者
  15. Gold NE,Krinke J(2022)《软件仓库挖掘中的道德规范》。经验软件工程。27(17)内政部:https://doi.org/10.1007/s10664-021-10057-7谷歌学者谷歌学者
  16. Hurdugaci V,Zaidman A(2012)帮助软件开发人员维护开发人员测试。摘自:第16届欧洲软件维护和再工程会议。IEEE,第11-20页谷歌学者谷歌学者
  17. Jones J A、Harrold M J、Stasko J(2002)《测试信息可视化以帮助故障定位》。摘自:第24届国际软件工程会议(ICSE)论文集。IEEE,第467–477页谷歌学者谷歌学者
  18. Kicsi A,Tóth L,Vidács L(2018)《探索在测试到代码可追溯性中利用概念信息的好处》。摘自:第六届软件工程中实现人工智能协同作用国际研讨会,第8-14页。内政部:https://doi.org/10.1145/3194104.3194106谷歌学者谷歌学者
  19. Kicsi A、Vidács L、Gyimóthy T(2020)TestRoutes。摘自:第17届国际采矿软件库会议记录。ACM,第593–597页。内政部:https://doi.org/10.1145/3379597.3387488谷歌学者谷歌学者
  20. 列文斯坦六世能够纠正删除、插入和反转的二进制代码Sov Phys Doklady公司1966108707710189928谷歌学者谷歌学者
  21. Madeja M,Porubȧn J(2019)流行GitHub Android项目单元测试中的命名语义追踪。摘自:第八届语言、应用和技术研讨会(SLATE 2019)。达格斯图尔宫(Schloss Dagstuhl)——莱布尼茨-泽特鲁姆富尔信息馆(Leibniz-Zentrum fuer Informatik)。内政部:https://doi.org/10.4230/OASIcs.SLATE.2019.3谷歌学者谷歌学者
  22. 曼宁C拉加万P舒茨H信息检索导论Nat Lang Eng公司201016110010310.1017/S13513249090051291160.68008谷歌学者谷歌学者数字图书馆数字图书馆
  23. Meimandi Parizi R,Kasem A,Abdullah A(2015)《软件可追溯性的游戏化:测试与代码工件之间》。摘自:第十届软件工程与应用国际会议论文集。SCITEPRESS,第393-400页,内政部:https://doi.org/10.5220/00055503930400谷歌学者谷歌学者
  24. Orellana G、Laghari G、Murgia A和Demeyer S(2017)《TravisTorrent数据集中单元测试和集成测试之间的差异》。在:2017年IEEE/ACM第14届采矿软件存储库国际会议(MSR),第451–454页。内政部:https://doi.org/10.109/MSR.2017.25谷歌学者谷歌学者
  25. Parizi R M(2016)关于软件测试和编码中以人为中心的可追溯性任务的游戏化。参加:IEEE第14届软件工程研究、管理和应用国际会议(SERA)。IEEE,第193-200页。内政部:https://doi.org/10.109/SERA.2016.7516146谷歌学者谷歌学者
  26. 帕里齐RMLee SP公司达巴赫M测试和代码工件之间最先进的软件可追溯性的成就和挑战IEEE Trans Reliab公司201463491392610.1109/TR.2014.2338254https://doi.org/10.109/TR.2014.2338254谷歌学者谷歌学者交叉引用交叉引用
  27. Pinto L S、Sinha S和Orso A(2012)《理解测试套件进化的神话和现实》。摘自:ACM SIGSOFT第20届软件工程基础国际研讨会论文集。内政部:https://doi.org/10.1145/2393596.2393634,第1卷。ACM,第1页谷歌学者谷歌学者
  28. 库塞夫A巴沃塔G奥利维托R露西娅·AD宾克利D通过受控实验评估测试到代码的可追溯性恢复方法J软件进化过程201325111167119110.1002毫米.1573https://doi.org/10.1002/smr.1573谷歌学者谷歌学者交叉引用交叉引用
  29. 库塞夫A巴沃塔G奥利维托R露西娅·AD宾克利D使用切片和文本分析恢复测试到代码的可跟踪性J系统软件20148814716810.1016/j.jss.2013.10.19谷歌学者谷歌学者交叉引用交叉引用
  30. 沙欣M马萨诸塞州巴巴尔朱莉(Zhu L)持续整合、交付和部署:对方法、工具、挑战和做法的系统审查IEEE接入201753909394310.1109/访问2017.2685629谷歌学者谷歌学者交叉引用交叉引用
  31. 苏埃滕斯QD德梅耶S扎伊德曼APérez J公司基于变化的测试选择:一项实证评估Empir软件工程2016215199020322007年10月10日/10664-015-9405-5https://doi.org/10.1007/s10664-015-9405-5谷歌学者谷歌学者数字图书馆数字图书馆
  32. 圣赫勒D霍尔恩·K博世J在大规模持续集成和交付部署、埃菲尔框架的使用和验证中实现可追溯性Empir软件工程2017229679952007年10月10日/10664-016-9457-1谷歌学者谷歌学者数字图书馆数字图书馆
  33. 特劳茨F赫伯德S格拉博夫斯基J单元和集成测试定义对现代Java项目仍然有效吗?开源项目的实证研究J系统软件202015911042110.1016/j.jss.2019.110421谷歌学者谷歌学者数字图书馆数字图书馆
  34. 伦敦大学学院研究伦理委员会(2020)伦敦大学学院的研究伦理。https://ethics.grad.ucl.ac.uk网站/谷歌学者谷歌学者
  35. Van Rompaey B,Demeyer S(2009)建立单元测试用例和被测单元之间的可追溯性链接。摘自:第13届欧洲软件维护和再工程会议。IEEE,第209-218页谷歌学者谷歌学者
  36. Villmow J,Depoix J,Ulges A(2021)竞赛:一个以上下文为特征的单元测试完成基准。在:第一次编程自然语言处理研讨会,第17-25页谷歌学者谷歌学者
  37. Watson C、Tufano M、Moran K、Bavota G、Poshyvanyk D(2020)关于学习单元测试用例的有意义断言语句。参加:首尔第42届国际软件工程会议(ICSE)。内政部:https://doi.org/10.1145/3377811.3380429谷歌学者谷歌学者
  38. White R,Krinke J(2018)TestNMT:测试神经机器翻译的功能。摘自:第四届ACM SIGSOFT软件工程NLP国际研讨会论文集。内政部:https://doi.org/10.1145/3283812.3283823ACM,NL4SE,第30–33页谷歌学者谷歌学者
  39. White R,Krinke J(2020)ReAssert:资产生成的深度学习。arXiv:201109784谷歌学者谷歌学者
  40. White R,Krinke J(2021)TCTracer:使用动态和静态技术建立测试到代码的可追溯性链接——评估数据。内政部:https://doi.org/10.5281/zenodo.5206476谷歌学者谷歌学者
  41. White R,Krinke J,Tan R(2020)建立多级测试到代码的可追溯性链接:第42届国际软件工程会议(ICSE)。ACM公司。内政部:https://doi.org/10.1145/3377811.3380921谷歌学者谷歌学者
  42. 温克勒S冯·皮尔格瑞姆J需求工程和模型驱动开发中的可追溯性综述软件系统模型2010945295652007年10月10日/10270-009-0145-0谷歌学者谷歌学者数字图书馆数字图书馆
  43. 扎伊德曼A范龙佩B范·德森A德梅耶S通过存储库挖掘研究开源和工业开发人员测试过程中生产和测试代码的共同演化Empir软件工程2011163253642007年10月10日/10664-010-9143-7https://doi.org/10.1007/s10664-010-9143-7谷歌学者谷歌学者数字图书馆数字图书馆

索引术语

  1. TCTracer:使用动态和静态技术建立测试到代码的跟踪链接
              索引项已通过自动分类分配给内容。

              建议

              评论

              登录选项

              检查您是否可以通过登录凭据或您的机构访问本文。

              登录

              完全访问权限

              • 文章指标

                • 下载次数(过去12个月)0
                • 下载次数(最近6周)0

                其他指标