@inproceedings{2942,
  abstract     = {Interface theories provide a formal framework for component-based development of software and hardware which supports the incremental design of systems and the independent implementability of components. These capabilities are ensured through mathematical properties of the parallel composition operator and the refinement relation for components. More recently, a conjunction operation was added to interface theories in order to provide support for handling multiple viewpoints, requirements engineering, and component reuse. Unfortunately, the conjunction operator does not allow independent implementability in general. In this paper, we study conditions that need to be imposed on interface models in order to enforce independent implementability with respect to conjunction. We focus on multiple viewpoint specifications and propose a new compatibility criterion between two interfaces, which we call orthogonality. We show that orthogonal interfaces can be refined separately, while preserving both orthogonality and composability with other interfaces. We illustrate the independent implementability of different viewpoints with a FIFO buffer example.},
  author       = {Henzinger, Thomas A and Nickovic, Dejan},
  booktitle    = {Conference proceedings Monterey Workshop 2012},
  location     = {Oxford, UK},
  pages        = {380 -- 395},
  publisher    = {Springer},
  title        = {{Independent implementability of viewpoints}},
  doi          = {10.1007/978-3-642-34059-8_20},
  volume       = {7539},
  year         = {2012},
}

@article{2967,
  abstract     = {For programs whose data variables range over Boolean or finite domains, program verification is decidable, and this forms the basis of recent tools for software model checking. In this article, we consider algorithmic verification of programs that use Boolean variables, and in addition, access a single read-only array whose length is potentially unbounded, and whose elements range over an unbounded data domain. We show that the reachability problem, while undecidable in general, is (1) PSPACE-complete for programs in which the array-accessing for-loops are not nested, (2) decidable for a restricted class of programs with doubly nested loops. The second result establishes connections to automata and logics defining languages over data words.},
  author       = {Alur, Rajeev and Cerny, Pavol and Weinstein, Scott},
  journal      = {ACM Transactions on Computational Logic},
  number       = {3},
  publisher    = {ACM},
  title        = {{Algorithmic analysis of array-accessing programs}},
  doi          = {10.1145/2287718.2287727},
  volume       = {13},
  year         = {2012},
}

@article{494,
  abstract     = {We solve the longstanding open problems of the blow-up involved in the translations, when possible, of a nondeterministic Büchi word automaton (NBW) to a nondeterministic co-Büchi word automaton (NCW) and to a deterministic co-Büchi word automaton (DCW). For the NBW to NCW translation, the currently known upper bound is 2o(nlog n) and the lower bound is 1.5n. We improve the upper bound to n2n and describe a matching lower bound of 2ω(n). For the NBW to DCW translation, the currently known upper bound is 2o(nlog n). We improve it to 2 o(n), which is asymptotically tight. Both of our upper-bound constructions are based on a simple subset construction, do not involve intermediate automata with richer acceptance conditions, and can be implemented symbolically. We continue and solve the open problems of translating nondeterministic Streett, Rabin, Muller, and parity word automata to NCW and to DCW. Going via an intermediate NBW is not optimal and we describe direct, simple, and asymptotically tight constructions, involving a 2o(n) blow-up. The constructions are variants of the subset construction, providing a unified approach for translating all common classes of automata to NCW and DCW. Beyond the theoretical importance of the results, we point to numerous applications of the new constructions. In particular, they imply a simple subset-construction based translation, when possible, of LTL to deterministic Büchi word automata.},
  author       = {Boker, Udi and Kupferman, Orna},
  journal      = {ACM Transactions on Computational Logic},
  number       = {4},
  publisher    = {ACM},
  title        = {{Translating to Co-Büchi made tight, unified, and useful}},
  doi          = {10.1145/2362355.2362357},
  volume       = {13},
  year         = {2012},
}

