ABSTRACT
For higher quality software, static analysis and dynamic analysis should be used in a complementary manner. In this work, we explore the concept of partitioning a program such that the partitions can be analyzed separately. With such partitioning, potentially different analysis techniques can be applied to different program partitions, with each analysis having to deal with reduced code which can increase its effectiveness. Our experiments show that partitioning can indeed increase the effectiveness of static analysis. Our initial experience in using testing data for partitioning and applying static analysis only on the complementary partition, indicates that it results in detection of more errors which might have gone unnoticed otherwise.
- W. R. Bush, J. D. Pincus, and D. J. Sielaff. A static analyzer for finding dynamic programming errors. Software Practice and Experience, 30(7):775--802, 2000. Google ScholarDigital Library
- J. C. Corbett, M. B. Dwyer, J. Hatcliff, S. Laubach, C. S. Puasuareanu, Robby, and H. Zheng. Bandera: Extracting finite-state models from java source code. In International Conference on Software Engineering, pages 439--448, 2000. Google ScholarDigital Library
- Cyrelli Artho. Jlint homepage: http://artho.com/jlint.Google Scholar
- D. Cok and J. Kiniry. Esc java homepage: http://www.cs.kun.nl/sos/research/escjava/index.html.Google Scholar
- H. C. Drew and D. Wagner. Model checking one million lines of c code. In Network and Distributed System Security, NDSS 2004.Google Scholar
- M. Ernst. Static and dynamic analysis: Synergy and duality. In In ICSE Workshop on Dynamic Analysis WODA, 2003. Google ScholarDigital Library
- D. Evans. Static detection of dynamic memory errors. In SIGPLAN Conference on Programming Language Design and Implementation (PLDI '96), 1996. Google ScholarDigital Library
- D. Hamlet and R. Taylor. Partition testing does not inspire confidence (program testing). IEEE Trans. Softw. Eng., 16(12):1402--1411, 1990. Google ScholarDigital Library
- K. Havelund. Using runtime analysis to guide model checking of java programs. In SPIN, pages 245--264, 2000. Google ScholarDigital Library
- D. Hovemeyer. Findbugs homepage: http://findbugs.sourceforge.net/.Google Scholar
- D. Hovemeyer and W. Pugh. Finding bugs is easy. In OOPSLA 2004, 2004. Google ScholarDigital Library
- Sourceforge. Pmd homepage: http://pmd.sourceforge.net/.Google Scholar
- V. Vipindeep and P. Jalote. Transforming programs to allow static analysis to do better, MTech Thesis, IIT Kanpur.Google Scholar
- V. Vipindeep and P. Jalote. Efficient static analysis with path pruning using coverage data. In ICSE-Workshop on Dynamic Analysis, WODA, 2005. Google ScholarDigital Library
- Y. Xie and D. Engler. Using redundancies to find errors. SIGSOFT Softw. Eng. Notes, 27(6):51--60, 2002. Google ScholarDigital Library
Index Terms
- Program partitioning: a framework for combining static and dynamic analysis
Recommendations
Comparative study of partitioning methods for program testing
SEA '07: Proceedings of the 11th IASTED International Conference on Software Engineering and ApplicationsStatic analysis and Dynamic analysis are two common techniques used for detecting bugs in a system. Neither static nor dynamic analysis is individually known to be able to exhaustively analyze all paths in a program in order to find bugs. There is a ...
Combined Static and Dynamic Analysis
Static analysis is usually faster than dynamic analysis but less precise. Therefore it is often desirable to retain information from static analysis for run-time verification, or to compare the results of both techniques. However, this requires writing ...
Why is dynamic analysis not used as extensively as static analysis: an industrial study
SER&IPs 2014: Proceedings of the 1st International Workshop on Software Engineering Research and Industrial PracticesCode Assessments using static and dynamic analyses are important for the maintenance of code quality of software in the industry. These analyses, though understood to be beneficial, have several practical limitations. The intent of our study was to ...
Comments