Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
An integrated approach to software engineering
An integrated approach to software engineering
Static detection of dynamic memory errors
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
A static analyzer for finding dynamic programming errors
Software—Practice & Experience
Visualization of test information to assist fault localization
Proceedings of the 24th International Conference on Software Engineering
Using Runtime Analysis to Guide Model Checking of Java Programs
Proceedings of the 7th International SPIN Workshop on SPIN Model Checking and Software Verification
Cooperative bug isolation
Program partitioning: a framework for combining static and dynamic analysis
Proceedings of the 2006 international workshop on Dynamic systems analysis
Comparative study of partitioning methods for program testing
SEA '07 Proceedings of the 11th IASTED International Conference on Software Engineering and Applications
Scaling abstraction refinement via pruning
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
CodeCover: enhancement of CodeCover
ACM SIGSOFT Software Engineering Notes
Hi-index | 0.00 |
Soundness and completeness are two primary concerns of a static analysis tool for finding defects in software. Exhaustive static analysis of the program through all paths is not always possible, especially for a large software causing incompleteness in the analysis. Also, exhaustive testing of the program to detect all bugs is not possible. In this work, we describe a technique which uses coverage data from testing to remove the tested paths and then statically analyzes the remaining code. This pruning of tested paths allows a static analyzer to perform a more thorough analysis of the reduced code, thereby improving its effectiveness. This work is a step towards integration of static analysis and testing frameworks. The proposed technique is applied with a few static analyzers publicly available. Our experience shows that the approach results in lesser false positives as well as detection of more serious errors which might have gone unnoticed otherwise.