咨询与建议

看过本文的还看了

相关文献

该作者的其他文献

文献详情 >Differences between a static a... 收藏

Differences between a static and a dynamic test-to-code traceability recovery method

静电干扰和一个动态 test-to-code 可描绘恢复方法之间的差别

作     者:Gergely, Tamas Balogh, Gergo Horvath, Ferenc Vancsics, Bela Beszedes, Arpad Gyimothy, Tibor 

作者机构:Univ Szeged Dept Software Engn Szeged Hungary Univ Szeged MTA SZTE Res Grp Artificial Intelligence Szeged Hungary 

出 版 物:《SOFTWARE QUALITY JOURNAL》 (软件质量杂志)

年 卷 期:2019年第27卷第2期

页      面:797-822页

核心收录:

学科分类:08[工学] 0835[工学-软件工程] 0812[工学-计算机科学与技术(可授工学、理学学位)] 

基  金:Janos Bolyai Research Scholarship of the Hungarian Academy of Sciences [EFOP3.6.3-VEKOP-16-2017-0002] European Social Fund 

主  题:Test-to-code traceability Traceability link recovery Unit testing Code coverage Structural test smells Refactoring 

摘      要:Recovering test-to-code traceability links may be required in virtually every phase of development. This task might seem simple for unit tests thanks to two fundamental unit testing guidelines: isolation (unit tests should exercise only a single unit) and separation (they should be placed next to this unit). However, practice shows that recovery may be challenging because the guidelines typically cannot be fully followed. Furthermore, previous works have already demonstrated that fully automatic test-to-code traceability recovery for unit tests is virtually impossible in a general case. In this work, we propose a semi-automatic method for this task, which is based on computing traceability links using static and dynamic approaches, comparing their results and presenting the discrepancies to the user, who will determine the final traceability links based on the differences and contextual information. We define a set of discrepancy patterns, which can help the user in this task. Additional outcomes of analyzing the discrepancies are structural unit testing issues and related refactoring suggestions. For the static test-to-code traceability, we rely on the physical code structure, while for the dynamic, we use code coverage information. In both cases, we compute combined test and code clusters which represent sets of mutually traceable elements. We also present an empirical study of the method involving 8 non-trivial open source Java systems.

读者评论 与其他读者分享你的观点

用户名:未登录
我的评分