@article{531,
  abstract     = {Software transactional memories (STM) are described in the literature with assumptions of sequentially consistent program execution and atomicity of high level operations like read, write, and abort. However, in a realistic setting, processors use relaxed memory models to optimize hardware performance. Moreover, the atomicity of operations depends on the underlying hardware. This paper presents the first approach to verify STMs under relaxed memory models with atomicity of 32 bit loads and stores, and read-modify-write operations. We describe RML, a simple language for expressing concurrent programs. We develop a semantics of RML parametrized by a relaxed memory model. We then present our tool, FOIL, which takes as input the RML description of an STM algorithm restricted to two threads and two variables, and the description of a memory model, and automatically determines the locations of fences, which if inserted, ensure the correctness of the restricted STM algorithm under the given memory model. We use FOIL to verify DSTM, TL2, and McRT STM under the memory models of sequential consistency, total store order, partial store order, and relaxed memory order for two threads and two variables. Finally, we extend the verification results for DSTM and TL2 to an arbitrary number of threads and variables by manually proving that the structural properties of STMs are satisfied at the hardware level of atomicity under the considered relaxed memory models.},
  author       = {Guerraoui, Rachid and Henzinger, Thomas A and Singh, Vasu},
  journal      = {Formal Methods in System Design},
  number       = {3},
  pages        = {297 -- 331},
  publisher    = {Springer},
  title        = {{Verification of STM on relaxed memory models}},
  doi          = {10.1007/s10703-011-0131-3},
  volume       = {39},
  year         = {2011},
}

@misc{5383,
  abstract     = {We present a new decidable logic called TREX for expressing constraints about imperative tree data structures. In particular, TREX supports a transitive closure operator that can express reachability constraints, which often appear in data structure invariants. We show that our logic is closed under weakest precondition computation, which enables its use for automated software verification. We further show that satisfiability of formulas in TREX is decidable in NP. The low complexity makes it an attractive alternative to more expensive logics such as monadic second-order logic (MSOL) over trees, which have been traditionally used for reasoning about tree data structures.},
  author       = {Wies, Thomas and Muñiz, Marco and Kuncak, Viktor},
  issn         = {2664-1690},
  pages        = {25},
  publisher    = {IST Austria},
  title        = {{On an efficient decision procedure for imperative tree data structures}},
  doi          = {10.15479/AT:IST-2011-0005},
  year         = {2011},
}

@inproceedings{3264,
  abstract     = {Verification of programs with procedures, multi-threaded programs, and higher-order functional programs can be effectively au- tomated using abstraction and refinement schemes that rely on spurious counterexamples for abstraction discovery. The analysis of counterexam- ples can be automated by a series of interpolation queries, or, alterna- tively, as a constraint solving query expressed by a set of recursion free Horn clauses. (A set of interpolation queries can be formulated as a single constraint over Horn clauses with linear dependency structure between the unknown relations.) In this paper we present an algorithm for solving recursion free Horn clauses over a combined theory of linear real/rational arithmetic and uninterpreted functions. Our algorithm performs resolu- tion to deal with the clausal structure and relies on partial solutions to deal with (non-local) instances of functionality axioms.},
  author       = {Gupta, Ashutosh and Popeea, Corneliu and Rybalchenko, Andrey},
  editor       = {Yang, Hongseok},
  location     = {Kenting, Taiwan},
  pages        = {188 -- 203},
  publisher    = {Springer},
  title        = {{Solving recursion-free Horn clauses over LI+UIF}},
  doi          = {10.1007/978-3-642-25318-8_16},
  volume       = {7078},
  year         = {2011},
}

@inproceedings{3299,
  abstract     = {We introduce propagation models, a formalism designed to support general and efficient data structures for the transient analysis of biochemical reaction networks. We give two use cases for propagation abstract data types: the uniformization method and numerical integration. We also sketch an implementation of a propagation abstract data type, which uses abstraction to approximate states.},
  author       = {Henzinger, Thomas A and Mateescu, Maria},
  location     = {Paris, France},
  pages        = {1 -- 3},
  publisher    = {Springer},
  title        = {{Propagation models for computing biochemical reaction networks}},
  doi          = {10.1145/2037509.2037510},
  year         = {2011},
}

@inproceedings{3301,
  abstract     = {The chemical master equation is a differential equation describing the time evolution of the probability distribution over the possible “states” of a biochemical system. The solution of this equation is of interest within the systems biology field ever since the importance of the molec- ular noise has been acknowledged. Unfortunately, most of the systems do not have analytical solutions, and numerical solutions suffer from the course of dimensionality and therefore need to be approximated. Here, we introduce the concept of tail approximation, which retrieves an approximation of the probabilities in the tail of a distribution from the total probability of the tail and its conditional expectation. This approximation method can then be used to numerically compute the solution of the chemical master equation on a subset of the state space, thus fighting the explosion of the state space, for which this problem is renowned.},
  author       = {Henzinger, Thomas A and Mateescu, Maria},
  publisher    = {Tampere International Center for Signal Processing},
  title        = {{Tail approximation for the chemical master equation}},
  year         = {2011},
}

