Certain software testing techniques such as mutation testing are often not utilized due to the relatively high proportion of testing activity that is not deemed useful. Such techniques can benefit from identification of high-value code. This disclosure describes the classification of different parts of a codebase into high and low value code. The techniques utilize an abstract syntax tree (AST) generated from the codebase on which predefined heuristics are applied to identify low-value code. A propagation algorithm is applied to mark low value branches. Additionally, machine learning techniques are applied to classify portions of code as high or low value. By restricting mutation testing (or other testing activity) to high-value portions of code, testing can be conducted such that a high proportion of testing activity is of value in uncovering flaws.

Creative Commons License

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 License.