Reducing the Overhead of Dynamic Analysis

作者: Suan Hsi Yong , Susan Horwitz

DOI: 10.1016/S1571-0661(04)80583-8

关键词: Overhead (computing)Static analysisDebuggingInstrumentation (computer programming)Code (cryptography)Embedded systemReal-time computingComputer scienceDynamic program analysis

摘要: Abstract Dynamic analysis (instrumenting programs with code to detect and preven errors during program execution) can be an effective approach debugging, as well means prevent harm being caused by malicious code. One problem this is the runtime overhead introduced instrumentation. We define several techniques that involve using results of static identify some cases where instrumentation safely removed. While we have designed a specific dynamic in mind (that used Runtime Type-Checking tool), ideas may more general applicability.

参考文章(18)
Eric A. Brewer, Alexander Aiken, David A. Wagner, Jeffrey S. Foster, A First Step Towards Automated Detection of Buffer Overrun Vulnerabilities. network and distributed system security symposium. ,(2000)
Alexey Loginov, Suan Hsi Yong, Susan Horwitz, Thomas Reps, Debugging via Run-Time Type Checking fundamental approaches to software engineering. pp. 217- 232 ,(2001) , 10.1007/3-540-45314-8_16
James Cheney, Michael W. Hicks, Yanling Wang, Dan Grossman, J. Greg Morrisett, Trevor Jim, Cyclone: A Safe Dialect of C usenix annual technical conference. pp. 275- 288 ,(2002)
Todd M. Austin, Scott E. Breach, Gurindar S. Sohi, Efficient detection of all pointer and array access errors programming language design and implementation. ,vol. 29, pp. 290- 301 ,(1994) , 10.1145/178243.178446
Norihisa Suzuki, Kiyoshi Ishihata, Implementation of an array bound checker Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages - POPL '77. pp. 132- 143 ,(1977) , 10.1145/512950.512963
HARISH PATIL, CHARLES FISCHER, Low-cost, concurrent checking of pointer and array accesses in C programs Software - Practice and Experience. ,vol. 27, pp. 87- 110 ,(1997) , 10.1002/(SICI)1097-024X(199701)27:1<87::AID-SPE78>3.0.CO;2-P
Michael Siff, Satish Chandra, Thomas Ball, Krishna Kunchithapadam, Thomas Reps, Coping with type casts in C foundations of software engineering. ,vol. 24, pp. 180- 198 ,(1999) , 10.1145/318774.318942
Rajiv Gupta, Optimizing array bound checks using flow analysis ACM Letters on Programming Languages and Systems. ,vol. 2, pp. 135- 150 ,(1993) , 10.1145/176454.176507
Suan Hsi Yong, Susan Horwitz, Thomas Reps, Pointer analysis for programs with structures and casting Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation - PLDI '99. ,vol. 34, pp. 91- 103 ,(1999) , 10.1145/301618.301647
Manuvir Das, Unification-based pointer analysis with directional assignments Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation - PLDI '00. ,vol. 35, pp. 35- 46 ,(2000) , 10.1145/349299.349309