Explorative Test Oracle Generation
Explorative Test Oracle Generation
批准号:
EP/K030353/1
负责人:
Gordon Fraser
金额:
$11.81万
依托单位:
依托单位国家:
英国
项目类别:
Research Grant
财政年份:
2014
资助国家:
英国
项目状态:
已结题
起止时间:
2014 至 --
中文摘要
点击翻译按钮获取中文摘要
英文摘要
Testing is a crucial part of any software development process. Testing is also very expensive: Common estimations list the effort of software testing at 50% of the average budget. Our society increasingly depends on a working information infrastructure for more and more aspects of civic, commercial, and social life, while software at the same time becomes ever more complex. For example, a modern car has up to 100 million lines of software code, and software errors can easily lead to fatal consequences. Improving techniques to identify errors in software is therefore of utmost importance.Manual testing is common practice in software development. As manually testing a program is a laborious and error prone task, automation is desirable. However, automation requires the user to specify the correct behaviour up-front in terms of a specification, or later by adding test oracles to automatically generated tests - both alternatives are difficult. This problem is obliterated as test quality is usually measured with oracle-agnostic code coverage metrics. In truth, however, a test without a good oracle cannot find software bugs. This is the oracle problem, one of the longest standing and greatest remaining challenges in software testing.As both writing specifications and writing test oracles is difficult and needs to be done manually, this proposal aims to push automation further by exploring the middle ground: The novel concept of an oracle template allows to specify what should be tested and checked, but crucially, it does not require specifying the expected behaviour. Instead, automated test generation instantiates user-specified oracle templates to concrete tests with oracles, and the developer decides case by case about correctness. Thus, programs can be tested without the developer needing to write a specification or having to suffer through seemingly purposeless generated tests. Because test generation is driven by oracles, all tests have a purpose and the essential oracles required to be effective at finding software bugs.The novel concept of oracle templates requires extension of the current state of the art in test generation, as current techniques either assume the existence of an automated oracle (e.g. a specification) or focus exclusively on the code. This creates three challenges, which will be addressed in this project:-- Existing code-based testing techniques focus on reaching points in the code. This project will define the concept of oracle templates, and will explore test generation based on oracle templates as a search problem. Given an oracle template, search-based testing techniques will automatically create instances, which are test cases with oracles.-- Systematic testing is traditionally driven by the idea that a good test set covers all the code, which completely ignores the test oracle problem. This project will define systematic criteria and corresponding search-based test generation techniques to thoroughly test programs based on oracle templates. These criteria will ensure coverage of oracle templates, but will also ensure that the code is executed and checked by oracles (e.g. by applying mutation and data-flow analysis).-- It is impossible to take the human out of the software testing loop completely. Oracle templates are an attempt at minimizing the human effort, but the task of writing oracle templates still requires manual effort. Therefore, this project will explore strategies to automatically synthesise oracle templates based on standard testing patterns and usage examples. Ultimately, a developer would have all tests and oracles generated automatically on the click of a button, leaving only the task of confirming correctness of the produced examples.The success in addressing these challenges will be measured using automated experiments, controlled studies with student subjects, and industrial case studies at Google and Microsoft.
期刊论文(10)
专著(0)
科研奖励(0)
会议论文
登录
查看更多内容
Search-Based Software Engineering - 7th International Symposium, SSBSE 2015, Bergamo, Italy, September 5-7, 2015, Proceedings
基于搜索的软件工程 - 第七届国际研讨会,SSBSE 2015,意大利贝加莫,2015 年 9 月 5-7 日,会议记录
DOI:
10.1007/978-3-319-22183-0_16
发表时间:
2015
期刊:
影响因子:
--
作者:
[Campos J]
通讯作者:
Campos J
DOI:
10.1145/2699688
发表时间:
2015-09
期刊:
ACM Transactions on Software Engineering and Methodology (TOSEM)
影响因子:
--
作者:
[G. Fraser;Matthew Staats;Phil McMinn;Andrea Arcuri;F. Padberg]
通讯作者:
G. Fraser;Matthew Staats;Phil McMinn;Andrea Arcuri;F. Padberg
DOI:
10.1016/j.jss.2014.05.032
发表时间:
2015-05
期刊:
J. Syst. Softw.
影响因子:
--
作者:
[G. Fraser;Andrea Arcuri;Phil McMinn]
通讯作者:
G. Fraser;Andrea Arcuri;Phil McMinn
Generating TCP/UDP network data for automated unit test generation
生成 TCP/UDP 网络数据以自动生成单元测试
DOI:
10.1145/2786805.2786828
发表时间:
2015
期刊:
影响因子:
--
作者:
[Arcuri A]
通讯作者:
Arcuri A
DOI:
10.1145/2642937.2642986
发表时间:
2014-09
期刊:
Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering
影响因子:
--
作者:
[Andrea Arcuri;G. Fraser;Juan P. Galeotti]
通讯作者:
Andrea Arcuri;G. Fraser;Juan P. Galeotti
共 6 条
GReaTest: Growing Readable Software Tests
-
批准号:EP/N023978/2
-
项目类别:Research Grant
-
资助金额:$25.49万
-
财政年份:2018
-
负责人:Gordon Fraser
-
依托单位:
GReaTest: Growing Readable Software Tests
-
批准号:EP/N023978/1
-
项目类别:Research Grant
-
资助金额:$65.86万
-
财政年份:2016
-
负责人:Gordon Fraser
-
依托单位:
国内基金
海外基金
登录
查看更多内容
数字化生态赋能TEST融合型翻译人才培养模型构建与指标体系研究
-
批准号:2023JJ50396
-
项目类别:省市级项目
-
资助金额:--
-
批准年份:2023
-
负责人:张薇
-
依托单位:
基于“Design-Build-Test”循环策略的新型紫色杆菌素组合生物合成研究
-
批准号:
-
项目类别:省市级项目
-
资助金额:--
-
批准年份:2021
-
负责人:
-
依托单位:
基于广义测量的多体量子态self-test的实验研究
-
批准号:12104186
-
项目类别:青年科学基金项目(C类)
-
资助金额:30.0万元
-
批准年份:2021
-
负责人:边志浩
-
依托单位:
破解高质量低费用确定型test-per-clock测试难题的新方法
-
批准号:61804037
-
项目类别:青年科学基金项目
-
资助金额:24.0万元
-
批准年份:2018
-
负责人:刘铁桥
-
依托单位:
基于Martingale-test理论的无监督人体行为分类算法研究
-
批准号:61403232
-
项目类别:青年科学基金项目
-
资助金额:25.0万元
-
批准年份:2014
-
负责人:卢国梁
-
依托单位: