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-articleFebruary 2025JUST ACCEPTED
- research-articleJune 2024
Decomposition-based Synthesis for Applying Divide-and-Conquer-like Algorithmic Paradigms
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 46, Issue 2Article No.: 8, Pages 1–59https://doi.org/10.1145/3648440Algorithmic paradigms such as divide-and-conquer (D&C) are proposed to guide developers in designing efficient algorithms, but it can still be difficult to apply algorithmic paradigms to practical tasks. To ease the usage of paradigms, many research ...
- research-articleNovember 2019
Faster Algorithms for Dynamic Algebraic Queries in Basic RSMs with Constant Treewidth
- Krishnendu Chatterjee,
- Amir Kafshdar Goharshady,
- Prateesh Goyal,
- Rasmus Ibsen-Jensen,
- Andreas Pavlogiannis
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 41, Issue 4Article No.: 23, Pages 1–46https://doi.org/10.1145/3363525Interprocedural analysis is at the heart of numerous applications in programming languages, such as alias analysis, constant propagation, and so on. Recursive state machines (RSMs) are standard models for interprocedural analysis. We consider a general ...
- research-articleJuly 2018
Algorithms for Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 40, Issue 3Article No.: 9, Pages 1–43https://doi.org/10.1145/3210257We study algorithmic questions wrt algebraic path properties in concurrent systems, where the transitions of the system are labeled from a complete, closed semiring. The algebraic path properties can model dataflow analysis problems, the shortest path ...
- research-articleAugust 2016
Analyzing Runtime and Size Complexity of Integer Programs
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 38, Issue 4Article No.: 13, Pages 1–50https://doi.org/10.1145/2866575We present a modular approach to automatic complexity analysis of integer programs. Based on a novel alternation between finding symbolic time bounds for program parts and using these to infer bounds on the absolute values of program variables, we can ...
-
- research-articleApril 2016
Automatic Storage Optimization for Arrays
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 38, Issue 3Article No.: 11, Pages 1–23https://doi.org/10.1145/2845078Efficient memory allocation is crucial for data-intensive applications, as a smaller memory footprint ensures better cache performance and allows one to run a larger problem size given a fixed amount of main memory. In this article, we describe a new ...
- research-articleNovember 2014
A Scheduling Framework for Spatial Architectures Across Multiple Constraint-Solving Theories
- Tony Nowatzki,
- Michael Sartin-Tarm,
- Lorenzo De Carli,
- Karthikeyan Sankaralingam,
- Cristian Estan,
- Behnam Robatmili
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 37, Issue 1Article No.: 2, Pages 1–30https://doi.org/10.1145/2658993Spatial architectures provide energy-efficient computation but require effective scheduling algorithms. Existing heuristic-based approaches offer low compiler/architect productivity, little optimality insight, and low architectural portability.
We seek ...
- research-articleJuly 2013
Efficient Identification of Linchpin Vertices in Dependence Clusters
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 35, Issue 2Article No.: 7, Pages 1–35https://doi.org/10.1145/2491522.2491524Several authors have found evidence of large dependence clusters in the source code of a diverse range of systems, domains, and programming languages. This raises the question of how we might efficiently locate the fragments of code that give rise to ...
- research-articleDecember 2012
On the Termination of Integer Loops
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 34, Issue 4Article No.: 16, Pages 1–24https://doi.org/10.1145/2400676.2400679In this article we study the decidability of termination of several variants of simple integer loops, without branching in the loop body and with affine constraints as the loop guard (and possibly a precondition). We show that termination of such loops ...
- research-articleFebruary 2009
The computational power and complexity of constraint handling rules
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 31, Issue 2Article No.: 8, Pages 1–42https://doi.org/10.1145/1462166.1462169Constraint Handling Rules (CHR) is a high-level rule-based programming language which is increasingly used for general-purpose programming. We introduce the CHR machine, a model of computation based on the operational semantics of CHR. Its computational ...
- articleNovember 2007
Empirical study of optimization techniques for massive slicing
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 30, Issue 1Pages 3–eshttps://doi.org/10.1145/1290520.1290523This article presents results from a study of techniques that improve the performance of graph-based interprocedural slicing of the System Dependence Graph (SDG). This is useful in “massive slicing” where slices are required for many or all of the ...
- articleNovember 2007
Forma: A framework for safe automatic array reshaping
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 30, Issue 1Pages 2–eshttps://doi.org/10.1145/1290520.1290522This article presents Forma, a practical, safe, and automatic data reshaping framework that reorganizes arrays to improve data locality. Forma splits large aggregated data-types into smaller ones to improve data locality. Arrays of these large data ...
- articleOctober 2007
An improved bound for call strings based interprocedural analysis of bit vector frameworks
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 29, Issue 6Pages 38–eshttps://doi.org/10.1145/1286821.1286829Interprocedural data flow analysis extends the scope of analysis across procedure boundaries in search of increased optimization opportunities. Call strings based approach is a general approach for performing flow and context sensitive interprocedural ...
- articleNovember 2006
Adaptive functional programming
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 28, Issue 6Pages 990–1034https://doi.org/10.1145/1186632.1186634We present techniques for incremental computing by introducing adaptive functional programming. As an adaptive program executes, the underlying system represents the data and control dependences in the execution in the form of a dynamic dependence graph...
- articleJuly 2006
Fast partial evaluation of pattern matching in strings
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 28, Issue 4Pages 696–714https://doi.org/10.1145/1146809.1146812We show how to obtain all of Knuth, Morris, and Pratt's linear-time string matcher by specializing a quadratic-time string matcher with respect to a pattern string. Although it has been known for fifteen years how to obtain this linear matcher by ...
- articleSeptember 2005
Functional declarative language design and predicate calculus: a practical approach
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 27, Issue 5Pages 988–1047https://doi.org/10.1145/1086642.1086647In programming language and software engineering, the main mathematical tool is de facto some form of predicate logic. Yet, as elsewhere in applied mathematics, it is used mostly far below its potential, due to its traditional formulation as just a ...
- articleMay 2005
Corrigendum: a new, simpler linear-time dominators algorithm
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 27, Issue 3Pages 383–387https://doi.org/10.1145/1065887.1065888Corrigendum to ACM Transactions on Programming Languages and Systems, 20(6):1265--1296, 1998.
- articleMarch 2004
Traversals of object structures: Specification and Efficient Implementation
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 26, Issue 2Pages 370–412https://doi.org/10.1145/973097.973102Separation of concerns and loose coupling of concerns are important issues in software enginnering. In this paper we show how to separate traversal-related concerns from other concerns, how to loosely couple traversal-related concerns to the structural ...
- articleNovember 2003
Fractal symbolic analysis
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 25, Issue 6Pages 776–813https://doi.org/10.1145/945885.945888Modern compilers restructure programs to improve their efficiency. Dependence analysis is the most widely used technique for proving the correctness of such transformations, but it suffers from the limitation that it considers only the memory locations ...
- articleJanuary 2001
Scheduling time-constrained instructions on pipelined processors
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 23, Issue 1Pages 73–103https://doi.org/10.1145/383721.383733In this work we investigate the problem of scheduling instructions on idealized microprocessors with multiple pipelines, in the presence of precedence constraints, release-times, deadlines, and latency constraints. A latency of lij specifies that there ...