2019 · 10 citations · 19 references
ComputingComputer EngineeringComputer ScienceFault-tolerant ComputingSoftware EngineeringVulnerability AnalysisControl-flow AnalysisData-flow AnalysisError DetectionError HandlingSoftware TestingSoftware Vulnerability DiscoveryAutomated Bug FindingContext-sensitive AnalysisFlow AnalysisProgramming Software ErrorsReturn Value CheckingRuntime Error DetectionSpecification-based Vulnerability DetectionStatic Error Analysis
Error-handling code responds to the occurrence of runtime errors. Failure to correctly handle errors can lead to security vulnerabilities and data loss. This paper deals with error handling in software written in C that uses the return-code idiom: the presence and type of error is encoded in the return value of a function. This paper describes EESI, a static analysis that infers the set of values that a function can return on error. Such a function error-specification can then be used to identify bugs related to incorrect error handling. The key insight of EESI is to bootstrap the analysis with domain knowledge related to error handling provided by a developer. EESI uses a combination of intraprocedural, flow-sensitive analysis and interprocedural, context-insensitive analysis to ensure precision and scalability. We built a tool ECC to demonstrate how the function error-specifications inferred by EESI can be used to automatically find bugs related to incorrect error handling. ECC detected 246 bugs across 9 programs, of which 110 have been confirmed. ECC detected 220 previously unknown bugs, of which 99 are confirmed. Two patches have already been merged into OpenSSL.
19
Off-the-record communication, or, why not to use PGP
Nikita Borisov, Ian Goldberg · 2004 · 267 citations
Finding and preventing run-time error handling mistakes
Westley Weimer, George C. Necula · 2004 · 139 citations
Vijayan Prabhakaran, Lakshmi N. Bairavasundaram, Nitin Agrawal et al. · 2005 · 137 citations
Mining exception-handling rules as sequence association rules
Suresh Thummalapenta, Tao Xie · 2009 · 135 citations
Automatic documentation inference for exceptions
Raymond P.L. Buse, Westley Weimer · 2008 · 124 citations