4 research outputs found

    Formalising FinFuns – Generating Code for Functions as Data from Isabelle/HOL

    No full text
    Abstract. FinFuns are total functions that are constant except for a fi-nite set of points, i.e. a generalisation of finite maps. We formalise them in Isabelle/HOL and present how to safely set up Isabelle’s code genera-tor such that operations like equality testing and quantification on Fin-Funs become executable. On the code output level, FinFuns are explicitly represented by constant functions and pointwise updates, similarly to as-sociative lists. Inside the logic, they behave like ordinary functions with extensionality. Via the update/constant pattern, a recursion combinator and an induction rule for FinFuns allow for defining and reasoning about operators on FinFuns that directly become executable. We apply the ap-proach to an executable formalisation of sets and use it for the semantics for a subset of concurrent Java.

    Veröffentlichungen und Vorträge 2009 der Mitglieder der Fakultät für Informatik

    Get PDF

    A Machine-Checked, Type-Safe Model of Java Concurrency : Language, Virtual Machine, Memory Model, and Verified Compiler

    Get PDF
    The Java programming language provides safety and security guarantees such as type safety and its security architecture. They distinguish it from other mainstream programming languages like C and C++. In this work, we develop a machine-checked model of concurrent Java and the Java memory model and investigate the impact of concurrency on these guarantees. From the formal model, we automatically obtain an executable verified compiler to bytecode and a validated virtual machine

    Jahresbericht 2009 der Fakultät für Informatik

    Get PDF
    corecore