1,096 papers · page 21 of 55
Malte Schwerhoff, Alexander J. Summers
Permission-based verification logics such as separation logic have led to the development of many practical verification tools over the last decade. Verifiers employ the separating conjunction A*B to elegantly handle aliasing problems, framing, race conditions, etc. Introduced al…
Avraham Shinnar, Jérôme Siméon, Martin Hirzel
This paper introduces a core calculus for pattern-matching in production rule languages: the Calculus for Aggregating Matching Patterns (CAMP). CAMP is expressive enough to capture modern rule languages such as JRules, including extensions for aggregation. We show how CAMP can be…
Vincent St-Amour, Shu-yu Guo
The performance of dynamic object-oriented programming languages such as JavaScript depends heavily on highly optimizing just-in-time compilers. Such compilers, like all compilers, can silently fall back to generating conservative, low-performance code during optimization. As a r…
Bjarne Stroustrup
Object-oriented programming is often characterized as encapsulation plus polymorphism plus inheritance. The original Simula67 demonstrated that we could do without encapsulation and Kristen Nygaard insisted that some OOP could be done without inheritance. I present generic progra…
Alexander J. Summers
Producing reliable programs has always been tough, and the complexity and variety of programming tasks just keeps on growing. Fortunately, the growth of computing power has also enabled substantial advances in automated reasoning, particularly the development of SMT solvers and a…
Asumu Takikawa, Daniel Feltey, Earl Dean, Matthew Flatt, Robert Bruce Findler, Sam Tobin-Hochstadt, Matthias Felleisen
Over the past 20 years, programmers have embraced dynamically-typed programming languages. By now, they have also come to realize that programs in these languages lack reliable type information for software engineering purposes. Gradual typing addresses this problem; it empowers …
Panagiotis Vekris, Benjamin Cosman, Ranjit Jhala
A key challenge when statically typing so-called dynamic languages is the ubiquity of value-based overloading, where a given function can dynamically reflect upon and behave according to the types of its arguments. Thus, to establish basic types, the analysis must reason precisel…
Shiyi Wei, Barbara G. Ryder
Context sensitivity is a technique to improve program analysis precision by distinguishing between function calls. A specific context-sensitive analysis is usually designed to accommodate the programming paradigm of a particular programming language. JavaScript features both the …
Front Matter, Table of Contents, Preface, Artifacts, Conference Organization
Karim Ali, Marianna Rapoport, Ondrej Lhoták, Julian Dolby, Frank Tip
Abstract elided by the publisher.
Davide Ancona, Andrea Corradi
Abstract elided by the publisher.
Gavin M. Bierman, Martín Abadi, Mads Torgersen
Abstract elided by the publisher.
Silvia Crafa, David Cunningham, Vijay A. Saraswat, Avraham Shinnar, Olivier Tardieu
We present a formal small-step structural operational semantics for a large fragment of X10, unifying past work. The fragment covers multiple places, mutable objects on the heap, sequencing, try/catch , async , finish , and at constructs. This model accurately captures the behavi…
Sebastian Erdweg, Tijs van der Storm, Yi Dai
Program transformations in terms of abstract syntax trees compromise referential integrity by introducing variable capture. Variable capture occurs when in the generated program a variable declaration accidentally shadows the intended target of a variable reference. Existing tran…
Tim Felgentreff, Alan Borning, Robert Hirschfeld, Jens Lincke, Yoshiki Ohshima, Bert Freudenberg, Robert Krahn
Abstract elided by the publisher.
Daniele Filaretti, Sergio Maffeis
Abstract elided by the publisher.
Vincent Gramoli, Rachid Guerraoui
Abstract elided by the publisher.
Michael Homer, Timothy Jones, James Noble, Kim B. Bruce, Andrew P. Black
Abstract elided by the publisher.
Shams Mahmood Imam, Vivek Sarkar
Abstract elided by the publisher.
Rezwana Karim, Mohan Dhawan, Vinod Ganapathy
Abstract elided by the publisher.