Abstract
Abstract interpretation is a formal method that enables the static determination (i.e. at compile-time) of the dynamic properties (i.e. at run-time) of programs. We present an abstract interpretation-based method, called
abstract debugging
, which enables the static and formal debugging of programs, prior to their execution, by finding the origin of potential bugs as well as necessary conditions for these bugs not to occur at run-time. We show how
invariant assertions
and
intermittent assertions
, such as termination, can be used to formally debug programs. Finally, we show how abstract debugging can be effectively and efficiently applied to higher-order imperative programs with exceptions and jumps to non-local labels, and present the
Syntox
system that enables the abstract debugging of the
Pascal
language by the determination of the range of the scalar variables of programs.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference24 articles.
1. Alfred V. Aho Ravi Sethi and Jeffrey D. Ullman: "Compilers m Principles Techniques and Tools" Addison-Wesley Publishing Company (1986) Alfred V. Aho Ravi Sethi and Jeffrey D. Ullman: "Compilers m Principles Techniques and Tools" Addison-Wesley Publishing Company (1986)
2. An efficient way to find the side effects of procedure calls and the aliases of variables
3. Abstract interpretation by dynamic partitioning
4. Franqois Bourdoncle: "Sdmantiques des langages impdratifs d'ordre sup~rieur et interpretation abstraite" Ph.D. dissertation Ecole Polytechnique (1992) Franqois Bourdoncle: "Sdmantiques des langages impdratifs d'ordre sup~rieur et interpretation abstraite" Ph.D. dissertation Ecole Polytechnique (1992)
Cited by
35 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献