skip to main content
10.1145/2025113.2025182acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
demonstration

jStar-eclipse: an IDE for automated verification of Java programs

Authors Info & Claims
Published:09 September 2011Publication History

ABSTRACT

jStar is a tool for automatically verifying Java programs. It uses separation logic to support abstract reasoning about object specifications. jStar can verify a number of challenging design patterns, including Subject/Observer, Visitor, Factory and Pooling. However, to use jStar one has to deal with a family of command-line tools that expect specifications in separate files and diagnose the errors by inspecting the text output from these tools.

In this paper we present a plug-in, called jStar-eclipse, allowing programmers to use jStar from within Eclipse IDE. Our plug-in allows writing method contracts in Java source files in form of Java annotations. It automatically translates Java annotations into jStar specifications and propagates errors reported by jStar back to Eclipse, pinpointing the errors to the locations in source files. This way the plug-in ensures an overall better user experience when working with jStar. Our end goal is to make automated verification based on separation logic accessible to a broader audience.

References

  1. M. Barnett, M. Fähndrich, K. Leino, P. Müller, W. Schulte, and H. Venter. Specification and verification: The spec# experience. Communications of the ACM, 54(6):81--91, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. M. Barnett, K. Leino, and W. Schulte. The Spec# programming system: An overview. CASSIS, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. M. Botinčan, D. Distefano, M. Dodds, R. Grigore, D. Naudžziūnienė, and M. J. Parkinson. coreStar: The Core of jStar. In Boogie 2011: 1st Intl. Workshop on Intermediate Verification Languages, 2011.Google ScholarGoogle Scholar
  4. L. Burdy, Y. Cheon, D. Cok, M. Ernst, J. Kiniry, G. Leavens, K. Leino, and E. Poll. An overview of JML tools and applications. International Journal on STTT, 7(3):212--232, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. C. Calcagno, D. Distefano, P. W. O'Hearn, and H. Yang. Compositional shape analysis by means of BI-abduction. In POPL, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. D. Distefano and M. J. Parkinson. jStar: Towards practical verification for Java. In OOPSLA, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. M. J. Parkinson and G. M. Bierman. Separation logic and abstraction. In POPL, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. M. J. Parkinson and G. M. Bierman. Separation logic, abstraction and inheritance. In POPL, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. R. Vallée-Rai, L. Hendren, V. Sundaresan, P. Lam, E. Gagnon, and P. Co. Soot-a Java optimization framework. In CASCON, 1999.Google ScholarGoogle Scholar

Index Terms

  1. jStar-eclipse: an IDE for automated verification of Java programs

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        ESEC/FSE '11: Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
        September 2011
        548 pages
        ISBN:9781450304436
        DOI:10.1145/2025113

        Copyright © 2011 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 9 September 2011

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • demonstration

        Acceptance Rates

        Overall Acceptance Rate17of128submissions,13%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader