DSpot:用于自动评估计算多样性的测试放大
DSpot: Test Amplification for Automatic Assessment of Computational Diversity
摘要:
上下文:计算多样性,即,一组程序的存在对于容错和安全性是必不可少的,所述程序都执行兼容的服务,但是在某些条件下表现出行为差异。目的:我们的目的是提出一种自动评估的计算多样性的存在。在这项工作中,计算上不同的变体被定义为(i)共享相同的API,(ii)根据基于输入输出的规范(测试套件)表现相同,以及(iii)当它们在指定的输入空间之外运行时表现出可观察到的差异。方法:我们的技术依赖于测试放大。我们提出了测试用例的源代码转换,以探索输入域和系统地感测观察域。我们将计算多样性量化为指定域之外的输入上的观测之间的相异性。结果:我们在来自开源、大型和经过全面测试的Java类的7个类的472个变体上运行了我们的实验。我们的测试放大乘以10测试套件中的输入点的数量,是有效的检测软件的多样性。结论:这项研究的主要见解是:系统地探索类的可观察输出空间,提供了关于其封装程度的新见解;我们观察到的行为多样性源于代码的灵活性(缓存,检查,格式化等)。
英文摘要:
Context: Computational diversity, i.e., the presence of a set of programs that all perform compatible services but that exhibit behavioral differences under certain conditions, is essential for fault tolerance and security. Objective: We aim at proposing an approach for automatically assessing the presence of computational diversity. In this work, computationally diverse variants are defined as (i) sharing the same API, (ii) behaving the same according to an input-output based specification (a test-suite) and (iii) exhibiting observable differences when they run outside the specified input space. Method: Our technique relies on test amplification. We propose source code transformations on test cases to explore the input domain and systematically sense the observation domain. We quantify computational diversity as the dissimilarity between observations on inputs that are outside the specified domain. Results: We run our experiments on 472 variants of 7 classes from open-source, large and thoroughly tested Java classes. Our test amplification multiplies by ten the number of input points in the test suite and is effective at detecting software diversity. Conclusion: The key insights of this study are: the systematic exploration of the observable output space of a class provides new insights about its degree of encapsulation; the behavioral diversity that we observe originates from areas of the code that are characterized by their flexibility (caching, checking, formatting, etc.).
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。