메뉴 건너뛰기




Volumn 4111 LNCS, Issue , 2006, Pages 364-387

Boogie: A modular reusable verifier for object-oriented programs

Author keywords

[No Author keywords available]

Indexed keywords

COMPUTER ARCHITECTURE; LARGE SCALE SYSTEMS; OBJECT ORIENTED PROGRAMMING; PROGRAM COMPILERS; PROGRAM INTERPRETERS; SEMANTICS; USER INTERFACES;

EID: 33749664425     PISSN: 03029743     EISSN: 16113349     Source Type: Book Series    
DOI: 10.1007/11804192_17     Document Type: Conference Paper
Times cited : (609)

References (65)
  • 3
    • 84976789984 scopus 로고
    • GYPSY: A language for specification and implementation of verifiable programs
    • +77] , March
    • +77] Allen L. Ambler, Donald I. Good, James C. Browne, Wilhelm F. Burger, Richard M. Cohen, Charles G. Hoch, and Robert E. Wells. GYPSY: A language for specification and implementation of verifiable programs. SIGPLAN Notices, 12(3):1-10, March 1977.
    • (1977) SIGPLAN Notices , vol.12 , Issue.3 , pp. 1-10
    • Ambler, A.L.1    Good, D.I.2    Browne, J.C.3    Burger, W.F.4    Cohen, R.M.5    Hoch, C.G.6    Wells, R.E.7
  • 6
    • 84903134095 scopus 로고    scopus 로고
    • The LOOP compiler for Java and JML
    • [BJ01] Tiziana Margaria and Wang Yi, editors, Tools and Algorithms for the Construction and Analysis of Systems (TACAS), Springer
    • [BJ01] Joachim van den Berg and Bart Jacobs. The LOOP compiler for Java and JML. In Tiziana Margaria and Wang Yi, editors, Tools and Algorithms for the Construction and Analysis of Systems (TACAS), volume 2031 of Lecture Notes in Computer Science, pages 299-312. Springer, 2001.
    • (2001) Lecture Notes in Computer Science , vol.2031 , pp. 299-312
    • Van Berg, J.D.1    Jacobs, B.2
  • 8
    • 33845254904 scopus 로고    scopus 로고
    • Zap: Automated theorem proving for software analysis
    • [BLM05] , Microsoft Research, October
    • [BLM05] Thomas Ball, Shuvendu Lahiri, and Madanlal Musuvathi. Zap: Automated theorem proving for software analysis. Technical Report MSR-TR-2005-137, Microsoft Research, October 2005.
    • (2005) Technical Report , vol.MSR-TR-2005-137
    • Ball, T.1    Lahiri, S.2    Musuvathi, M.3
  • 9
    • 19044390891 scopus 로고    scopus 로고
    • The Spec# programming system: An overview
    • [BLS04] . Construction and Analysis of Safe, Secure, and Interoperable Smart devices (CASSIS), Springer
    • [BLS04] Mike Barnett, K. Rustan M. Leino, and Wolfram Schulte. The Spec# programming system: An overview. In Construction and Analysis of Safe, Secure, and Interoperable Smart devices (CASSIS), volume 3362 of Lecture Notes in Computer Science, pages 49-60. Springer, 2004.
    • (2004) Lecture Notes in Computer Science , vol.3362 , pp. 49-60
    • Barnett, M.1    Leino, K.R.M.2    Schulte, W.3
  • 10
    • 35048827919 scopus 로고    scopus 로고
    • Friends need a bit more: Maintaining invariants over shared state
    • [BN04] . Dexter Kozen and Carron Shankland, editors, Mathematics of Program Construction (MPC), Springer
    • [BN04] Mike Barnett and David A. Naumann. Friends need a bit more: Maintaining invariants over shared state. In Dexter Kozen and Carron Shankland, editors, Mathematics of Program Construction (MPC), volume 3125 of Lecture Notes in Computer Science, pages 54-84. Springer, 2004.
    • (2004) Lecture Notes in Computer Science , vol.3125 , pp. 54-84
    • Barnett, M.1    Naumann, D.A.2
  • 11
    • 35248874920 scopus 로고    scopus 로고
    • Java applet correctness: A developer-oriented approach
    • [BRL03] . Keijiro Araki, Stefania Gnesi, and Dino Mandrioli, editors, FME 2003: Formal Methods, International Symposium of Formal Methods Europe, Springer, September
    • [BRL03] L. Burdy, A. Requet, and J.-L. Lanet. Java applet correctness: a developer-oriented approach. In Keijiro Araki, Stefania Gnesi, and Dino Mandrioli, editors, FME 2003: Formal Methods, International Symposium of Formal Methods Europe, volume 2805 of Lecture Notes in Computer Science, pages 422-439. Springer, September 2003.
    • (2003) Lecture Notes in Computer Science , vol.2805 , pp. 422-439
    • Burdy, L.1    Requet, A.2    Lanet, J.-L.3
  • 12
    • 0002738295 scopus 로고
    • Some techniques for proving correctness of programs which alter data structures
    • [Bur72]
    • [Bur72] Rod M. Burstall. Some techniques for proving correctness of programs which alter data structures. Machine Intelligence, 7:23-50, 1972.
    • (1972) Machine Intelligence , vol.7 , pp. 23-50
    • Burstall, R.M.1
  • 14
    • 85050550846 scopus 로고
    • Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints
    • [CC77] , January
    • [CC77] Patrick Cousot and Radhia Cousot. Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In Fourth ACM Symposium on Principles of Programming Languages (POPL), pages 238-252, January 1977.
    • (1977) Fourth ACM Symposium on Principles of Programming Languages (POPL) , pp. 238-252
    • Cousot, P.1    Cousot, R.2
  • 18
    • 19044389884 scopus 로고    scopus 로고
    • Abstract interpretation with alien expressions and heap structures
    • [CL05] . Radhia Cousot, editor, Verification, Model Checking, and Abstract Interpretation (VMCAI), Springer
    • [CL05] Bor-Yuh Evan Chang and K. Rustan M. Leino. Abstract interpretation with alien expressions and heap structures. In Radhia Cousot, editor, Verification, Model Checking, and Abstract Interpretation (VMCAI), volume 3385 of Lecture Notes in Computer Science, pages 147-163. Springer, 2005.
    • (2005) Lecture Notes in Computer Science , vol.3385 , pp. 147-163
    • Chang, B.-Y.E.1    Leino, K.R.M.2
  • 20
    • 34250195633 scopus 로고    scopus 로고
    • BoogiePL: A typed procedural language for checking object-oriented programs
    • [DL05] Microsoft Research, March
    • [DL05] Robert DeLine and K. Rustan M. Leino. BoogiePL: A typed procedural language for checking object-oriented programs. Technical Report MSR-TR-2005-70, Microsoft Research, March 2005.
    • (2005) Technical Report , vol.MSR-TR-2005-70
    • DeLine, R.1    Leino, K.R.M.2
  • 21
    • 0003372569 scopus 로고    scopus 로고
    • Extended static checking
    • [DLNS98] , Compaq Systems Research Center, December
    • [DLNS98] David L. Detlefs, K. Rustan M. Leino, Greg Nelson, and James B. Saxe. Extended static checking. Research Report 159, Compaq Systems Research Center, December 1998.
    • (1998) Research Report , vol.159
    • Detlefs, D.L.1    Leino, K.R.M.2    Nelson, G.3    Saxe, J.B.4
  • 22
    • 24944448541 scopus 로고    scopus 로고
    • Simplify: A theorem prover for program checking
    • [DNS05] , May
    • [DNS05] David Detlefs, Greg Nelson, and James B. Saxe. Simplify: a theorem prover for program checking. Journal of the ACM, 52(3):365-473, May 2005.
    • (2005) Journal of the ACM , vol.52 , Issue.3 , pp. 365-473
    • Detlefs, D.1    Nelson, G.2    Saxe, J.B.3
  • 23
    • 84941152952 scopus 로고    scopus 로고
    • [Esc06] Escher Technologies
    • [Esc06] Escher Technologies. Perfect Developer, http://eschertech.com/, 2006.
    • (2006) Perfect Developer
  • 24
    • 0038382055 scopus 로고    scopus 로고
    • Verification of non-functional programs using interpretations in type theory
    • [F1103] , July
    • [F1103] Jean-Christophe Filliâtre. Verification of non-functional programs using interpretations in type theory. The Journal of Functional Programming, 13(4):709-745, July 2003.
    • (2003) The Journal of Functional Programming , vol.13 , Issue.4 , pp. 709-745
    • Filliâtre, J.-C.1
  • 26
    • 1442313104 scopus 로고    scopus 로고
    • Declaring and checking non-null types in an object-oriented language
    • [FL03] Ron Crocker and Guy L. Steele Jr., editors, ACM
    • [FL03] Manuel Fähndrich and K. Rustan M. Leino. Declaring and checking non-null types in an object-oriented language. In Ron Crocker and Guy L. Steele Jr., editors, Object-Oriented Programming Systems, Languages and Applications (OOPSLA), pages 302-312. ACM, 2003.
    • (2003) Object-oriented Programming Systems, Languages and Applications (OOPSLA) , pp. 302-312
    • Fähndrich, M.1    Leino, K.R.M.2
  • 28
    • 35048862900 scopus 로고    scopus 로고
    • Multi-prover verification of C programs
    • [FM04]. Jim Davies, Wolfram Schulte, and Michael Barnett, editors, Formal Engineering Methods (ICFEM), Springer
    • [FM04] Jean-Christophe Filliâtre and Claude Marchê. Multi-prover verification of C programs. In Jim Davies, Wolfram Schulte, and Michael Barnett, editors, Formal Engineering Methods (ICFEM), volume 3308 of Lecture Notes in Computer Science, pages 15-29. Springer, 2004.
    • (2004) Lecture Notes in Computer Science , vol.3308 , pp. 15-29
    • Filliâtre, J.-C.1    Marchê, C.2
  • 30
    • 84945708698 scopus 로고
    • An axiomatic basis for computer programming
    • [Hoa69], October
    • [Hoa69] C. A. R. Hoare. An axiomatic basis for computer programming. Communications of the ACM, 12(10):576-580,583, October 1969.
    • (1969) Communications of the ACM , vol.12 , Issue.10 , pp. 576-580
    • Hoare, C.A.R.1
  • 31
    • 0000972249 scopus 로고
    • An axiomatic definition of the programming language PASCAL
    • [HW73]
    • [HW73] C. A. R. Hoare and N. Wirth. An axiomatic definition of the programming language PASCAL. Acta Informatica, 2(4):335-355, 1973.
    • (1973) Acta Informatica , vol.2 , Issue.4 , pp. 335-355
    • Hoare, C.A.R.1    Wirth, N.2
  • 32
    • 0346875905 scopus 로고    scopus 로고
    • Weakest pre-condition reasoning for Java programs with JML annotations
    • [Jac04], January-March
    • [Jac04] Bart Jacobs. Weakest pre-condition reasoning for Java programs with JML annotations. Journal of Logic and Algebraic Programming, 58(1-2):61-88, January-March 2004.
    • (2004) Journal of Logic and Algebraic Programming , vol.58 , Issue.1-2 , pp. 61-88
    • Jacobs, B.1
  • 33
    • 84944224349 scopus 로고    scopus 로고
    • A logic for the Java Modeling Language JML
    • [JP01], H. Hussmann, editor, Fundamental Approaches to Software Engineering (FASE), Springer
    • [JP01] Bart Jacobs and Erik Poll. A logic for the Java Modeling Language JML. In H. Hussmann, editor, Fundamental Approaches to Software Engineering (FASE), volume 2029 of Lecture Notes in Computer Science, pages 284-299. Springer, 2001.
    • (2001) Lecture Notes in Computer Science , vol.2029 , pp. 284-299
    • Jacobs, B.1    Poll, E.2
  • 35
    • 24144474987 scopus 로고    scopus 로고
    • ESC/Java2: Uniting ESC/Java and JML: Progress and issues in building and using ESC/Java2, including a case study involving the use of the tool to verify portions of an Internet voting tally system
    • [KC04], Construction and Analysis of Safe, Secure, and Interoperable Smart devices (CASSIS), Springer
    • [KC04] Joseph R. Kiniry and David R. Cok. ESC/Java2: Uniting ESC/Java and JML: Progress and issues in building and using ESC/Java2, including a case study involving the use of the tool to verify portions of an Internet voting tally system. In Construction and Analysis of Safe, Secure, and Interoperable Smart devices (CASSIS), volume 3362 of Lecture Notes in Computer Science, pages 108-128. Springer, 2004.
    • (2004) Lecture Notes in Computer Science , vol.3362 , pp. 108-128
    • Kiniry, J.R.1    Cok, D.R.2
  • 37
    • 0000913573 scopus 로고    scopus 로고
    • JML: A notation for detailed design
    • [LBR99]. Haim Kilov, Bernhard Rumpe, and Ian Simmonds, editors, Kluwer Academic Publishers, Boston
    • [LBR99] Gary T. Leavens, Albert L. Baker, and Clyde Ruby. JML: A notation for detailed design. In Haim Kilov, Bernhard Rumpe, and Ian Simmonds, editors, Behavioral Specifications of Businesses and Systems, pages 175-188. Kluwer Academic Publishers, Boston, 1999.
    • (1999) Behavioral Specifications of Businesses and Systems , pp. 175-188
    • Leavens, G.T.1    Baker, A.L.2    Ruby, C.3
  • 38
    • 0004030849 scopus 로고    scopus 로고
    • Preliminary design of JML: A behavioral interface specification language for Java
    • [LBR03], Iowa State University, Department of Computer Science, April
    • [LBR03] Gary T. Leavens, Albert L. Baker, and Clyde Ruby. Preliminary design of JML: A behavioral interface specification language for Java. Technical Report 98-06u, Iowa State University, Department of Computer Science, April 2003.
    • (2003) Technical Report , vol.98 , Issue.6 U
    • Leavens, G.T.1    Baker, A.L.2    Ruby, C.3
  • 40
    • 0002215719 scopus 로고    scopus 로고
    • Available as Technical Report Caltech-CS-TR-95-03.
    • Technical Report , vol.CALTECH-CS-TR-95-03
  • 41
    • 0002174001 scopus 로고    scopus 로고
    • Extended static checking: A ten-year perspective
    • [Lei00]. Reinhard Wilhelm, editor, Informatics - 10 Years Back, 10 Years Ahead, Springer
    • [Lei00] K. Rustan M. Leino. Extended static checking: A ten-year perspective. In Reinhard Wilhelm, editor, Informatics - 10 Years Back, 10 Years Ahead, volume 2000 of Lecture Notes in Computer Science. Springer, 2000.
    • (2000) Lecture Notes in Computer Science , vol.2000
    • Rustan, K.1    Leino, M.2
  • 42
    • 13844267476 scopus 로고    scopus 로고
    • Efficient weakest preconditions
    • [Lei05], March
    • [Lei05] K. Rustan M. Leino. Efficient weakest preconditions. Information Processing Letters, 93(6):281-288, March 2005.
    • (2005) Information Processing Letters , vol.93 , Issue.6 , pp. 281-288
    • Rustan, K.1    Leino, M.2
  • 44
    • 33749654309 scopus 로고
    • ACM, February
    • An earlier version of this report appeared as volume 12, number 2 in SIGPLAN Notices. ACM, February 1977.
    • (1977) SIGPLAN Notices , vol.2-12
  • 45
    • 33646724703 scopus 로고    scopus 로고
    • Loop invariants on demand
    • [LL05]. Kwangkeun Yi, editor, Asian Symposium on Programming Languages and Systems (APLAS), Springer
    • [LL05] K. Rustan M. Leino and Francesco Logozzo. Loop invariants on demand. In Kwangkeun Yi, editor, Asian Symposium on Programming Languages and Systems (APLAS), volume 3780 of Lecture Notes in Computer Science, pages 119-134. Springer, 2005.
    • (2005) Lecture Notes in Computer Science , vol.3780 , pp. 119-134
    • Rustan, K.1    Leino, M.2    Logozzo, F.3
  • 46
    • 35048835831 scopus 로고    scopus 로고
    • Object invariants in dynamic contexts
    • [LM04]. Martin Odersky, editor, European Conference on Object-Oriented Programming (ECOOP), Springer-Verlag
    • [LM04] K. Rustan M. Leino and Peter Müller. Object invariants in dynamic contexts. In Martin Odersky, editor, European Conference on Object-Oriented Programming (ECOOP), volume 3086 of Lecture Notes in Computer Science, pages 491-516. Springer-Verlag, 2004.
    • (2004) Lecture Notes in Computer Science , vol.3086 , pp. 491-516
    • Rustan, K.1    Leino, M.2    Müller, P.3
  • 47
    • 26444577491 scopus 로고    scopus 로고
    • Modular verification of static class invariants
    • [LM05]. John Fitzgerald, Ian J. Hayes, and Andrzej Tarlecki, editors, Symposium on Formal Methods Europe (FM), Springer
    • [LM05] K. Rustan M. Leino and Peter Müller. Modular verification of static class invariants. In John Fitzgerald, Ian J. Hayes, and Andrzej Tarlecki, editors, Symposium on Formal Methods Europe (FM), volume 3582 of Lecture Notes in Computer Science, pages 26-42. Springer, 2005.
    • (2005) Lecture Notes in Computer Science , vol.3582 , pp. 26-42
    • Rustan, K.1    Leino, M.2    Müller, P.3
  • 48
    • 33745775687 scopus 로고    scopus 로고
    • A verification methodology for model fields
    • [LM06]. Peter Sestoft, editor, European Symposium on Programming (ESOP), Springer
    • [LM06] K. Rustan M. Leino and Peter Müller. A verification methodology for model fields. In Peter Sestoft, editor, European Symposium on Programming (ESOP), volume 3924 of Lecture Notes in Computer Science, pages 115-130. Springer, 2006.
    • (2006) Lecture Notes in Computer Science , vol.3924 , pp. 115-130
    • Rustan, K.1    Leino, M.2    Müller, P.3
  • 49
    • 13144267779 scopus 로고    scopus 로고
    • Generating error traces from verification-condition counterexamples
    • [LMS05], March
    • [LMS05] K. Rustan M. Leino, Todd Millstein, and James B. Saxe. Generating error traces from verification-condition counterexamples. Science of Computer Programming, 55(1-3):209-226, March 2005.
    • (2005) Science of Computer Programming , vol.55 , Issue.1-3 , pp. 209-226
    • Rustan, K.1    Leino, M.2    Millstein, T.3    Saxe, J.B.4
  • 51
    • 84883305871 scopus 로고    scopus 로고
    • Towards the formal verification of a C0 compiler: Code generation and implementation correctness
    • [LPP05]. Bernhard K. Aichernig and Bernhard Beckert, editors, IEEE Computer Society, September
    • [LPP05] Dirk Leinenbach, Wolfgang Paul, and Elena Petrova. Towards the formal verification of a C0 compiler: Code generation and implementation correctness. In Bernhard K. Aichernig and Bernhard Beckert, editors, Third IEEE International Conference on Software Engineering and Formal Methods (SEFM 2005), pages 2-12. IEEE Computer Society, September 2005.
    • (2005) Third IEEE International Conference on Software Engineering and Formal Methods (SEFM 2005) , pp. 2-12
    • Leinenbach, D.1    Paul, W.2    Petrova, E.3
  • 52
    • 0003642669 scopus 로고    scopus 로고
    • Checking Java programs via guarded commands
    • [LSS99], Technical Report 251. Fernuniversität Hagen, May
    • [LSS99] K. Rustan M. Leino, James B. Saxe, and Raymie Stata. Checking Java programs via guarded commands. In Formal Techniques for Java Programs, Technical Report 251. Fernuniversität Hagen, May 1999.
    • (1999) Formal Techniques for Java Programs
    • Rustan, K.1    Leino, M.2    Saxe, J.B.3    Stata, R.4
  • 53
    • 84941149982 scopus 로고    scopus 로고
    • Compaq Systems Research Center
    • Also available as Technical Note 1999-002, Compaq Systems Research Center.
    • Technical Note , vol.1999 , Issue.2
  • 54
    • 0004198444 scopus 로고
    • [Mey92]. Object-Oriented Series. Prentice Hall
    • [Mey92] Bertrand Meyer. Eiffel: The Language. Object-Oriented Series. Prentice Hall, 1992.
    • (1992) Eiffel: The Language
    • Meyer, B.1
  • 56
    • 33749681944 scopus 로고    scopus 로고
    • Programming and interface specification language of JIVE - Specification and design rationale
    • [MMPH97], Fernuniversität Hagen
    • [MMPH97] Peter Müller, Jörg Meyer, and Arnd Poetzsch-Heffter. Programming and interface specification language of JIVE - specification and design rationale. Technical Report 223, Fernuniversität Hagen, 1997.
    • (1997) Technical Report , vol.223
    • Müller, P.1    Meyer, J.2    Poetzsch-Heffter, A.3
  • 57
    • 0347602000 scopus 로고    scopus 로고
    • The KRAKATOA tool for certification of JAVA/JAVACARD programs annotated in JML
    • [MPMU04], January-March
    • [MPMU04] Claude Marché, Christine Paulin-Mohring, and Xavier Urbain. The KRAKATOA tool for certification of JAVA/JAVACARD programs annotated in JML. Journal of Logic and Algebraic Programming, 58(1-2):89-106, January-March 2004.
    • (2004) Journal of Logic and Algebraic Programming , vol.58 , Issue.1-2 , pp. 89-106
    • Marché, C.1    Paulin-Mohring, C.2    Urbain, X.3
  • 59
    • 84957365826 scopus 로고    scopus 로고
    • PVS: Combining specification, proof checking, and model checking
    • + 96]. Rajeev Alur and Thomas A. Henzinger, editors, Computer-Aided Verification (CAV), Springer
    • + 96] Sam Owre, S. Rajan, John M. Rushby, Natarajan Shankar, and Mandayam K. Srivas. PVS: Combining specification, proof checking, and model checking. In Rajeev Alur and Thomas A. Henzinger, editors, Computer-Aided Verification (CAV), volume 1102 of Lecture Notes in Computer Science, pages 411-414. Springer, 1996.
    • (1996) Lecture Notes in Computer Science , vol.1102 , pp. 411-414
    • Owre, S.1    Rajan, S.2    Rushby, J.M.3    Shankar, N.4    Srivas, M.K.5
  • 62
    • 0029185391 scopus 로고
    • A practical approach to programming with assertions
    • [Ros95], January
    • [Ros95] David S. Rosenblum. A practical approach to programming with assertions. IEEE Transactions on Software Engineering, 21(1):19-31, January 1995.
    • (1995) IEEE Transactions on Software Engineering , vol.21 , Issue.1 , pp. 19-31
    • Rosenblum, D.S.1
  • 63
    • 84941154218 scopus 로고    scopus 로고
    • [Spe06]
    • [Spe06] Spec# homepage. http://research.microsoft.com/specsharp, 2006.
    • (2006) Spec# Homepage
  • 65
    • 0002215719 scopus 로고    scopus 로고
    • Available as Technical Report MIT/LCS/TR-598.
    • Technical Report , vol.MIT-LCS-TR-598


* 이 정보는 Elsevier사의 SCOPUS DB에서 KISTI가 분석하여 추출한 것입니다.