Mining Software Test Histories to Identify Flaky Tests and Model Commit Failure Risk
Mining Software Test Histories to Identify Flaky Tests and Model Commit Failure Risk
批准号:
RGPIN-2020-06807
负责人:
Rigby, Peter
金额:
$2.11万
依托单位:
依托单位国家:
加拿大
项目类别:
Discovery Grants Program - Individual
财政年份:
2021
资助国家:
加拿大
项目状态:
已结题
起止时间:
2021-01-01 至 2022-12-31
中文摘要
点击翻译按钮获取中文摘要
英文摘要
My research begins by listening to the daily struggles of software developers and ultimately provides theoretically based general solutions to common software testing problems. Objective 1, Flaky tests: Flaky software tests fail without identifying a fault and waste developer time and reduce confidence in test outcomes. Flaky tests affect all projects and are particularly damaging on large projects or in complex test environments. The conventional practice is to re-run flaky tests or to quarantine them and require developers to fix them. However, I have observed that flaky tests have varying degrees of flakiness. For example, a test that has a flaky failure 1 in 100 runs is more reliable than a test that has 10 flaky failures 100 runs. By quantifying the historical FlakeRate, e.g. 10/100, we can use statistical tests to determine when a test is failing at its normal FlakeRate, 10%, or when it FlakeRate has changed, indicating instability and a potential product fault. My objective is to quantify the degree of test flakiness from prior runs and statistically identify changes in the FlakeRate as indications that a test has become unstable. Tool support will allow developers to rank tests by FlakeRate instability. This should reduce investigation effort because flaky failures that do not have a statistically significant corresponding change in FlakeRate are stable and less likely to need investigation. Objective 2, Commit failure risk: A common development practice is to test each commit individually to isolate immediately the commit that caused a test failure. Since most tests do not fail and most commits pass all tests, we propose to batch commits based on how likely a commit is to contain a failing test. A batch that contains 10 commits, will require 1 run of the test suite saving 9 executions over the test-all-passing scenario. However, on failure, a bisection process will require additional runs. We will adapt commit risk models that identify bug-introducing changes to the context of selecting low risk commits to be included in large batches and high risk commits that should be tested individually. The adaption and development of these statistical approaches is complex and evaluating them in production CI environments requires systematic rigor. Objective 3, Generalize and Tools: In the long-term, I will increase the use of software analytics by software testers and developers by simulating and demonstrating improved efficiency in a wide range of software environments. In my experience developers have a single focus of reducing faults and releasing software on time. This focus has limited the use of mining and analytics in practice. By focusing on developer problems, I have been able to and will continue to provide general solutions to time consuming, unpleasant, and expensive development problems.
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
Mining Software Test Histories to Identify Flaky Tests and Model Commit Failure Risk
-
批准号:RGPIN-2020-06807
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$2.11万
-
财政年份:2022
-
负责人:Rigby, Peter
-
依托单位:
Mining Software Test Histories to Identify Flaky Tests and Model Commit Failure Risk
-
批准号:RGPIN-2020-06807
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$2.11万
-
财政年份:2020
-
负责人:Rigby, Peter
-
依托单位:
Contemporary Software Peer Review: Modern practices, fault prediction, and extraction of design decisions
-
批准号:435674-2013
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$1.82万
-
财政年份:2019
-
负责人:Rigby, Peter
-
依托单位:
Contemporary Software Peer Review: Modern practices, fault prediction, and extraction of design decisions
-
批准号:435674-2013
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$1.82万
-
财政年份:2018
-
负责人:Rigby, Peter
-
依托单位:
Test Effectiveness, Localization, Prioritization, and Risk in Ericssons's Complex Test Environment
-
批准号:502012-2016
-
项目类别:Collaborative Research and Development Grants
-
资助金额:$4.32万
-
财政年份:2018
-
负责人:Rigby, Peter
-
依托单位:
Contemporary Software Peer Review: Modern practices, fault prediction, and extraction of design decisions
-
批准号:435674-2013
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$1.82万
-
财政年份:2017
-
负责人:Rigby, Peter
-
依托单位:
Test Effectiveness, Localization, Prioritization, and Risk in Ericssons's Complex Test Environment
-
批准号:502012-2016
-
项目类别:Collaborative Research and Development Grants
-
资助金额:$4.32万
-
财政年份:2017
-
负责人:Rigby, Peter
-
依托单位:
Test Effectiveness, Localization, Prioritization, and Risk in Ericssons's Complex Test Environment
-
批准号:502012-2016
-
项目类别:Collaborative Research and Development Grants
-
资助金额:$4.32万
-
财政年份:2016
-
负责人:Rigby, Peter
-
依托单位:
Test Prioritization and Localization at Ericsson
-
批准号:485041-2015
-
项目类别:Engage Grants Program
-
资助金额:$1.82万
-
财政年份:2015
-
负责人:Rigby, Peter
-
依托单位:
The Impact of Disruptive Events on Software Systems
-
批准号:445741-2012
-
项目类别:Department of National Defence / NSERC Research Partnership
-
资助金额:$0.63万
-
财政年份:2014
-
负责人:Rigby, Peter
-
依托单位:
Contemporary Software Peer Review: Modern practices, fault prediction, and extraction of design decisions
-
批准号:435674-2013
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$1.82万
-
财政年份:2014
-
负责人:Rigby, Peter
-
依托单位:
The Impact of Disruptive Events on Software Systems
-
批准号:445741-2012
-
项目类别:Department of National Defence / NSERC Research Partnership
-
资助金额:$0.63万
-
财政年份:2013
-
负责人:Rigby, Peter
-
依托单位:
Contemporary Software Peer Review: Modern practices, fault prediction, and extraction of design decisions
-
批准号:435674-2013
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$1.82万
-
财政年份:2013
-
负责人:Rigby, Peter
-
依托单位:
The Impact of Disruptive Events on Software Systems
-
批准号:445741-2012
-
项目类别:Department of National Defence / NSERC Research Partnership
-
资助金额:$0.63万
-
财政年份:2012
-
负责人:Rigby, Peter
-
依托单位:
Experimental Comparison of and Tool Support for Open Source and Traditional Code Review
-
批准号:333761-2006
-
项目类别:Alexander Graham Bell Canada Graduate Scholarships - Doctoral
-
资助金额:$2.55万
-
财政年份:2008
-
负责人:Rigby, Peter
-
依托单位:
Experimental Comparison of and Tool Support for Open Source and Traditional Code Review
-
批准号:333761-2006
-
项目类别:Alexander Graham Bell Canada Graduate Scholarships - Doctoral
-
资助金额:$2.55万
-
财政年份:2007
-
负责人:Rigby, Peter
-
依托单位:
Experimental Comparison of and Tool Support for Open Source and Traditional Code Review
-
批准号:333761-2006
-
项目类别:Alexander Graham Bell Canada Graduate Scholarships - Doctoral
-
资助金额:$2.55万
-
财政年份:2006
-
负责人:Rigby, Peter
-
依托单位:
海外基金