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-articleMay 2024
CFLOBDDs: Context-Free-Language Ordered Binary Decision Diagrams
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 46, Issue 2Article No.: 7, Pages 1–82https://doi.org/10.1145/3651157This article presents a new compressed representation of Boolean functions, called CFLOBDDs (for Context-Free-Language Ordered Binary Decision Diagrams). They are essentially a plug-compatible alternative to BDDs (Binary Decision Diagrams), and hence are ...
- research-articleJanuary 2024
Choral: Object-oriented Choreographic Programming
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 46, Issue 1Article No.: 1, Pages 1–59https://doi.org/10.1145/3632398Choreographies are coordination plans for concurrent and distributed systems, which define the roles of the involved participants and how they are supposed to work together. In the paradigm of choreographic programming, choreographies are programs that ...
- research-articleJune 2023
Synchronous Deterministic Parallel Programming for Multi-Cores with ForeC
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 45, Issue 2Article No.: 11, Pages 1–74https://doi.org/10.1145/3591594Embedded real-time systems are tightly integrated with their physical environment. Their correctness depends both on the outputs and timeliness of their computations. The increasing use of multi-core processors in such systems is pushing embedded ...
- research-articleDecember 2021
-
- research-articleMay 2020
Symbolic Disintegration with a Variety of Base Measures
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 42, Issue 2Article No.: 9, Pages 1–60https://doi.org/10.1145/3374208Disintegration is a relation on measures and a transformation on probabilistic programs that generalizes density calculation and conditioning, two operations widely used for exact and approximate inference. Existing program transformations that find a ...
- research-articleJuly 2019
Combinatorial Register Allocation and Instruction Scheduling
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 41, Issue 3Article No.: 17, Pages 1–53https://doi.org/10.1145/3332373This article introduces a combinatorial optimization approach to register allocation and instruction scheduling, two central compiler problems. Combinatorial optimization has the potential to solve these problems optimally and to exploit processor-...
- research-articleJuly 2019
Failure Recovery in Resilient X10
- David Grove,
- Sara S. Hamouda,
- Benjamin Herta,
- Arun Iyengar,
- Kiyokuni Kawachiya,
- Josh Milthorpe,
- Vijay Saraswat,
- Avraham Shinnar,
- Mikio Takeuchi,
- Olivier Tardieu
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 41, Issue 3Article No.: 15, Pages 1–30https://doi.org/10.1145/3332372Cloud computing has made the resources needed to execute large-scale in-memory distributed computations widely available. Specialized programming models, e.g., MapReduce, have emerged to offer transparent fault tolerance and fault recovery for specific ...
- research-articleJune 2019
A Machine-Learning Algorithm with Disjunctive Model for Data-Driven Program Analysis
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 41, Issue 2Article No.: 13, Pages 1–41https://doi.org/10.1145/3293607We present a new machine-learning algorithm with disjunctive model for data-driven program analysis. One major challenge in static program analysis is a substantial amount of manual effort required for tuning the analysis performance. Recently, data-...
- research-articleMarch 2019
Rethinking Incremental and Parallel Pointer Analysis
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 41, Issue 1Article No.: 6, Pages 1–31https://doi.org/10.1145/3293606Pointer analysis is at the heart of most interprocedural program analyses. However, scaling pointer analysis to large programs is extremely challenging. In this article, we study incremental pointer analysis and present a new algorithm for computing the ...
- research-articleNovember 2018
Adaptive Static Analysis via Learning with Bayesian Optimization
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 40, Issue 4Article No.: 14, Pages 1–37https://doi.org/10.1145/3121135Building a cost-effective static analyzer for real-world programs is still regarded an art. One key contributor to this grim reputation is the difficulty in balancing the cost and the precision of an analyzer. An ideal analyzer should be adaptive to a ...
- research-articleMay 2017
The Chemical Approach to Typestate-Oriented Programming
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 39, Issue 3Article No.: 13, Pages 1–45https://doi.org/10.1145/3064849We introduce a novel approach to typestate-oriented programming based on the chemical metaphor: state and operations on objects are molecules of messages, and state transformations are chemical reactions. This approach allows us to investigate typestate ...
- research-articleMay 2017
Verifying Invariants of Lock-Free Data Structures with Rely-Guarantee and Refinement Types
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 39, Issue 3Article No.: 11, Pages 1–54https://doi.org/10.1145/3064850Verifying invariants of fine-grained concurrent data structures is challenging, because interference from other threads may occur at any time. We propose a new way of proving invariants of fine-grained concurrent data structures: applying rely-guarantee ...
- research-articleDecember 2015
Compiler-Driven Software Speculation for Thread-Level Parallelism
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 38, Issue 2Article No.: 5, Pages 1–45https://doi.org/10.1145/2821505Current parallelizing compilers can tackle applications exercising regular access patterns on arrays or affine indices, where data dependencies can be expressed in a linear form. Unfortunately, there are cases that independence between statements of code ...
- research-articleSeptember 2014
Lazy Scheduling: A Runtime Adaptive Scheduler for Declarative Parallelism
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 36, Issue 3Article No.: 10, Pages 1–51https://doi.org/10.1145/2629643Lazy scheduling is a runtime scheduler for task-parallel codes that effectively coarsens parallelism on load conditions in order to significantly reduce its overheads compared to existing approaches, thus enabling the efficient execution of more fine-...
- research-articleJuly 2014
Atomicity Refinement for Verified Compilation
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 36, Issue 2Article No.: 6, Pages 1–30https://doi.org/10.1145/2601339We consider the verified compilation of high-level managed languages like Java or C# whose intermediate representations provide support for shared-memory synchronization and automatic memory management. Our development is framed in the context of the ...
- research-articleMarch 2014
Æminium: A Permission-Based Concurrent-by-Default Programming Language Approach
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 36, Issue 1Article No.: 2, Pages 1–42https://doi.org/10.1145/2543920Writing concurrent applications is extremely challenging, not only in terms of producing bug-free and maintainable software, but also for enabling developer productivity. In this article we present the Æminium concurrent-by-default programming language. ...
- research-articleApril 2013
TSL: A System for Generating Abstract Interpreters and its Application to Machine-Code Analysis
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 35, Issue 1Article No.: 4, Pages 1–59https://doi.org/10.1145/2450136.2450139This article describes the design and implementation of a system, called TSL (for Transformer Specification Language), that provides a systematic solution to the problem of creating retargetable tools for analyzing machine code. TSL is a tool generator--...
- research-articleMay 2012
ScalaExtrap: Trace-based communication extrapolation for SPMD programs
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 34, Issue 1Article No.: 5, Pages 1–29https://doi.org/10.1145/2160910.2160914Performance modeling for scientific applications is important for assessing potential application performance and systems procurement in high-performance computing (HPC). Recent progress on communication tracing opens up novel opportunities for ...
- research-articleMay 2012
A data-centric approach to synchronization
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 34, Issue 1Article No.: 4, Pages 1–48https://doi.org/10.1145/2160910.2160913Concurrency-related errors, such as data races, are frustratingly difficult to track down and eliminate in large object-oriented programs. Traditional approaches to preventing data races rely on protecting instruction sequences with synchronization ...