@inproceedings{2239,
  abstract     = {The analysis of the energy consumption of software is an important goal for quantitative formal methods. Current methods, using weighted transition systems or energy games, model the energy source as an ideal resource whose status is characterized by one number, namely the amount of remaining energy. Real batteries, however, exhibit behaviors that can deviate substantially from an ideal energy resource. Based on a discretization of a standard continuous battery model, we introduce battery transition systems. In this model, a battery is viewed as consisting of two parts-the available-charge tank and the bound-charge tank. Any charge or discharge is applied to the available-charge tank. Over time, the energy from each tank diffuses to the other tank. Battery transition systems are infinite state systems that, being not well-structured, fall into no decidable class that is known to us. Nonetheless, we are able to prove that the !-regular modelchecking problem is decidable for battery transition systems. We also present a case study on the verification of control programs for energy-constrained semi-autonomous robots.},
  author       = {Boker, Udi and Henzinger, Thomas A and Radhakrishna, Arjun},
  isbn         = {978-145032544-8},
  location     = {San Diego, USA},
  number       = {1},
  pages        = {595 -- 606},
  publisher    = {ACM},
  title        = {{Battery transition systems}},
  doi          = {10.1145/2535838.2535875},
  volume       = {49},
  year         = {2014},
}

@inproceedings{1376,
  abstract     = {We consider the distributed synthesis problem for temporal logic specifications. Traditionally, the problem has been studied for LTL, and the previous results show that the problem is decidable iff there is no information fork in the architecture. We consider the problem for fragments of LTL and our main results are as follows: (1) We show that the problem is undecidable for architectures with information forks even for the fragment of LTL with temporal operators restricted to next and eventually. (2) For specifications restricted to globally along with non-nested next operators, we establish decidability (in EXPSPACE) for star architectures where the processes receive disjoint inputs, whereas we establish undecidability for architectures containing an information fork-meet structure. (3) Finally, we consider LTL without the next operator, and establish decidability (NEXPTIME-complete) for all architectures for a fragment that consists of a set of safety assumptions, and a set of guarantees where each guarantee is a safety, reachability, or liveness condition.},
  author       = {Chatterjee, Krishnendu and Henzinger, Thomas A and Otop, Jan and Pavlogiannis, Andreas},
  booktitle    = {13th International Conference on Formal Methods in Computer-Aided Design},
  location     = {Portland, OR, United States},
  pages        = {18 -- 25},
  publisher    = {IEEE},
  title        = {{Distributed synthesis for LTL fragments}},
  doi          = {10.1109/FMCAD.2013.6679386},
  year         = {2013},
}

@inproceedings{1385,
  abstract     = {It is often difficult to correctly implement a Boolean controller for a complex system, especially when concurrency is involved. Yet, it may be easy to formally specify a controller. For instance, for a pipelined processor it suffices to state that the visible behavior of the pipelined system should be identical to a non-pipelined reference system (Burch-Dill paradigm). We present a novel procedure to efficiently synthesize multiple Boolean control signals from a specification given as a quantified first-order formula (with a specific quantifier structure). Our approach uses uninterpreted functions to abstract details of the design. We construct an unsatisfiable SMT formula from the given specification. Then, from just one proof of unsatisfiability, we use a variant of Craig interpolation to compute multiple coordinated interpolants that implement the Boolean control signals. Our method avoids iterative learning and back-substitution of the control functions. We applied our approach to synthesize a controller for a simple two-stage pipelined processor, and present first experimental results.},
  author       = {Hofferek, Georg and Gupta, Ashutosh and Könighofer, Bettina and Jiang, Jie and Bloem, Roderick},
  booktitle    = {2013 Formal Methods in Computer-Aided Design},
  location     = {Portland, OR, United States},
  pages        = {77 -- 84},
  publisher    = {IEEE},
  title        = {{Synthesizing multiple boolean functions using interpolation on a single proof}},
  doi          = {10.1109/FMCAD.2013.6679394},
  year         = {2013},
}

@inproceedings{1387,
  abstract     = {Choices made by nondeterministic word automata depend on both the past (the prefix of the word read so far) and the future (the suffix yet to be read). In several applications, most notably synthesis, the future is diverse or unknown, leading to algorithms that are based on deterministic automata. Hoping to retain some of the advantages of nondeterministic automata, researchers have studied restricted classes of nondeterministic automata. Three such classes are nondeterministic automata that are good for trees (GFT; i.e., ones that can be expanded to tree automata accepting the derived tree languages, thus whose choices should satisfy diverse futures), good for games (GFG; i.e., ones whose choices depend only on the past), and determinizable by pruning (DBP; i.e., ones that embody equivalent deterministic automata). The theoretical properties and relative merits of the different classes are still open, having vagueness on whether they really differ from deterministic automata. In particular, while DBP ⊆ GFG ⊆ GFT, it is not known whether every GFT automaton is GFG and whether every GFG automaton is DBP. Also open is the possible succinctness of GFG and GFT automata compared to deterministic automata. We study these problems for ω-regular automata with all common acceptance conditions. We show that GFT=GFG⊃DBP, and describe a determinization construction for GFG automata.},
  author       = {Boker, Udi and Kuperberg, Denis and Kupferman, Orna and Skrzypczak, Michał},
  location     = {Riga, Latvia},
  number       = {PART 2},
  pages        = {89 -- 100},
  publisher    = {Springer},
  title        = {{Nondeterminism in the presence of a diverse or unknown future}},
  doi          = {10.1007/978-3-642-39212-2_11},
  volume       = {7966},
  year         = {2013},
}

@phdthesis{1405,
  abstract     = {Motivated by the analysis of highly dynamic message-passing systems, i.e. unbounded thread creation, mobility, etc. we present a framework for the analysis of depth-bounded systems. Depth-bounded systems are one of the most expressive known fragment of the π-calculus for which interesting verification problems are still decidable. Even though they are infinite state systems depth-bounded systems are well-structured, thus can be analyzed algorithmically. We give an interpretation of depth-bounded systems as graph-rewriting systems. This gives more flexibility and ease of use to apply depth-bounded systems to other type of systems like shared memory concurrency.

First, we develop an adequate domain of limits for depth-bounded systems, a prerequisite for the effective representation of downward-closed sets. Downward-closed sets are needed by forward saturation-based algorithms to represent potentially infinite sets of states. Then, we present an abstract interpretation framework to compute the covering set of well-structured transition systems. Because, in general, the covering set is not computable, our abstraction over-approximates the actual covering set. Our abstraction captures the essence of acceleration based-algorithms while giving up enough precision to ensure convergence. We have implemented the analysis in the PICASSO tool and show that it is accurate in practice. Finally, we build some further analyses like termination using the covering set as starting point.},
  author       = {Zufferey, Damien},
  issn         = {2663-337X},
  pages        = {134},
  publisher    = {Institute of Science and Technology Austria},
  title        = {{Analysis of dynamic message passing programs}},
  doi          = {10.15479/at:ista:1405},
  year         = {2013},
}

@misc{5402,
  abstract     = {Linearizability requires that the outcome of calls by competing threads to a concurrent data structure is the same as some sequential execution where each thread has exclusive access to the data structure. In an ordered data structure, such as a queue or a stack, linearizability is ensured by requiring threads commit in the order dictated by the sequential semantics of the data structure; e.g., in a concurrent queue implementation a dequeue can only remove the oldest element. 
In this paper, we investigate the impact of this strict ordering, by comparing what linearizability allows to what existing implementations do. We first give an operational definition for linearizability which allows us to build the most general linearizable implementation as a transition system for any given sequential specification. We then use this operational definition to categorize linearizable implementations based on whether they are bound or free. In a bound implementation, whenever all threads observe the same logical state, the updates to the logical state and the temporal order of commits coincide. All existing queue implementations we know of are bound. We then proceed to present, to the best of our knowledge, the first ever free queue implementation. Our experiments show that free implementations have the potential for better performance by suffering less from contention.},
  author       = {Henzinger, Thomas A and Sezgin, Ali},
  issn         = {2664-1690},
  pages        = {16},
  publisher    = {IST Austria},
  title        = {{How free is your linearizable concurrent data structure?}},
  doi          = {10.15479/AT:IST-2013-123-v1-1},
  year         = {2013},
}

@misc{5406,
  abstract     = {We consider the distributed synthesis problem fortemporal logic specifications. Traditionally, the problem has been studied for LTL, and the previous results show that the problem is decidable iff there is no information fork in the architecture. We consider the problem for fragments of LTLand our main results are as follows: (1) We show that the problem is undecidable for architectures with information forks even for the fragment of LTL with temporal operators restricted to next and eventually. (2) For specifications restricted to globally along with non-nested next operators, we establish decidability (in EXPSPACE) for star architectures where the processes receive disjoint inputs, whereas we establish undecidability for architectures containing an information fork-meet structure. (3)Finally, we consider LTL without the next operator, and establish decidability (NEXPTIME-complete) for all architectures for a fragment that consists of a set of safety assumptions, and a set of guarantees where each guarantee is a safety, reachability, or liveness condition.},
  author       = {Chatterjee, Krishnendu and Henzinger, Thomas A and Otop, Jan and Pavlogiannis, Andreas},
  issn         = {2664-1690},
  pages        = {11},
  publisher    = {IST Austria},
  title        = {{Distributed synthesis for LTL Fragments}},
  doi          = {10.15479/AT:IST-2013-130-v1-1},
  year         = {2013},
}

@inbook{5747,
  author       = {Dragoi, Cezara and Gupta, Ashutosh and Henzinger, Thomas A},
  booktitle    = {Computer Aided Verification},
  isbn         = {9783642397981},
  issn         = {1611-3349},
  location     = {Saint Petersburg, Russia},
  pages        = {174--190},
  publisher    = {Springer Berlin Heidelberg},
  title        = {{Automatic Linearizability Proofs of Concurrent Objects with Cooperating Updates}},
  doi          = {10.1007/978-3-642-39799-8_11},
  volume       = {8044},
  year         = {2013},
}

@misc{6440,
  abstract     = {In order to guarantee that each method of a data structure updates the logical state exactly once, al-most all non-blocking implementations employ Compare-And-Swap (CAS) based synchronization. For FIFO  queue  implementations  this  translates  into  concurrent  enqueue  or  dequeue  methods competing among themselves to update the same variable, the tail or the head, respectively, leading to high contention and poor scalability. Recent non-blocking queue implementations try to alleviate high contentionby increasing the number of contention points, all the while using CAS-based synchronization. Furthermore, obtaining a wait-free implementation with competition is achieved by additional synchronization which leads to further degradation of performance.In this paper we formalize the notion of competitiveness of a synchronizing statement which can beused as a measure for the scalability of concurrent implementations.  We present a new queue implementation, the Speculative Pairing (SP) queue, which, as we show, decreases competitiveness by using Fetch-And-Increment (FAI) instead of CAS. We prove that the SP queue is linearizable and lock-free.We also show that replacing CAS with FAI leads to wait-freedom for dequeue methods without an adverse effect on performance.  In fact, our experiments suggest that the SP queue can perform and scale better than the state-of-the-art queue implementations.},
  author       = {Henzinger, Thomas A and Payer, Hannes and Sezgin, Ali},
  issn         = {2664-1690},
  pages        = {23},
  publisher    = {IST Austria},
  title        = {{Replacing competition with cooperation to achieve scalable lock-free FIFO queues }},
  doi          = {10.15479/AT:IST-2013-124-v1-1},
  year         = {2013},
}