@inproceedings{3316,
  abstract     = {In addition to being correct, a system should be robust, that is, it should behave reasonably even after receiving unexpected inputs. In this paper, we summarize two formal notions of robustness that we have introduced previously for reactive systems. One of the notions is based on assigning costs for failures on a user-provided notion of incorrect transitions in a specification. Here, we define a system to be robust if a finite number of incorrect inputs does not lead to an infinite number of incorrect outputs. We also give a more refined notion of robustness that aims to minimize the ratio of output failures to input failures. The second notion is aimed at liveness. In contrast to the previous notion, it has no concept of recovery from an error. Instead, it compares the ratio of the number of liveness constraints that the system violates to the number of liveness constraints that the environment violates.},
  author       = {Bloem, Roderick and Chatterjee, Krishnendu and Greimel, Karin and Henzinger, Thomas A and Jobstmann, Barbara},
  booktitle    = {6th IEEE International Symposium on Industrial and Embedded Systems},
  location     = {Vasteras, Sweden},
  pages        = {176 -- 185},
  publisher    = {IEEE},
  title        = {{Specification-centered robustness}},
  doi          = {10.1109/SIES.2011.5953660},
  year         = {2011},
}

@inproceedings{3323,
  abstract     = {We present a new decidable logic called TREX for expressing constraints about imperative tree data structures. In particular, TREX supports a transitive closure operator that can express reachability constraints, which often appear in data structure invariants. We show that our logic is closed under weakest precondition computation, which enables its use for automated software verification. We further show that satisfiability of formulas in TREX is decidable in NP. The low complexity makes it an attractive alternative to more expensive logics such as monadic second-order logic (MSOL) over trees, which have been traditionally used for reasoning about tree data structures.},
  author       = {Wies, Thomas and Muñiz, Marco and Kuncak, Viktor},
  location     = {Wrocław, Poland},
  pages        = {476 -- 491},
  publisher    = {Springer},
  title        = {{An efficient decision procedure for imperative tree data structures}},
  doi          = {10.1007/978-3-642-22438-6_36},
  volume       = {6803},
  year         = {2011},
}

