5 research outputs found

    Reasoning about Card Tears and Transactions in Java Card

    Get PDF
    Contains fulltext : 60616.pdf (author's version ) (Open Access

    Reasoning about Card Tears and Transactions in Java Card

    No full text
    Abstract. The Java dialect Java Card for programming smartcards contains some features which do not exist in Java. Java Card distinguishes persistent and transient data (data stored in EEPROM and RAM, respectively). Because power to a smartcard can suddenly be interrupted by a so-called card tear, by someone removing the smartcard from the reader, Java Card provides a notion of transaction to ensure that updates of multiple fields in persistent memory can be performed atomically. This paper describes a way to reason about these Java Card specific language features.

    Reasoning about Card Tears and Transactions in Java Card

    No full text
    The Java dialect Java Card for programming smartcards contains some features which do not exist in Java. Java Card distinguishes persistent and transient data (data stored in EEPROM and RAM, respectively). Because power to a smartcard can suddenly be interrupted by a so-called card tear, by someone removing the smartcard from the reader, Java Card provides a notion of transaction to ensure that updates of multiple fields in persistent memory can be performed atomically. This paper describes a way to reason about these Java Card specific language features

    Ein Erfahrungsbericht zur Deduktiven Verifikation mit KeY: Masterarbeit

    Get PDF
    Die QualitĂ€t von Software hĂ€ngt direkt von ihrer ZuverlĂ€ssigkeit ab. Um diese sicherzustellen, kommen verschiedene Techniken zum Einsatz. Die bekanntesten Techniken hierzu sind testen und Code-Reviews, diese sind jedoch nicht formal. Deduktive Verifikation stellt eine statische, formale Alternative hierzu dar. Der Vorzug dieser Lösung ist, dass nicht einzelne AusfĂŒhrungen getestet werden, sondern dass das korrekte Verhalten mit Hilfe von Deduktionen bewiesen werden kann. Trotz dieses großen Vorzuges wird die Technik jedoch scheinbar nur spĂ€rlich eingesetzt. In dieser Arbeit wird deshalb das Vorgehen mit KeY, einem Werkzeug zur deduktiven Verifikation von Java-Quelltext, an Hand der bestehenden Java Platform API exemplarisch vorgenommen, um den Aufwand einer solchen Verifikation zu betrachten und Probleme und Lösungen zu erkennen. Hierzu werden zunĂ€chst einzelne Methoden der Java-Platform-API spezifiziert und mit KeY verifiziert. Die Erfahrungen aus dieser Arbeit dienen spĂ€teren Anwendern, wenn sie Ă€hnliche FĂ€lle betrachten, und den Entwicklern von KeY, um die Verifikation zu vereinfachen. Da die Wahl der richtigen Optionen fĂŒr die Beweisbarkeit und den Beweisaufwand entscheidend ist, spielen diese bei der Arbeit mit KeY eine zentrale Rolle. Deshalb werden aus vorliegenden Beschreibungen Hypothesen entwickelt, die anschließend mit Hilfe der zuvor erstellten Spezifikationen quantitativ untersucht werden. Um die Untersuchung durchzufĂŒhren, wurden zahlreiche Verifikationen durchgefĂŒhrt. Die im Rahmen dieser Experimente ermittelten Daten werden ebenfalls genutzt, um mit Hilfe von SPLConqueror ein Modell zu berechnen, dass den Aufwand einer Verifikation in AbhĂ€ngigkeit ihrer Optionen beschreiben soll. Mit Hilfe der Hypothesen, dem Modell und den Erfahrungen aus der Spezifikation werden Empfehlungen fĂŒr Anpassungen an KeY erarbeitet. Die Hypothesen können außerdem zukĂŒnftige Anwender bei der Auswahl der richtigen Optionen unterstĂŒtzen. Dadurch wird ein leichterer Einstieg in die Arbeit mit KeY ermöglicht
    corecore