6 research outputs found

    OpenJDK's Java.utils.Collection.sort() Is Broken: The Good, the Bad and the Worst Case

    Get PDF
    We investigate the correctness of TimSort, which is the main sorting algorithm provided by the Java standard library. The goal is functional verification with mechanical proofs. During our verification attempt we discovered a bug which causes the implementation to crash. We characterize the conditions under which the bug occurs, and from this we derive a bug-free version that does not compromise the performance. We formally specify the new version and mechanically verify the absence of this bug with KeY, a state-of-the-art verification tool for Java

    The Complexity of Principal Inhabitation

    Get PDF
    It is shown that in the simply typed lambda-calculus the following decision problem of principal inhabitation is Pspace-complete: Given a simple type tau, is there a lambda-term N in beta-normal form such that tau is the principal type of N? While a Ben-Yelles style algorithm was presented by Broda and Damas in 1999 to count normal principal inhabitants (thereby answering a question posed by Hindley), it does not induce a polynomial space upper bound for principal inhabitation. Further, the standard construction of the polynomial space lower bound for simple type inhabitation does not carry over immediately. We present a polynomial space bounded decision procedure based on a characterization of principal inhabitation using path derivation systems over subformulae of the input type, which does not require candidate inhabitants to be constructed explicitly. The lower bound is shown by reducing a restriction of simple type inhabitation to principal inhabitation

    Foundations of Software Science and Computation Structures

    Get PDF
    This open access book constitutes the proceedings of the 23rd International Conference on Foundations of Software Science and Computational Structures, FOSSACS 2020, which took place in Dublin, Ireland, in April 2020, and was held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2020. The 31 regular papers presented in this volume were carefully reviewed and selected from 98 submissions. The papers cover topics such as categorical models and logics; language theory, automata, and games; modal, spatial, and temporal logics; type theory and proof theory; concurrency theory and process calculi; rewriting theory; semantics of programming languages; program analysis, correctness, transformation, and verification; logics of programming; software specification and refinement; models of concurrent, reactive, stochastic, distributed, hybrid, and mobile systems; emerging models of computation; logical aspects of computational complexity; models of software security; and logical foundations of data bases.

    Foundations of Software Science and Computation Structures

    Get PDF
    This open access book constitutes the proceedings of the 23rd International Conference on Foundations of Software Science and Computational Structures, FOSSACS 2020, which took place in Dublin, Ireland, in April 2020, and was held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2020. The 31 regular papers presented in this volume were carefully reviewed and selected from 98 submissions. The papers cover topics such as categorical models and logics; language theory, automata, and games; modal, spatial, and temporal logics; type theory and proof theory; concurrency theory and process calculi; rewriting theory; semantics of programming languages; program analysis, correctness, transformation, and verification; logics of programming; software specification and refinement; models of concurrent, reactive, stochastic, distributed, hybrid, and mobile systems; emerging models of computation; logical aspects of computational complexity; models of software security; and logical foundations of data bases.

    Leveraging Applications of Formal Methods, Verification, and Validation [electronic resource] : 6th International Symposium, ISoLA 2014, Corfu, Greece, October 8-11, 2014, and 5th International Symposium, ISoLA 2012, Heraklion, Crete, Greece, October 15-18, 2012, Revised Selected Papers /

    No full text
    This book constitutes the refereed proceedings of the 6th International Symposium on Leveraging Applications of Formal Methods, Verification, and Validation, ISoLA 2014, held in Corfu, Greece, in October 2014, and the 5th International Symposium, ISoLA 2012, held in Heraklion, Crete, Greece, in October 2012. The 9 revised full papers presented were carefully reviewed and selected from 22 submissions. This volume combines the post-conference proceedings of the 2014 Doctoral Symposium and the 2014 Tutorial "Automata Learning in Practice" with the post-conference publication of selected contributions from the Tracks "Process-Oriented Geoinformation Systems and Applications" and "Processes and Data Integration in the Networked Healthcare" of ISoLA 2012.Processes and data integration in the networked healthcare -- Process-oriented geoinformation systems and applications -- Automata learning in practice -- ISoLA 2014 Doctoral Symposium.This book constitutes the refereed proceedings of the 6th International Symposium on Leveraging Applications of Formal Methods, Verification, and Validation, ISoLA 2014, held in Corfu, Greece, in October 2014, and the 5th International Symposium, ISoLA 2012, held in Heraklion, Crete, Greece, in October 2012. The 9 revised full papers presented were carefully reviewed and selected from 22 submissions. This volume combines the post-conference proceedings of the 2014 Doctoral Symposium and the 2014 Tutorial "Automata Learning in Practice" with the post-conference publication of selected contributions from the Tracks "Process-Oriented Geoinformation Systems and Applications" and "Processes and Data Integration in the Networked Healthcare" of ISoLA 2012
    corecore