1 research outputs found

    Ownership-based order reduction and simulation in shared-memory concurrent computer systems

    Get PDF
    The highest level of confidence in the correct functionality of system software can be gained from a pervasive formal verification approach, where the high-level language application layer is connected to the gate-level hardware layer through a stack of semantic layers coupled by simulation theorems. While such semantic stacks exist for sequential systems, the foundational theory of semantic stacks for concurrent systems is still incomplete. This thesis contributes to close this gap. First we prove a general order reduction theorem establishing a model where processes are executing blocks of steps, being only interleaved at selectable interleavingpoints. An ownership-based memory access policy is imposed to prove commutativity properties for non-synchronizing steps, enabling the desired reordering. In contrast to existing work, we only assume properties on the order-reduced level, thus providing a complete abstraction. We then apply sequential simulation theorems on top of the block schedules and prove a general simulation theorem between two abstract concurrent systems including the transfer of safety properties. Finally we instantiate our frameworks with a MIPS instruction set architecture, a macro assembler (MASM) semantics, and an intermediate language semantics for C. Applying the concurrent simulation theorem, we justify the concurrent semantics of MASM and C against their ISA implementation.Das grĂ¶ĂŸte Vertrauen in die korrekte Funktionsweise von System-Software kann mit Hilfe durchdringender formaler Beweisverfahren erlangt werden, welche alle Abstraktionsebenen eines Computersystems durch Simulationstheoreme miteinander koppeln. WĂ€hrend solche GerĂŒste von Semantiken bereits fĂŒr sequentielle Systeme entwickelt wurden, finden sich in der entsprechenden Theorie fĂŒr nebenlĂ€ufige Systeme noch LĂŒcken, zur Schließung derer diese Arbeit beitragen soll. ZunĂ€chst beweisen wir ein allgemeines Reduktionstheorem, das die möglichen Reihenfolgen, in der Prozesse Schritte machen, auf ein Modell beschrĂ€nkt, in dem Blöcke von Schritten verschiedener Prozesse nacheinander ausgefĂŒhrt werden. Mittels eines ”Ownership”-basierten Speicherzugriffprotokolls beweisen wir KommutativitĂ€tseigenschaften fĂŒr lokale Schritte verschiedener Prozesse und ermöglichen so das Vertauschen dieser. Da unser Theorem nur Eigenschaften des reihenfolgereduzierten Systems annimmt ermöglicht es eine vollstĂ€ndige Abstraktion vom ursprĂŒnglichen Modell. Auf die BlockausfĂŒhrung wenden wir sequentielle Simulationstheoreme an und beweisen ein allgemeines Simulationstheorem zwischen abstrakten nebenlĂ€ufigen Systemen sowie den Transfer von Sicherheitseigenschaften. Wir instanziieren das Theorem mit einem MIPS-Instruktionssatz und Semantiken fĂŒr Makroassembler und C. Dadurch rechtfertigen wir die nebenlĂ€ufige Semantik der Programmiersprachen gegen ihre Maschinenimplementierung
    corecore