Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2588548.2588550acmotherconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
research-article

Static verification of ptolemyrely programs using openJML

Published: 22 April 2014 Publication History

Abstract

In the PtolemyRely language event types define events that, when announced, trigger the execution of handlers, passing along the triggering piece of code for its eventual execution.
Verification of PtolemyRely programs poses some particular challenges: (1) handlers must be verified against their corresponding event declaration, (2) event announcement and next-handler invocation must be reasoned about according to PtolemyRely's semantics, (3) the body of refining statements must be checked against their specifications, etc. The original Ptolemy compiler includes run-time assertion checking for dynamic verification, but there has been no static verification tool.
In this paper we address the challenge of static verification of PtolemyRely programs by encoding them into JML (the Java Modelling Language) and using a JML static verification tool (OpenJML) to discharge the verification obligations. We argue informally that our encoding is sound in the sense that a PtolemyRely program is valid if and only if its encoding is a valid JML program.

References

[1]
M. Bagherzadeh, H. Rajan, G. T. Leavens, and S. Mooney. Translucid contracts: expressive specification and modular verification for aspectoriented interfaces. In Proceedings of the tenth international conference on Aspect-oriented software development, AOSD '11, pages 141--152. ACM, 2011.
[2]
E. Bodden. Closure joinpoints: Block joinpoints without surprises. In Proceedings of the tenth international conference on Aspect-oriented software development, AOSD '11, pages 117--128. ACM, 2011.
[3]
E. Bodden, E. Tanter, and M. Inostroza. Joint point interfaces for safe and flexible decoupling of aspects. ACM Transactions on Software Engineering and Methodology (TOSEM), Vol. 23, Issue 1, February 2014.
[4]
P. Chalin, J. R. Kiniry, G. T. Leavens, and E. Poll. Beyond assertions: Advanced specification and verification with JML and ESC/-Java2. In Formal Methods for Components and Objects (FMCO) 2005, Revised Lectures, volume 4111 of Lecture Notes in Computer Science, pages 342--363, Berlin, 2006. Springer-Verlag. URL http://dx.doi.org/10.1007/11804192 16.
[5]
D. Cok. OpenJML: JML for Java 7 by extending OpenJDK. In M. Bobaru, K. Havelund, G. Holzmann, and R. Joshi, editors, NASA Formal Methods, volume 6617 of Lecture Notes in Computer Science, pages 472--479. Springer-Verlag, Berlin, 2011. . URL http://dx.doi.org/10.1007/978-3-642-20398-5 35.
[6]
D. Cok. Openjml checks, 2014. URL http://jmlspecs.sourceforge.net/checks.shtml.
[7]
M. Inostroza, E. Tanter, and E. Bodden. Join point interfaces for modular reasoning in aspect-oriented programs. In ESEC/FSE '11: Joint meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, pages 508--511, 2011. URL http://www.bodden.de/pubs/itb11jpi.pdf.
[8]
G. T. Leavens and Y. Cheon. Design by contract with JML. Draft, available from jmlspecs.org., 2005. URL http://www.jmlspecs.org/jmldbc.pdf.
[9]
G. T. Leavens, A. L. Baker, and C. Ruby. Preliminary design of JML: A behavioral interface specification language for Java. ACM SIGSOFT Software Engineering Notes, 31(3):1--38, Mar. 2006. URL http://doi.acm.org/10.1145/1127878.1127884.
[10]
G. T. Leavens, P. H. Schmitt, and J. Yi. The Java Modeling Language. NII Shonan meeting report. Technical Report 2013-3, National Institute of Informatics, 2-1-2 Hitotsubashi, Chiyoda-Ku, Tokyo, Japan, May 2013.
[11]
H. Rajan and G. T. Leavens. Ptolemy: A language with quantified, typed events. In J. Vitek, editor, ECOOP 2008 -- Object-Oriented Programming: 22nd European Conference, Paphos, Cyprus, volume 5142 of Lecture Notes in Computer Science, pages 155--179, Berlin, July 2008. Springer-Verlag. URL http://dx.doi.org/10.1007/978-3-540-70592-5 8.
[12]
J. Sánchez and G. Leavens. Separating obligations of subjects and handlers for more flexible event type verification. In SC 2013: Proceedings of the 12th International Conference, pages 65--80. Lecture Notes in Computer Science, June 2013. URL http://dx.doi.org/10.1007/978-3-642-39614-4 5.
[13]
S. M. Shaner, G. T. Leavens, and D. A. Naumann. Modular verification of higher-order methods with mandatory calls specified by model programs. In International Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA), Montreal, Canada, pages 351--367, New York, NY, Oct. 2007. ACM. . URL http://doi.acm.org/10.1145/1297027.1297053.
[14]
F. Steimann, T. Pawlitzki, S. Apel, and C. Kästner. Types and modularity for implicit invocation with implicit announcement. ACM Trans. Softw. Eng. Methodol., pages 1:1--1:43, 2010.

Cited By

View all
  • (2022)Verifying Whiley Programs with BoogieJournal of Automated Reasoning10.1007/s10817-022-09619-166:4(747-803)Online publication date: 20-Mar-2022
  • (2019)Consistency Checking between Java Equals and hashCode Methods Using Software Analysis WorkbenchIEICE Transactions on Information and Systems10.1587/transinf.2018EDP7254E102.D:8(1498-1505)Online publication date: 1-Aug-2019
  • (2019)An Introduction to Software Verification with WhileyEngineering Trustworthy Software Systems10.1007/978-3-030-17601-3_1(1-37)Online publication date: 14-Apr-2019
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
FOAL '14: Proceedings of the 13th workshop on Foundations of aspect-oriented languages
April 2014
34 pages
ISBN:9781450327985
DOI:10.1145/2588548
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]

Sponsors

  • AOSA: Aspect-Oriented Software Association

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 22 April 2014

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. openjml
  2. ptolemy language
  3. ptolemyrely
  4. static verification

Qualifiers

  • Research-article

Funding Sources

Conference

MODULARITY '14
Sponsor:
  • AOSA

Acceptance Rates

FOAL '14 Paper Acceptance Rate 5 of 6 submissions, 83%;
Overall Acceptance Rate 5 of 6 submissions, 83%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 26 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2022)Verifying Whiley Programs with BoogieJournal of Automated Reasoning10.1007/s10817-022-09619-166:4(747-803)Online publication date: 20-Mar-2022
  • (2019)Consistency Checking between Java Equals and hashCode Methods Using Software Analysis WorkbenchIEICE Transactions on Information and Systems10.1587/transinf.2018EDP7254E102.D:8(1498-1505)Online publication date: 1-Aug-2019
  • (2019)An Introduction to Software Verification with WhileyEngineering Trustworthy Software Systems10.1007/978-3-030-17601-3_1(1-37)Online publication date: 14-Apr-2019
  • (2017)Equivalence Checking of Java Methods: Toward Ensuring IoT Dependability2017 26th International Conference on Computer Communication and Networks (ICCCN)10.1109/ICCCN.2017.8038505(1-6)Online publication date: Jul-2017
  • (2016)Reasoning tradeoffs in languages with enhanced modularity featuresProceedings of the 15th International Conference on Modularity10.1145/2889443.2889447(13-24)Online publication date: 14-Mar-2016
  • (2016)Modular Reasoning in the Presence of Event SubtypingTransactions on Modularity and Composition I10.1007/978-3-319-46969-0_5(167-223)Online publication date: 30-Sep-2016

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media