@inproceedings{3324,
  abstract     = {Automated termination provers often use the following schema to prove that a program terminates: construct a relational abstraction of the program's transition relation and then show that the relational abstraction is well-founded. The focus of current tools has been on developing sophisticated techniques for constructing the abstractions while relying on known decidable logics (such as linear arithmetic) to express them. We believe we can significantly increase the class of programs that are amenable to automated termination proofs by identifying more expressive decidable logics for reasoning about well-founded relations. We therefore present a new decision procedure for reasoning about multiset orderings, which are among the most powerful orderings used to prove termination. We show that, using our decision procedure, one can automatically prove termination of natural abstractions of programs.},
  author       = {Piskac, Ruzica and Wies, Thomas},
  editor       = {Jhala, Ranjit and Schmidt, David},
  location     = {Texas, USA},
  pages        = {371 -- 386},
  publisher    = {Springer},
  title        = {{Decision procedures for automating termination proofs}},
  doi          = {10.1007/978-3-642-18275-4_26},
  volume       = {6538},
  year         = {2011},
}

@inproceedings{3325,
  abstract     = {We introduce streaming data string transducers that map input data strings to output data strings in a single left-to-right pass in linear time. Data strings are (unbounded) sequences of data values, tagged with symbols from a finite set, over a potentially infinite data do- main that supports only the operations of equality and ordering. The transducer uses a finite set of states, a finite set of variables ranging over the data domain, and a finite set of variables ranging over data strings. At every step, it can make decisions based on the next in- put symbol, updating its state, remembering the input data value in its data variables, and updating data-string variables by concatenat- ing data-string variables and new symbols formed from data vari- ables, while avoiding duplication. We establish that the problems of checking functional equivalence of two streaming transducers, and of checking whether a streaming transducer satisfies pre/post verification conditions specified by streaming acceptors over in- put/output data-strings, are in PSPACE. We identify a class of imperative and a class of functional pro- grams, manipulating lists of data items, which can be effectively translated to streaming data-string transducers. The imperative pro- grams dynamically modify a singly-linked heap by changing next- pointers of heap-nodes and by adding new nodes. The main re- striction specifies how the next-pointers can be used for traversal. We also identify an expressively equivalent fragment of functional programs that traverse a list using syntactically restricted recursive calls. Our results lead to algorithms for assertion checking and for checking functional equivalence of two programs, written possibly in different programming styles, for commonly used routines such as insert, delete, and reverse.},
  author       = {Alur, Rajeev and Cerny, Pavol},
  location     = {Texas, USA},
  number       = {1},
  pages        = {599 -- 610},
  publisher    = {ACM},
  title        = {{Streaming transducers for algorithmic verification of single pass list processing programs}},
  doi          = {10.1145/1926385.1926454},
  volume       = {46},
  year         = {2011},
}

@inproceedings{3326,
  abstract     = {Weighted automata map input words to numerical values. Ap- plications of weighted automata include formal verification of quantitative properties, as well as text, speech, and image processing. A weighted au- tomaton is defined with respect to a semiring. For the tropical semiring, the weight of a run is the sum of the weights of the transitions taken along the run, and the value of a word is the minimal weight of an accepting run on it. In the 90’s, Krob studied the decidability of problems on rational series defined with respect to the tropical semiring. Rational series are strongly related to weighted automata, and Krob’s results apply to them. In par- ticular, it follows from Krob’s results that the universality problem (that is, deciding whether the values of all words are below some threshold) is decidable for weighted automata defined with respect to the tropical semir- ing with domain ∪ {∞}, and that the equality problem is undecidable when the domain is ∪ {∞}. In this paper we continue the study of the borders of decidability in weighted automata, describe alternative and direct proofs of the above results, and tighten them further. Unlike the proofs of Krob, which are algebraic in their nature, our proofs stay in the terrain of state machines, and the reduction is from the halting problem of a two-counter machine. This enables us to significantly simplify Krob’s reasoning, make the un- decidability result accessible to the automata-theoretic community, and strengthen it to apply already to a very simple class of automata: all the states are accepting, there are no initial nor final weights, and all the weights on the transitions are from the set {−1, 0, 1}. The fact we work directly with the automata enables us to tighten also the decidability re- sults and to show that the universality problem for weighted automata defined with respect to the tropical semiring with domain ∪ {∞}, and in fact even with domain ≥0 ∪ {∞}, is PSPACE-complete. Our results thus draw a sharper picture about the decidability of decision problems for weighted automata, in both the front of containment vs. universality and the front of the ∪ {∞} vs. the ∪ {∞} domains.},
  author       = {Almagor, Shaull and Boker, Udi and Kupferman, Orna},
  location     = {Taipei, Taiwan},
  pages        = {482 -- 491},
  publisher    = {Springer},
  title        = {{What’s decidable about weighted automata}},
  doi          = {10.1007/978-3-642-24372-1_37},
  volume       = {6996},
  year         = {2011},
}

@article{3352,
  abstract     = {Exploring the connection of biology with reactive systems to better understand living systems.},
  author       = {Fisher, Jasmin and Harel, David and Henzinger, Thomas A},
  journal      = {Communications of the ACM},
  number       = {10},
  pages        = {72 -- 82},
  publisher    = {ACM},
  title        = {{Biology as reactivity}},
  doi          = {10.1145/2001269.2001289},
  volume       = {54},
  year         = {2011},
}

@inproceedings{3355,
  abstract     = {Byzantine Fault Tolerant (BFT) protocols aim to improve the reliability of distributed systems. They enable systems to tolerate arbitrary failures in a bounded number of nodes. BFT protocols are usually proven correct for certain safety and liveness properties. However, recent studies have shown that the performance of state-of-the-art BFT protocols decreases drastically in the presence of even a single malicious node. This motivates a formal quantitative analysis of BFT protocols to investigate their performance characteristics under different scenarios. We present HyPerf, a new hybrid methodology based on model checking and simulation techniques for evaluating the performance of BFT protocols. We build a transition system corresponding to a BFT protocol and systematically explore the set of behaviors allowed by the protocol. We associate certain timing information with different operations in the protocol, like cryptographic operations and message transmission. After an elaborate state exploration, we use the time information to evaluate the performance characteristics of the protocol using simulation techniques. We integrate our framework in Mace, a tool for building and verifying distributed systems. We evaluate the performance of PBFT using our framework. We describe two different use-cases of our methodology. For the benign operation of the protocol, we use the time information as random variables to compute the probability distribution of the execution times. In the presence of faults, we estimate the worst-case performance of the protocol for various attacks that can be employed by malicious nodes. Our results show the importance of hybrid techniques in systematically analyzing the performance of large-scale systems.},
  author       = {Halalai, Raluca and Henzinger, Thomas A and Singh, Vasu},
  location     = {Aachen, Germany},
  pages        = {255 -- 264},
  publisher    = {IEEE},
  title        = {{Quantitative evaluation of BFT protocols}},
  doi          = {10.1109/QEST.2011.40},
  year         = {2011},
}

@inproceedings{3357,
  abstract     = {We consider two-player graph games whose objectives are request-response condition, i.e conjunctions of conditions of the form "if a state with property Rq is visited, then later a state with property Rp is visited". The winner of such games can be decided in EXPTIME and the problem is known to be NP-hard. In this paper, we close this gap by showing that this problem is, in fact, EXPTIME-complete. We show that the problem becomes PSPACE-complete if we only consider games played on DAGs, and NP-complete or PTIME-complete if there is only one player (depending on whether he wants to enforce or spoil the request-response condition). We also present near-optimal bounds on the memory needed to design winning strategies for each player, in each case.},
  author       = {Chatterjee, Krishnendu and Henzinger, Thomas A and Horn, Florian},
  editor       = {Dediu, Adrian-Horia and Inenaga, Shunsuke and Martín-Vide, Carlos},
  location     = {Tarragona, Spain},
  pages        = {227 -- 237},
  publisher    = {Springer},
  title        = {{The complexity of request-response games}},
  doi          = {10.1007/978-3-642-21254-3_17},
  volume       = {6638},
  year         = {2011},
}

@inproceedings{3358,
  abstract     = {The static scheduling problem often arises as a fundamental problem in real-time systems and grid computing. We consider the problem of statically scheduling a large job expressed as a task graph on a large number of computing nodes, such as a data center. This paper solves the large-scale static scheduling problem using abstraction refinement, a technique commonly used in formal verification to efficiently solve computationally hard problems. A scheduler based on abstraction refinement first attempts to solve the scheduling problem with abstract representations of the job and the computing resources. As abstract representations are generally small, the scheduling can be done reasonably fast. If the obtained schedule does not meet specified quality conditions (like data center utilization or schedule makespan) then the scheduler refines the job and data center abstractions and, again solves the scheduling problem. We develop different schedulers based on abstraction refinement. We implemented these schedulers and used them to schedule task graphs from various computing domains on simulated data centers with realistic topologies. We compared the speed of scheduling and the quality of the produced schedules with our abstraction refinement schedulers against a baseline scheduler that does not use any abstraction. We conclude that abstraction refinement techniques give a significant speed-up compared to traditional static scheduling heuristics, at a reasonable cost in the quality of the produced schedules. We further used our static schedulers in an actual system that we deployed on Amazon EC2 and compared it against the Hadoop dynamic scheduler for large MapReduce jobs. Our experiments indicate that there is great potential for static scheduling techniques.},
  author       = {Henzinger, Thomas A and Singh, Vasu and Wies, Thomas and Zufferey, Damien},
  location     = {Salzburg, Austria},
  pages        = {329 -- 342},
  publisher    = {ACM},
  title        = {{Scheduling large jobs by abstraction refinement}},
  doi          = {10.1145/1966445.1966476},
  year         = {2011},
}

@inproceedings{3359,
  abstract     = {Motivated by improvements in constraint-solving technology and by the increase of routinely available computational power, partial-program synthesis is emerging as an effective approach for increasing programmer productivity. The goal of the approach is to allow the programmer to specify a part of her intent imperatively (that is, give a partial program) and a part of her intent declaratively, by specifying which conditions need to be achieved or maintained. The task of the synthesizer is to construct a program that satisfies the specification. As an example, consider a partial program where threads access shared data without using any synchronization mechanism, and a declarative specification that excludes data races and deadlocks. The task of the synthesizer is then to place locks into the program code in order for the program to meet the specification.

In this paper, we argue that quantitative objectives are needed in partial-program synthesis in order to produce higher-quality programs, while enabling simpler specifications. Returning to the example, the synthesizer could construct a naive solution that uses one global lock for shared data. This can be prevented either by constraining the solution space further (which is error-prone and partly defeats the point of synthesis), or by optimizing a quantitative objective that models performance. Other quantitative notions useful in synthesis include fault tolerance, robustness, resource (memory, power) consumption, and information flow.},
  author       = {Cerny, Pavol and Henzinger, Thomas A},
  location     = {Taipei; Taiwan},
  pages        = {149 -- 154},
  publisher    = {ACM},
  title        = {{From boolean to quantitative synthesis}},
  doi          = {10.1145/2038642.2038666},
  year         = {2011},
}

@inproceedings{3360,
  abstract     = {A discounted-sum automaton (NDA) is a nondeterministic finite automaton with edge weights, which values a run by the discounted sum of visited edge weights. More precisely, the weight in the i-th position of the run is divided by lambda^i, where the discount factor lambda is a fixed rational number greater than 1. Discounted summation is a common and useful measuring scheme, especially for infinite sequences, which reflects the assumption that earlier weights are more important than later weights. Determinizing automata is often essential, for example, in formal verification, where there are polynomial algorithms for comparing two deterministic NDAs, while the equivalence problem for NDAs is not known to be decidable. Unfortunately, however, discounted-sum automata are, in general, not determinizable: it is currently known that for every rational discount factor 1 &lt; lambda &lt; 2, there is an NDA with lambda (denoted lambda-NDA) that cannot be determinized. We provide positive news, showing that every NDA with an integral factor is determinizable. We also complete the picture by proving that the integers characterize exactly the discount factors that guarantee determinizability: we show that for every non-integral rational factor lambda, there is a nondeterminizable lambda-NDA. Finally, we prove that the class of NDAs with integral discount factors enjoys closure under the algebraic operations min, max, addition, and subtraction, which is not the case for general NDAs nor for deterministic NDAs. This shows that for integral discount factors, the class of NDAs forms an attractive specification formalism in quantitative formal verification. All our results hold equally for automata over finite words and for automata over infinite words. },
  author       = {Boker, Udi and Henzinger, Thomas A},
  location     = {Bergen, Norway},
  pages        = {82 -- 96},
  publisher    = {Springer},
  title        = {{Determinizing discounted-sum automata}},
  doi          = {10.4230/LIPIcs.CSL.2011.82},
  volume       = {12},
  year         = {2011},
}

@inproceedings{3361,
  abstract     = {In this paper, we investigate the computational complexity of quantitative information flow (QIF) problems. Information-theoretic quantitative relaxations of noninterference (based on Shannon entropy)have been introduced to enable more fine-grained reasoning about programs in situations where limited information flow is acceptable. The QIF bounding problem asks whether the information flow in a given program is bounded by a constant $d$. Our first result is that the QIF bounding problem is PSPACE-complete. The QIF memoryless synthesis problem asks whether it is possible to resolve nondeterministic choices in a given partial program in such a way that in the resulting deterministic program, the quantitative information flow is bounded by a given constant $d$. Our second result is that the QIF memoryless synthesis problem is also EXPTIME-complete. The QIF memoryless synthesis problem generalizes to QIF general synthesis problem which does not impose the memoryless requirement (that is, by allowing the synthesized program to have more variables then the original partial program). Our third result is that the QIF general synthesis problem is EXPTIME-hard.},
  author       = {Cerny, Pavol and Chatterjee, Krishnendu and Henzinger, Thomas A},
  location     = {Cernay-la-Ville, France},
  pages        = {205 -- 217},
  publisher    = {IEEE},
  title        = {{The complexity of quantitative information flow problems}},
  doi          = {10.1109/CSF.2011.21},
  year         = {2011},
}

