|13:30-14:00||Big Bang: Designing a Statically-Typed Scripting Language Pottayil Harisanker Menon, Zachary Palmer, Alexander Rozenshteyn, Scott Smith (Johns Hopkins)|
|14:00-14:30||Minigrace: A progress report Michael Homer and James Noble (Victoria University of Wellington)|
|15:00-15:30||Contracts with Path-Based Effects for Secure and Verifiable Software - Position Paper Peter Thiemann (University of Freiburg)|
|15:30-16:00||Towards Gradual Typing in Jython Michael M. Vitousek, Shashank Bharadwaj, Jeremy G. Siek (University of Colorado)|
- Towards Gradual Typing in Jython Michael M. Vitousek, Shashank Bharadwaj, Jeremy G. Siek
- Big Bang: Designing a Statically-Typed Scripting Language Pottayil Harisanker Menon, Zachary Palmer, Alexander Rozenshteyn, Scott Smith
- Contracts with Path-Based Effects for Secure and Verifiable Software Peter Thiemann (Position Paper)
- Minigrace: A progress report Michael Homer and James Noble
Recent years have seen increased use of scripting languages in large applications. Scripting languages optimize development time, especially early in the software life cycle, over safety and robustness. As the understanding of the system reaches a critical point and requirements stabilize, scripting languages become less appealing. Compromises made to optimize development time make it harder to reason about program correctness, harder to do semantic-preserving refactorings, and harder to optimize execution speed. Lack of type information makes code harder to navigate and to use correctly. In the worst cases, this situation leads to a costly and potentially error-prone rewrite of a program in a compiled language, losing the flexibility of scripting languages for future extension.
Recently, pluggable type systems and annotation systems have been proposed. Such systems add compile-time checkable annotations without changing a program’s run-time semantics which facilitates early error checking and program analysis. It is believed that untyped scripts can be retrofitted to work with such systems. Furthermore, integration of typed and untyped code, for example, through use of gradual typing, allows scripts to evolve into safer programs more suitable for program analysis and compile-time optimizations.
With few exceptions, practical reports are yet to be found. The STOP workshop focuses on the evolution of scripts, largely untyped code, into safer programs, with more rigid structure and more constrained behavior through the use of gradual/hybrid/pluggable typing, optional contract checking, extensible languages, refactoring tools, and the like. The goal is to further the understanding and use of such systems in practice, and connect practice and theory.
Call for Contributions
Abstracts, position papers, and status reports are welcome. Papers should be 1--2 pages in standard ACM SIGPLAN format. All submissions will be reviewed by the program committee. The accepted papers, after rework by the authors, will be published in an informal proceedings, which will be distributed at the workshop. All accepted submissions shall remain available from the workshop web page.
Papers are to be submitted electronically via the STOP submission site: http://continue2.cs.brown.edu/stop2012/
The STOP workshop aims to bring together researchers in different communities working on “hardening” scripts into programs. Typical topics include studies on the differences between scripts and regular programs; studies on the exploitation of the dynamic nature (e.g., dynamic loading, eval, reflection) of scripting languages; work on retrofitting type systems for documentation and maintenance purposes; research on adding contract systems for monitoring invariants at component boundaries; and efforts concerning language interoperability.
While this field has existed for some 20 years, the steadily growing use of scripting languages in the software industry has triggered the need for a concerted effort. STOP fills the need for communicating results across language paradigms, for sharing experiences regardless of application, and for exchanging ideas on future directions.
After two successful STOP workshops featuring both position papers and technical papers, this edition of the STOP workshop series seeks to bring together the numerous researchers working on these issues for informal discussion, exchange of ideas, and demonstrations of new techniques and tools.