Efficiently Finding Data Flow Subsumptions
Main Authors: | Chaim, Marcos Lordello, Baral, Kesina, Offutt, Jeff, Concilio Neto, Mario, Araujo, Roberto Paulo Andrioli de |
---|---|
Format: | info Proceeding Journal |
Terbitan: |
, 2021
|
Subjects: | |
Online Access: |
https://zenodo.org/record/4660663 |
Daftar Isi:
- 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, DU-association) is covered, other DU-associations are guaranteed to also be covered. This relationship is called subsumption. Thus, testers can save re- sources 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, finding subsumption among DU-associations is quite difficult. Previous solutions are costly and contain subtle flaws that sometimes lead to incorrect results. We model the data flow testing subsumption as a data flow analysis framework, allowing us to use efficient algorithms that quickly discover data flow subsumption relationships. Experimental data suggest that the framework and algorithm can reduce the cost of data flow testing and will work at scale.