@inproceedings{10898,
  abstract     = {A prominent remedy to multicore scalability issues in concurrent data structure implementations is to relax the sequential specification of the data structure. We present distributed queues (DQ), a new family of relaxed concurrent queue implementations. DQs implement relaxed queues with linearizable emptiness check and either configurable or bounded out-of-order behavior or pool behavior. Our experiments show that DQs outperform and outscale in micro- and macrobenchmarks all strict and relaxed queue as well as pool implementations that we considered.},
  author       = {Haas, Andreas and Lippautz, Michael and Henzinger, Thomas A and Payer, Hannes and Sokolova, Ana and Kirsch, Christoph M. and Sezgin, Ali},
  booktitle    = {Proceedings of the ACM International Conference on Computing Frontiers - CF '13},
  isbn         = {978-145032053-5},
  location     = {Ischia, Italy},
  number       = {5},
  publisher    = {ACM Press},
  title        = {{Distributed queues in shared memory: Multicore performance and scalability through quantitative relaxation}},
  doi          = {10.1145/2482767.2482789},
  year         = {2013},
}

@inproceedings{2181,
  abstract     = {There is a trade-off between performance and correctness in implementing concurrent data structures. Better performance may be achieved at the expense of relaxing correctness, by redefining the semantics of data structures. We address such a redefinition of data structure semantics and present a systematic and formal framework for obtaining new data structures by quantitatively relaxing existing ones. We view a data structure as a sequential specification S containing all &quot;legal&quot; sequences over an alphabet of method calls. Relaxing the data structure corresponds to defining a distance from any sequence over the alphabet to the sequential specification: the k-relaxed sequential specification contains all sequences over the alphabet within distance k from the original specification. In contrast to other existing work, our relaxations are semantic (distance in terms of data structure states). As an instantiation of our framework, we present two simple yet generic relaxation schemes, called out-of-order and stuttering relaxation, along with several ways of computing distances. We show that the out-of-order relaxation, when further instantiated to stacks, queues, and priority queues, amounts to tolerating bounded out-of-order behavior, which cannot be captured by a purely syntactic relaxation (distance in terms of sequence manipulation, e.g. edit distance). We give concurrent implementations of relaxed data structures and demonstrate that bounded relaxations provide the means for trading correctness for performance in a controlled way. The relaxations are monotonic which further highlights the trade-off: increasing k increases the number of permitted sequences, which as we demonstrate can lead to better performance. Finally, since a relaxed stack or queue also implements a pool, we actually have new concurrent pool implementations that outperform the state-of-the-art ones.},
  author       = {Henzinger, Thomas A and Kirsch, Christoph and Payer, Hannes and Sezgin, Ali and Sokolova, Ana},
  booktitle    = {Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming language},
  isbn         = {978-1-4503-1832-7},
  location     = {Rome, Italy},
  pages        = {317 -- 328},
  publisher    = {ACM},
  title        = {{Quantitative relaxation of concurrent data structures}},
  doi          = {10.1145/2429069.2429109},
  year         = {2013},
}

@inproceedings{2182,
  abstract     = {We propose a general framework for abstraction with respect to quantitative properties, such as worst-case execution time, or power consumption. Our framework provides a systematic way for counter-example guided abstraction refinement for quantitative properties. The salient aspect of the framework is that it allows anytime verification, that is, verification algorithms that can be stopped at any time (for example, due to exhaustion of memory), and report approximations that improve monotonically when the algorithms are given more time. We instantiate the framework with a number of quantitative abstractions and refinement schemes, which differ in terms of how much quantitative information they keep from the original system. We introduce both state-based and trace-based quantitative abstractions, and we describe conditions that define classes of quantitative properties for which the abstractions provide over-approximations. We give algorithms for evaluating the quantitative properties on the abstract systems. We present algorithms for counter-example based refinements for quantitative properties for both state-based and segment-based abstractions. We perform a case study on worst-case execution time of executables to evaluate the anytime verification aspect and the quantitative abstractions we proposed.},
  author       = {Cerny, Pavol and Henzinger, Thomas A and Radhakrishna, Arjun},
  booktitle    = {Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming language},
  location     = {Rome, Italy},
  pages        = {115 -- 128},
  publisher    = {ACM},
  title        = {{Quantitative abstraction refinement}},
  doi          = {10.1145/2429069.2429085},
  year         = {2013},
}

@inproceedings{2237,
  abstract     = {We describe new extensions of the Vampire theorem prover for computing tree interpolants. These extensions generalize Craig interpolation in Vampire, and can also be used to derive sequence interpolants. We evaluated our implementation on a large number of examples over the theory of linear integer arithmetic and integer-indexed arrays, with and without quantifiers. When compared to other methods, our experiments show that some examples could only be solved by our implementation.},
  author       = {Blanc, Régis and Gupta, Ashutosh and Kovács, Laura and Kragl, Bernhard},
  location     = {Stellenbosch, South Africa},
  pages        = {173 -- 181},
  publisher    = {Springer},
  title        = {{Tree interpolation in Vampire}},
  doi          = {10.1007/978-3-642-45221-5_13},
  volume       = {8312},
  year         = {2013},
}

@inproceedings{2243,
  abstract     = {We show that modal logic over universally first-order definable classes of transitive frames is decidable. More precisely, let K be an arbitrary class of transitive Kripke frames definable by a universal first-order sentence. We show that the global and finite global satisfiability problems of modal logic over K are decidable in NP, regardless of choice of K. We also show that the local satisfiability and the finite local satisfiability problems of modal logic over K are decidable in NEXPTIME.},
  author       = {Michaliszyn, Jakub and Otop, Jan},
  location     = {Torino, Italy},
  pages        = {563 -- 577},
  publisher    = {Schloss Dagstuhl - Leibniz-Zentrum für Informatik},
  title        = {{Elementary modal logics over transitive structures}},
  doi          = {10.4230/LIPIcs.CSL.2013.563},
  volume       = {23},
  year         = {2013},
}

@proceedings{2288,
  abstract     = {This book constitutes the proceedings of the 11th International Conference on Computational Methods in Systems Biology, CMSB 2013, held in Klosterneuburg, Austria, in September 2013. The 15 regular papers included in this volume were carefully reviewed and selected from 27 submissions. They deal with computational models for all levels, from molecular and cellular, to organs and entire organisms.},
  editor       = {Gupta, Ashutosh and Henzinger, Thomas A},
  isbn         = {978-3-642-40707-9},
  location     = {Klosterneuburg, Austria},
  publisher    = {Springer},
  title        = {{Computational Methods in Systems Biology}},
  doi          = {10.1007/978-3-642-40708-6},
  volume       = {8130},
  year         = {2013},
}

@article{2289,
  abstract     = {Formal verification aims to improve the quality of software by detecting errors before they do harm. At the basis of formal verification is the logical notion of correctness, which purports to capture whether or not a program behaves as desired. We suggest that the boolean partition of software into correct and incorrect programs falls short of the practical need to assess the behavior of software in a more nuanced fashion against multiple criteria. We therefore propose to introduce quantitative fitness measures for programs, specifically for measuring the function, performance, and robustness of reactive programs such as concurrent processes. This article describes the goals of the ERC Advanced Investigator Project QUAREM. The project aims to build and evaluate a theory of quantitative fitness measures for reactive models. Such a theory must strive to obtain quantitative generalizations of the paradigms that have been success stories in qualitative reactive modeling, such as compositionality, property-preserving abstraction and abstraction refinement, model checking, and synthesis. The theory will be evaluated not only in the context of software and hardware engineering, but also in the context of systems biology. In particular, we will use the quantitative reactive models and fitness measures developed in this project for testing hypotheses about the mechanisms behind data from biological experiments.},
  author       = {Henzinger, Thomas A},
  journal      = {Computer Science Research and Development},
  number       = {4},
  pages        = {331 -- 344},
  publisher    = {Springer},
  title        = {{Quantitative reactive modeling and verification}},
  doi          = {10.1007/s00450-013-0251-7},
  volume       = {28},
  year         = {2013},
}

@inproceedings{2298,
  abstract     = {We present a shape analysis for programs that manipulate overlaid data structures which share sets of objects. The abstract domain contains Separation Logic formulas that (1) combine a per-object separating conjunction with a per-field separating conjunction and (2) constrain a set of variables interpreted as sets of objects. The definition of the abstract domain operators is based on a notion of homomorphism between formulas, viewed as graphs, used recently to define optimal decision procedures for fragments of the Separation Logic. Based on a Frame Rule that supports the two versions of the separating conjunction, the analysis is able to reason in a modular manner about non-overlaid data structures and then, compose information only at a few program points, e.g., procedure returns. We have implemented this analysis in a prototype tool and applied it on several interesting case studies that manipulate overlaid and nested linked lists.
},
  author       = {Dragoi, Cezara and Enea, Constantin and Sighireanu, Mihaela},
  location     = {Seattle, WA, United States},
  pages        = {150 -- 171},
  publisher    = {Springer},
  title        = {{Local shape analysis for overlaid data structures}},
  doi          = {10.1007/978-3-642-38856-9_10},
  volume       = {7935},
  year         = {2013},
}

@article{2299,
  abstract     = {The standard hardware design flow involves: (a) design of an integrated circuit using a hardware description language, (b) extensive functional and formal verification, and (c) logical synthesis. However, the above-mentioned processes consume significant effort and time. An alternative approach is to use a formal specification language as a high-level hardware description language and synthesize hardware from formal specifications. Our work is a case study of the synthesis of the widely and industrially used AMBA AHB protocol from formal specifications. Bloem et al. presented the first formal specifications for the AMBA AHB Arbiter and synthesized the AHB Arbiter circuit. However, in the first formal specification some important assumptions were missing. Our contributions are as follows: (a) We present detailed formal specifications for the AHB Arbiter incorporating the missing details, and obtain significant improvements in the synthesis results (both with respect to the number of gates in the synthesized circuit and with respect to the time taken to synthesize the circuit), and (b) we present formal specifications to generate compact circuits for the remaining two main components of AMBA AHB, namely, AHB Master and AHB Slave. Thus with systematic description we are able to automatically and completely synthesize an important and widely used industrial protocol.},
  author       = {Godhal, Yashdeep and Chatterjee, Krishnendu and Henzinger, Thomas A},
  journal      = {International Journal on Software Tools for Technology Transfer},
  number       = {5-6},
  pages        = {585 -- 601},
  publisher    = {Springer},
  title        = {{Synthesis of AMBA AHB from formal specification: A case study}},
  doi          = {10.1007/s10009-011-0207-9},
  volume       = {15},
  year         = {2013},
}

@inproceedings{2301,
  abstract     = {We describe the design and implementation of P, a domain-specific language to write asynchronous event driven code. P allows the programmer to specify the system as a collection of interacting state machines, which communicate with each other using events. P unifies modeling and programming into one activity for the programmer. Not only can a P program be compiled into executable code, but it can also be tested using model checking techniques. P allows the programmer to specify the environment, used to &quot;close&quot; the system during testing, as nondeterministic ghost machines. Ghost machines are erased during compilation to executable code; a type system ensures that the erasure is semantics preserving. The P language is designed so that a P program can be checked for responsiveness-the ability to handle every event in a timely manner. By default, a machine needs to handle every event that arrives in every state. But handling every event in every state is impractical. The language provides a notion of deferred events where the programmer can annotate when she wants to delay processing an event. The default safety checker looks for presence of unhan-dled events. The language also provides default liveness checks that an event cannot be potentially deferred forever. P was used to implement and verify the core of the USB device driver stack that ships with Microsoft Windows 8. The resulting driver is more reliable and performs better than its prior incarnation (which did not use P); we have more confidence in the robustness of its design due to the language abstractions and verification provided by P.},
  author       = {Desai, Ankush and Gupta, Vivek and Jackson, Ethan and Qadeer, Shaz and Rajamani, Sriram and Zufferey, Damien},
  booktitle    = {Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation},
  location     = {Seattle, WA, United States},
  pages        = {321 -- 331},
  publisher    = {ACM},
  title        = {{P: Safe asynchronous event-driven programming}},
  doi          = {10.1145/2491956.2462184},
  year         = {2013},
}

@inproceedings{2327,
  abstract     = {We define the model-measuring problem: given a model M and specification φ, what is the maximal distance ρ such that all models M′ within distance ρ from M satisfy (or violate) φ. The model measuring problem presupposes a distance function on models. We concentrate on automatic distance functions, which are defined by weighted automata. The model-measuring problem subsumes several generalizations of the classical model-checking problem, in particular, quantitative model-checking problems that measure the degree of satisfaction of a specification, and robustness problems that measure how much a model can be perturbed without violating the specification. We show that for automatic distance functions, and ω-regular linear-time and branching-time specifications, the model-measuring problem can be solved. We use automata-theoretic model-checking methods for model measuring, replacing the emptiness question for standard word and tree automata by the optimal-weight question for the weighted versions of these automata. We consider weighted automata that accumulate weights by maximizing, summing, discounting, and limit averaging. We give several examples of using the model-measuring problem to compute various notions of robustness and quantitative satisfaction for temporal specifications.},
  author       = {Henzinger, Thomas A and Otop, Jan},
  location     = {Buenos Aires, Argentina},
  pages        = {273 -- 287},
  publisher    = {Springer},
  title        = {{From model checking to model measuring}},
  doi          = {10.1007/978-3-642-40184-8_20},
  volume       = {8052},
  year         = {2013},
}

