skip to main content
10.1145/1984708.1984711acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Pest: from the lab to the classroom

Published: 28 May 2011 Publication History

Abstract

Automated software verification is an active field of research which has made enormous progress both in theoretical and practical aspects. In recent years, an important effort has been put into applying these techniques on top of mainstream programming languages. These languages typically provide powerful features such as reflection, aliasing and polymorphism which are handy for practitioners but, in contrast, make verification a real challenge. The Pest programming language, on the other hand, was conceived with verifiability as one of its main design drivers. Although its main purpose is to serve as a test bed for new language features, its bare-bones syntax and strong support for annotations suggested early on in its development that it could also serve as a teaching tool for first-year undergraduate students. Developing an Eclipse plug-in for Pest proved to be both cost-effective and a key part to its adoption in the classroom. In this paper, we report on this experience.

References

[1]
M. Barnett, K. R. M. Leino, and W. Schulte. The Spec# Programming System: An Overview. In CASSIS. Springer, 2005.
[2]
S. Chatterjee, S. K. Lahiri, S. Qadeer, and Z. Rakamaric. A reachability predicate for analyzing low-level software. TACAS'07, pages 19--33, 2007.
[3]
D. R. Cok and J. R. Kiniry. Esc/Java2: Uniting Esc/Java and JML. Construction and Analysis of Safe, Secure, and Interoperable Smart Devices, pages 108--128, 2005.
[4]
G. de Caso, D. Gorín, and D. Garbervetsky. Reducing the number of annotations in a verification-oriented imperative language. In APV'09, 2009.
[5]
C. Flanagan, K. R. M. Leino, M. Lillibridge, G. Nelson, J. B. Saxe, and R. Stata. Extended static checking for Java. In PLDI '02, pages 234--245, 2002.
[6]
D. I. Good, R. L. London, and W. W. Bledsoe. An interactive program verification system. In ICRE, pages 482--492, 1975.
[7]
G. T. Leavens, A. L. Baker, and C. Ruby. JML: A notation for detailed design. In Behavioral Specifications of Businesses and Systems, pages 175--188. Kluwer Academic Publishers, 1999.
[8]
K. R. M. Leino and R. Monahan. Reasoning about comprehensions with first-order smt solvers. In SAC '09, pages 615--622, 2009.
[9]
R. A. De Millo, R. J. Lipton, and A. J. Perlis. Social processes and proofs of theorems and programs. Commun. ACM, 22(5):271--280, 1979.
[10]
N. Norwitz. PyChecker. SourceForge project http://pychecker.sourceforge.net.
[11]
E. Poll. Teaching program specification and verification using JML and ESC/Java2. TFM'09, pages 92--104, 2009.
[12]
D. N. Xu. Extended static checking for Haskell. In SIGPLAN workshop on Haskell, pages 48--59, 2006.

Cited By

View all
  • (2013)TerraME GIMS: An Eclipse plug-in for environmental modeling2013 3rd International Workshop on Developing Tools as Plug-Ins (TOPI)10.1109/TOPI.2013.6597192(37-42)Online publication date: May-2013
  • (2012)Integrated program verification tools in educationSoftware: Practice and Experience10.1002/spe.214343:4(403-418)Online publication date: 23-Jul-2012

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
TOPI '11: Proceedings of the 1st Workshop on Developing Tools as Plug-ins
May 2011
70 pages
ISBN:9781450305990
DOI:10.1145/1984708
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

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 28 May 2011

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. eclipse plug-in
  2. language design
  3. teaching
  4. verifiability

Qualifiers

  • Research-article

Conference

ICSE11
Sponsor:
ICSE11: International Conference on Software Engineering
May 28, 2011
HI, Waikiki, Honolulu, USA

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

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

Other Metrics

Citations

Cited By

View all
  • (2013)TerraME GIMS: An Eclipse plug-in for environmental modeling2013 3rd International Workshop on Developing Tools as Plug-Ins (TOPI)10.1109/TOPI.2013.6597192(37-42)Online publication date: May-2013
  • (2012)Integrated program verification tools in educationSoftware: Practice and Experience10.1002/spe.214343:4(403-418)Online publication date: 23-Jul-2012

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