Towards a better understanding of testing if conditionals
Shimul Kumar Nath, Robert Merkel, Man Fai Lau, Tanay Kanti Paul

TL;DR
This paper empirically analyzes 'if-conditional' bug fixes in open source software, classifying fault types and frequencies to inform better testing strategies for conditional statements.
Contribution
It introduces a detailed classification of 'if-conditional' faults into fourteen classes and provides empirical data on their frequencies, supporting more targeted testing.
Findings
Most common fault: changes within a single 'atom'
Second most common fault: omission of an 'atom'
Results inform Boolean specification testing strategies
Abstract
Fault based testing is a technique in which test cases are chosen to reveal certain classes of faults. At present, testing professionals use their personal experience to select testing methods for fault classes considered the most likely to be present. However, there is little empirical evidence available in the open literature to support these intuitions. By examining the source code changes when faults were fixed in seven open source software artifacts, we have classified bug fix patterns into fault classes, and recorded the relative frequencies of the identified fault classes. This paper reports our findings related to "if-conditional" fixes. We have classified the "if-conditional" fixes into fourteen fault classes and calculated their frequencies. We found the most common fault class related to changes within a single "atom". The next most common fault was the omission of an "atom".…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Software Engineering Research · Software Reliability and Analysis Research
