See this document in CiteSeerX!

Dynamically Discovering Likely Program Invariants to Support Program Evolution (2000)  (Make Corrections)  (171 citations)
Michael D. Ernst, Jake Cockrell, William G. Griswold, David Notkin
International Conference on Software Engineering



  Home/Search   Context   Related

 
View or download:
washington.edu/hom...variantstse.ps.gz
Cached:  PS.gz  PS  PDF   Image  Update  Help

From:  washington.edu/homes/mernst/pu... (more)
(Enter author homepages)

Rate this article: (best)
  Comment on this article  
(Enter summary)

Abstract: Explicitly stated program invariants can help programmers by identifying program properties that must be preserved when modifying code. In practice, however, these invariants are usually implicit. An alternative to expecting programmers to fully annotate code with invariants is to automatically infer likely invariants from the program itself. This research focuses on dynamic techniques for discovering invariants from execution traces. This article reports three results. First, it describes... (Update)

Cited by:   More
Characterising, Explaining, and Exploiting the.. - Binkley, Harman, Krinke (2006)   (Correct)
Profiling Deployed Software: Assessing Strategies and Testing.. - Elbaum, Diep (2005)   (Correct)
Scalable Statistical Bug Isolation - Ben Liblit Computer (2005)   (Correct)

Similar documents (at the sentence level):
25.6%:   Dynamically Discovering Likely Program Invariants - Ernst (2000)   (Correct)
14.7%:   Dynamically Discovering Likely Program Invariants to .. - Ernst, Cockrell.. (1999)   (Correct)

Active bibliography (related documents):   More   All
1.1:   Research Summary for Dynamic Detection of Program Invariants - Ernst (1999)   (Correct)
0.7:   Automatic Generation and Checking of Program Specifications - Nimmer (2001)   (Correct)
0.7:   Dynamically Discovering Program Invariants Involving.. - Ernst, Griswold.. (2000)   (Correct)

Similar documents based on text:   More   All
0.4:   Automated Support for Program Refactoring using Invariants - Yoshio Kataoka Michael (2001)   (Correct)
0.4:   Exploiting Synergy Between Testing and Inferred Partial.. - Xie, Notkin (2003)   (Correct)
0.3:   Verifying Distributed Algorithms via Dynamic Analysis and.. - Win, Ernst (2002)   (Correct)

Related documents from co-citation:   More   All
20:   Quickly detecting relevant program invariants - Ernst, Czeisler et al. - 1999
19:   Tracking Down Software Bugs Using Automatic Anomaly Detection - Hangal, Lam - 2002
16:   annotation assistant escjava (context) - Rustan, an et al. - 2001

BibTeX entry:   (Update)

Michael Ernst, Jake Cockrell, William G. Griswold, and David Notkin. Dynamically Discovering Likely Program Invariants to Support Program Evolution. Proceedings of the 19th International Conference on Software Engineering (ICSE '99), Los Angeles, CA, May 19-21, 1999. http://citeseer.ist.psu.edu/article/ernst00dynamically.html   More

@inproceedings{ ernst99dynamically,
    author = "Michael D. Ernst and Jake Cockrell and William G. Griswold and David Notkin",
    title = "Dynamically Discovering Likely Program Invariants to Support Program Evolution",
    booktitle = "International Conference on Software Engineering",
    pages = "213-224",
    year = "1999",
    url = "citeseer.ist.psu.edu/article/ernst00dynamically.html" }
Citations (may not include all citations):
652   A Discipline of Programming (context) - Dijkstra - 1976
650   An axiomatic basis for computer programming (context) - Hoare - 1969
638   Partial Evaluation and Automatic Program Generation (context) - Jones, Gomard et al. - 1993
492   Learning logical definitions from relations (context) - Quinlan - 1990
275   The Science of Programming (context) - Gries - 1981
252   Analysis of pointers and structures (context) - Chase, Wegman et al. - 1990
197   Dependent types in practical programming - Xi, Pfenning - 1999
180   Efficient context-sensitive pointer analysis for C programs - Wilson, Lam - 1995
175   Watch What I Do: Programming by Demonstration (context) - Cypher, Halbert et al. - 1993
171   Dynamically discovering likely program invariants to support.. - Ernst, Cockrell et al. - 1999
160   Abstraction and Specification in Program Development (context) - Liskov, Guttag - 1986
150   Parametric shape analysis via 3-valued logic - Sagiv, Reps et al. - 1999
141   Compaq Systems Research Center (context) - Detlefs, Rustan et al. - 1998
137   The design and implementation of a certifying compiler - Necula, Lee - 1998
110   Eliminating array bound checking through dependent types - Xi, Pfenning - 1998
99   A shape analysis for heap-directed pointers in C (context) - Ghiya, Hendren et al. - 1996
88   Static detection of dynamic memory errors - Evans - 1996
84   Data flow analysis for verifying properties of concurrent pr.. - Dwyer, Clarke - 1994
79   Abstractions for recursive pointer data structures: Improvin.. - Hendren, Hummel et al. - 1992
72   Experiments on the effectiveness of dataflow- and controlflo.. (context) - Hutchins, Foster et al. - 1994
68   A practical approach to programming with assertions (context) - Rosenblum - 1995
65   Powerful techniques for the automatic generation of invarian.. - Bensalem, Lakhnech et al. - 1996
63   LCLint: A tool for using specifications to check code - Evans, Guttag et al. - 1994
56   An overview of the Extended Static Checking system - Detlefs - 1996
55   Software reliability via run-time result-checking - Wasserman, Blum - 1997
55   Quickly detecting relevant program invariants - Ernst, Czeisler et al. - 2000
50   Elimination of redundant array subscript range checks - Kolte, Wolfe - 1995
50   A fresh look at optimizing array bound checking (context) - Gupta - 1990
49   Reasoning about Java classes - Jacobs, van den Berg et al. - 1998
48   Empirical studies of a safe regression test selection techni.. - Rothermel, Harrold - 1998
45   Grammatically biased learning: learning logic programs using.. (context) - Cohen - 1994
44   Discovering models of software processes from eventbased dat.. - Cook, Wolf - 1998
43   Automatic synthesis of optimal invariant assertions: Mathema.. (context) - Cousot, Cousot - 1977
41   Implementation of an array bound checker (context) - Suzuki, Ishihata - 1977
40   Designing programs to check their work (context) - Blum - 1993
39   An empirical analysis of instruction repetition (context) - Sodani, Sohi - 1998
37   SUIF Explorer: An interactive and interprocedural paralleliz.. - Liao, Diwan et al. - 1999
35   Lackwit: A program understanding tool based on type inferenc.. - O'Callahan, Jackson - 1997
35   Value profiling and optimization - Calder, Feller et al. - 1999
34   Event-based detection of concurrency - Cook, Wolf - 1998
33   Speculative disambiguation: A compilation technique for dyna.. (context) - Huang, Slavenburg et al. - 1994
26   An extended static checker for Modula (context) - Rustan, Leino et al. - 1998
24   Dependent types in logic programming (context) - Pfenning - 1992
23   Automatic generation of state invariants from requirements s.. - Jeffords, Heitmeyer - 1998
22   Automatic generation of invariants and intermediate assertio.. - Bjrner, Browne et al. - 1997
20   DUEL --- a very high-level debugging language - Golan, Hanson - 1993
20   jContractor: A reflective Java library to support design by .. - Karaorman, Holzle et al. - 1999
19   The use of self checks and voting in software error detectio.. (context) - Leveson, Cha et al. - 1990
18   Python Reference Manual (context) - van Rossum - 1997
17   The synthesis of loop predicates (context) - Wegbreit - 1974
17   Relative debugging: A new methodology for debugging scientif.. - Abramson, Foster et al. - 1996
17   Logical analysis of programs (context) - Katz, Manna - 1976
16   Verification of concurrent software with FLAVERS (context) - Naumovich, Clarke et al. - 1997
15   Run-time disambiguation: Coping with statically unpredictabl.. (context) - Nicolau - 1989
15   Promises: Limited specifications for analysis and manipulati.. (context) - Chan, Boyland et al. - 1998
14   Formal specification techniques for promoting software modul.. (context) - Tan - 1994
13   IEEE Transactions on Software Engineering (context) - German, Wegbreit et al. - 1975
13   Dynamically discovering pointer-based program invariants - Ernst, Griswold et al. - 1999
11   McGraw-Hill Series in Computer Science (context) - Mitchell - 1997
11   Program analysis by formal transformation - Ward - 1996
11   and Alan Eustace (context) - Calder, Feller - 1997
10   Testing using log file analysis: Tools (context) - Andrews - 1998
10   An empirical investigation of program spectra - Harrold, Rothermel et al. - 1998
10   A study of pointer aliasing for software pipelining using ru.. (context) - Su, Habib et al. - 1994
9   Purify: A tool for detecting memory leaks and access errors .. (context) - Hastings, Joyce - 1992
8   IEEE Transactions on Software Engineering (context) - Dunlop, Basili et al. - 1984
8   Abstraction of formal specifications from program code - Cheng, Gannod - 1991
8   Program Derivation: The Development of Programs From Specifi.. (context) - Dromey - 1989
7   Strongest postcondition semantics as the formal basis for re.. - Gannod, Cheng - 1996
6   Front End Internal Documentation (context) - Group - 1995
5   Softspec: software-based speculative parallelism via stride .. - Devabhaktuni, Petkov et al. - 1998
5   A specification matching based approach to reverse engineeri.. - Gannod, Cheng - 1999
5   and Bruce Forstall (context) - Henry, Whaley - 1990
4   and Malcolm Munro (context) - Ward, Calliss - 1989
4   Automatic detection of invariants in Spin (context) - Vaziri, Holzmann - 1998
4   Inferring program specifications in polynomial-time - Givan - 1996
4   Automatically Inferring Properties of Computer Programs (context) - Givan - 1996
4   Query-based debugging of objectoriented programs (context) - Lencevicius, Holzle et al. - 1997
1   A strategy for finding the optimal data placement for regula.. (context) - Jones - 1996
1   A safe approximation algorithm for interprocedural pointer a.. (context) - Barbara, Ryder - 1992



The graph only includes citing articles where the year of publication is known.


Documents on the same site (http://www.cs.washington.edu/homes/mernst/pubs/):   More
Practical Fine-Grained Static Slicing of Optimized Code - Ernst (1994)   (Correct)
Adequate Models for Recursive Program Schemes - Ernst (1989)   (Correct)
Slicing Pointers and Procedures (abstract) - Ernst (1995)   (Correct)

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC