Infeasible execution paths reduce the precision of structural testing coverage and limit the industrial applicability of structural testing criteria. In this paper, we propose a technique that combines static and dynamic analysis approaches to identify infeasible program elements that can be eliminated from the computation of structural coverage to obtain accurate coverage data. The main novelty of the approach stems from its ability to identify a relevant number of infeasible elements, that is, elements that belong statically to the code, but cannot be executed under any input condition. The technique can also generate new test cases that execute uncovered elements, thus increasing the structural coverage of the program. The experimental results obtained on a prototype implementation for computing accurate branch coverage and reported in this paper indicate that the technique can effectively improve structural coverage measurements and can thus increase the industrial applicability of complex structural coverage criteria.
|Citazione:||Baluda, M., Braione, P., Denaro, G., & Pezzè, M. (2010). Structural Coverage of Feasible Code. In Proceedings of the Fifth International Workshop on Automation of Software Test (pp.59-66). ACM.|
|Carattere della pubblicazione:||Scientifica|
|Titolo:||Structural Coverage of Feasible Code|
|Autori:||Baluda, M; Braione, P; Denaro, G; Pezzè, M|
|Data di pubblicazione:||2010|
|Nome del convegno:||5th International Workshop on Automation of Software Test (AST 2010)|
|Appare nelle tipologie:||02 - Intervento a convegno|