Affiliation:
1. MIT Laboratory for Computer Science
Abstract
Many important classes of bugs result from invalid assumptions about the results of functions and the values of parameters and global variables. Using traditional methods, these bugs cannot be detected efficiently at compile-time, since detailed cross-procedural analyses would be required to determine the relevant assumptions. In this work, we introduce annotations to make certain assumptions explicit at interface points. An efficient static checking tool that exploits these annotations can detect a broad class of errors including misuses of null pointers, uses of dead storage, memory leaks, and dangerous aliasing. This technique has been used successfully to fix memory management problems in a large program.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
29 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Program Repair Guided by Datalog-Defined Static Analysis;Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering;2023-11-30
2. Towards a Technique to Detect Weaknesses in C Programs;Brazilian Symposium on Software Engineering;2021-09-27
3. Characterizing the Usage, Evolution and Impact of Java Annotations in Practice;IEEE Transactions on Software Engineering;2021-05-01
4. Type Inference for C;ACM Transactions on Programming Languages and Systems;2020-12
5. Sound garbage collection for C using pointer provenance;Proceedings of the ACM on Programming Languages;2020-11-13