Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- research-articleJanuary 2016
Lattice-theoretic progress measures and coalgebraic model checking
POPL '16: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesPages 718–732https://doi.org/10.1145/2837614.2837673In the context of formal verification in general and model checking in particular, parity games serve as a mighty vehicle: many problems are encoded as parity games, which are then solved by the seminal algorithm by Jurdzinski. In this paper we ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 1 - research-articleJanuary 2016
Temporal verification of higher-order functional programs
POPL '16: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesPages 57–68https://doi.org/10.1145/2837614.2837667We present an automated approach to verifying arbitrary omega-regular properties of higher-order functional programs. Previous automated methods proposed for this class of programs could only handle safety properties or termination, and our approach is ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 1 - research-articleJanuary 2016
Learning invariants using decision trees and implication counterexamples
POPL '16: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesPages 499–512https://doi.org/10.1145/2837614.2837664Inductive invariants can be robustly synthesized using a learning model where the teacher is a program verifier who instructs the learner through concrete program configurations, classified as positive, negative, and implications. We propose the first ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 1 - research-articleJanuary 2016
Abstraction refinement guided by a learnt probabilistic model
POPL '16: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesPages 485–498https://doi.org/10.1145/2837614.2837663The core challenge in designing an effective static program analysis is to find a good program abstraction -- one that retains only details relevant to a given query. In this paper, we present a new approach for automatically finding such an ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 1 - research-articleJanuary 2016
Newtonian program analysis via tensor product
POPL '16: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesPages 663–677https://doi.org/10.1145/2837614.2837659Recently, Esparza et al. generalized Newton's method -- a numerical-analysis algorithm for finding roots of real-valued functions---to a method for finding fixed-points of systems of equations over semirings. Their method provides a new way to solve ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 1 -
- research-articleJanuary 2016
Scaling network verification using symmetry and surgery
POPL '16: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesPages 69–83https://doi.org/10.1145/2837614.2837657On the surface, large data centers with about 100,000 stations and nearly a million routing rules are complex and hard to verify. However, these networks are highly regular by design; for example they employ fat tree topologies with backup routers ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 1 - research-articleJanuary 2016
PolyCheck: dynamic verification of iteration space transformations on affine programs
POPL '16: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesPages 539–554https://doi.org/10.1145/2837614.2837656High-level compiler transformations, especially loop transformations, are widely recognized as critical optimizations to restructure programs to improve data locality and expose parallelism. Guaranteeing the correctness of program transformations is ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 1 - research-articleJanuary 2016
Dependent types and multi-monadic effects in F*
- Nikhil Swamy,
- Cătălin Hriţcu,
- Chantal Keller,
- Aseem Rastogi,
- Antoine Delignat-Lavaud,
- Simon Forest,
- Karthikeyan Bhargavan,
- Cédric Fournet,
- Pierre-Yves Strub,
- Markulf Kohlweiss,
- Jean-Karim Zinzindohoue,
- Santiago Zanella-Béguelin
POPL '16: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesPages 256–270https://doi.org/10.1145/2837614.2837655We present a new, completely redesigned, version of F*, a language that works both as a proof assistant as well as a general-purpose, verification-oriented, effectful programming language. In support of these complementary roles, F* is a dependently ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 1 - research-articleJanuary 2016
Environmental bisimulations for probabilistic higher-order languages
POPL '16: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesPages 595–607https://doi.org/10.1145/2837614.2837651Environmental bisimulations for probabilistic higher-order languages are studied. In contrast with applicative bisimulations, environmental bisimulations are known to be more robust and do not require sophisticated techniques such as Howe’s in the ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 1 - research-articleJanuary 2016
Reducing crash recoverability to reachability
POPL '16: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesPages 97–108https://doi.org/10.1145/2837614.2837648Software applications run on a variety of platforms (filesystems, virtual slices, mobile hardware, etc.) that do not provide 100% uptime. As such, these applications may crash at any unfortunate moment losing volatile data and, when re-launched, they ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 1 - research-articleJanuary 2016
Symbolic abstract data type inference
POPL '16: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesPages 513–525https://doi.org/10.1145/2837614.2837645Formal specification is a vital ingredient to scalable verification of software systems. In the case of efficient implementations of concurrent objects like atomic registers, queues, and locks, symbolic formal representations of their abstract data ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 1 - research-articleJanuary 2016
Sound type-dependent syntactic language extension
POPL '16: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesPages 204–216https://doi.org/10.1145/2837614.2837644Syntactic language extensions can introduce new facilities into a programming language while requiring little implementation effort and modest changes to the compiler. It is typical to desugar language extensions in a distinguished compiler phase after ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 1 - research-articleJanuary 2016
Taming release-acquire consistency
POPL '16: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesPages 649–662https://doi.org/10.1145/2837614.2837643We introduce a strengthening of the release-acquire fragment of the C11 memory model that (i) forbids dubious behaviors that are not observed in any implementation; (ii) supports fence instructions that restore sequential consistency; and (iii) admits ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 1 - research-articleJanuary 2016
Lightweight verification of separate compilation
POPL '16: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesPages 178–190https://doi.org/10.1145/2837614.2837642Major compiler verification efforts, such as the CompCert project, have traditionally simplified the verification problem by restricting attention to the correctness of whole-program compilation, leaving open the question of how to verify the ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 1 - research-articleJanuary 2016
String solving with word equations and transducers: towards a logic for analysing mutation XSS
POPL '16: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesPages 123–136https://doi.org/10.1145/2837614.2837641We study the fundamental issue of decidability of satisfiability over string logics with concatenations and finite-state transducers as atomic operations. Although restricting to one type of operations yields decidability, little is known about the ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 1 - research-articleJanuary 2016
Decidability of inferring inductive invariants
POPL '16: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesPages 217–231https://doi.org/10.1145/2837614.2837640Induction is a successful approach for verification of hardware and software systems. A common practice is to model a system using logical formulas, and then use a decision procedure to verify that some logical formula is an inductive safety invariant ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 1 - research-articleJanuary 2016
Algorithmic analysis of qualitative and quantitative termination problems for affine probabilistic programs
POPL '16: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesPages 327–342https://doi.org/10.1145/2837614.2837639In this paper, we consider termination of probabilistic programs with real-valued variables. The questions concerned are: 1. qualitative ones that ask (i) whether the program terminates with probability 1 (almost-sure termination) and (ii) whether the ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 1 - research-articleJanuary 2016
A program logic for concurrent objects under fair scheduling
POPL '16: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesPages 385–399https://doi.org/10.1145/2837614.2837635Existing work on verifying concurrent objects is mostly concerned with safety only, e.g., partial correctness or linearizability. Although there has been recent work verifying lock-freedom of non-blocking objects, much less efforts are focused on ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 1 - research-articleJanuary 2016
Maximal specification synthesis
POPL '16: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesPages 789–801https://doi.org/10.1145/2837614.2837628Many problems in program analysis, verification, and synthesis require inferring specifications of unknown procedures. Motivated by a broad range of applications, we formulate the problem of maximal specification inference: Given a postcondition Phi ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 1 - research-articleJanuary 2016
'Cause I'm strong enough: Reasoning about consistency choices in distributed systems
POPL '16: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesPages 371–384https://doi.org/10.1145/2837614.2837625Large-scale distributed systems often rely on replicated databases that allow a programmer to request different data consistency guarantees for different operations, and thereby control their performance. Using such databases is far from trivial: ...
Also Published in:
ACM SIGPLAN Notices: Volume 51 Issue 1