Affiliation:
1. Stanford University, Stanford, CA
Abstract
Inconsistency checking is a method for detecting software errors that relies only on examining multiple uses of a value. We propose that inconsistency inference is best understood as a variant of the older and better understood problem of type inference. Using this insight, we describe a precise and formal framework for discovering inconsistency errors. Unlike previous approaches to the problem, our technique for finding inconsistency errors is purely semantic and can deal with complex aliasing and path-sensitive conditions. We have built a nullde reference analysis of C programs based on semantic inconsistency inference and have used it to find hundreds of previously unknown null dereference errors in widely used C programs.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
11 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. MirChecker: Detecting Bugs in Rust Programs via Static Analysis;Proceedings of the 2021 ACM SIGSAC Conference on Computer and Communications Security;2021-11-12
2. RID;ACM SIGPLAN Notices;2016-06-09
3. RID;ACM SIGOPS Operating Systems Review;2016-03-25
4. A Differential Approach to Undefined Behavior Detection;ACM Transactions on Computer Systems;2015-03-11
5. Angelic Verification: Precise Verification Modulo Unknowns;Computer Aided Verification;2015