Regression test selection for TizenRT

Regression test selection for TizenRT
复制标题

TizenRT 的回归测试选择

DOI:
10.1145/3236024.3275527
复制
发表时间:
2018
期刊:
Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering
影响因子:
--
通讯作者:
Gligoric, Milos
Gligoric, Milos
中科院分区:
--
文献类型:
--
作者:
Celik, Ahmet;Lee, Young Chul;Gligoric, Milos

文献摘要

参考文献

被引文献

相似文献

回归测试(代码修改后运行测试)在业界广泛采用,包括三星。回归测试选择 (RTS) 通过跳过不受最近代码更改影响的测试来优化回归测试。最近的工作开发了强大的 RTS 工具,这些工具主要针对托管语言,例如 Java 和 C#,因此不适用于大型 C 项目,例如 TizenRT,一个基于 RTOS 的轻量级平台。我们讨论了开发 Selfection 的关键挑战以及我们的设计决策。 Selfection 使用 objdump 和 readelf 工具从二进制文件静态构建函数的依赖关系图并检测修改的代码元素。我们将 Selfection 集成到 TizenRT 中,并评估了在模拟器和受支持的硬件平台 (ARTIK 053) 上运行测试时其优势。我们使用 GitHub 上提供的 TizenRT 最新 150 个修订版。我们衡量了 Selfection 的好处,即与在每个修订版运行所有测试(即 RetestAll)相比,测试数量的减少和测试执行时间的减少。我们的结果表明,当在模拟器中执行测试时,Selfection 平均可以将测试数量减少至 4.95%,端到端执行时间减少至 7.04%,而当在实际硬件上执行测试时,则分别减少至 5.74% 和 26.82%。我们的结果还表明,维护依赖图和检测修改函数所花费的时间可以忽略不计。
Regression testing - running tests after code modifications - is widely practiced in industry, including at Samsung. Regression Test Selection (RTS) optimizes regression testing by skipping tests that are not affected by recent code changes. Recent work has developed robust RTS tools, which mostly target managed languages, e.g., Java and C#, and thus are not applicable to large C projects, e.g., TizenRT, a lightweight RTOS-based platform.We present Selfection, an RTS tool for projects written in C; we discuss the key challenges to develop Selfection and our design decisions. Selfection uses the objdump and readelf tools to statically build a dependency graph of functions from binaries and detect modified code elements. We integrated Selfection in TizenRT and evaluated its benefits if tests are run in an emulator and on a supported hardware platform (ARTIK 053). We used the latest 150 revisions of TizenRT available on GitHub. We measured the benefits of Selfection as the reduction in the number of tests and reduction in test execution time over running all tests at each revision (i.e., RetestAll). Our results show that Selfection can reduce, on average, the number of tests to 4.95% and end-to-end execution time to 7.04% when tests are executed in the emulator, and to 5.74% and 26.82% when tests are executed on the actual hardware. Our results also show that the time taken to maintain the dependency graph and detect modified functions is negligible.
DOI: --
发表时间: 2014
期刊: International Conference on Automated Software Engineering
影响因子: --
作者:
Miloš Gligorić;Stas Negara;Owolabi Legunsen;D. Marinov
通讯作者: D. Marinov
为 Java 项目构建具有延迟检索的系统
DOI: 10.1145/2950290.2950358
发表时间: 2016
期刊: Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering
影响因子: --
作者:
Ahmet Çelik;Alexander Knaust;Aleksandar Milicevic;Miloš Gligorić
通讯作者: Miloš Gligorić
通过删除类防火墙来改进类防火墙回归测试选择
影响因子: 0.9
作者:
M. Skoglund;P. Runeson
通讯作者: P. Runeson
.NET 的文件级与模块级回归测试选择
DOI: 10.1145/3106237.3117763
发表时间: 2017
期刊: Joint Meeting on Foundations of Software Engineering
影响因子: --
作者:
Vasic, Marko;Parvez, Zuhair;Milicevic, Aleksandar;Gligoric, Milos
通讯作者: Gligoric, Milos