On subsumption relationships in data flow testing

SOFTWARE TESTING VERIFICATION & RELIABILITY(2023)

引用 0|浏览3
暂无评分
摘要
Data flow testing creates test requirements as definition-use (DU) associations, where a definition is a program location that assigns a value to a variable and a use is a location where that value is accessed. Data flow testing is expensive, largely because of the number of test requirements. Luckily, many DU-associations are redundant in the sense that if one test requirement (e.g. node, edge and DU-association) is covered, other DU-associations are guaranteed to also be covered. This relationship is called subsumption. Thus, testers can save resources by only covering DU-associations that are not subsumed by other testing requirements. Although this has the potential to significantly decrease the cost of data flow testing, there are roadblocks to its application. Finding data flow subsumptions correctly and efficiently has been an elusive goal; the savings provided by data flow subsumptions and the cost to find them need to be assessed; and the fault detection ability of a reduced set of DU-associations and the advantages of data flow testing over node and edge coverage need to be verified. This paper presents novel solutions to these problems. We present algorithms that correctly find data flow subsumptions and are asymptotically less costly than previous algorithms. We present empirical data that show that data flow subsumption is effective at reducing the number of DU-associations to be tested and can be found at scale. Furthermore, we found that using reduced DU-associations decreased the fault detection ability by less than 2%, and data flow testing adds testing value beyond node and edge coverage.
更多
查看译文
关键词
algorithms,data flow analysis frameworks,data flow testing,empirical analysis,software testing,structural testing,subsumption relationship
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要