Verification Based Failure Detection for Real-Time Java and Floating-Point Computations
Licentiate thesis, 2013

To err is human, and machines help us avoiding errors. This thesis presents two ways, based on verification technology, to prevent failures. Safety critical Real-Time Java applications usually need a certification. Tests fulfilling specific coverage criteria can be part of such certification, like in the DO-178 standard. This thesis presents the KeYTestGen tool, an automated test case generator fulfilling certification-demanded coverage criteria by construction. The work also develops a formal specification of the Real-Time Java API to direct the search for input values and generate code that checks the expectations on the tests. The KeYTestGen tool found an inconsistency between a commercial Real-Time Java implementation and its specification; and there are evidences that employing KeYTestGen can shorten the testing time up to 72% of the allocated time. Floating-point computations are spreading in safety-critical systems, but numerical computing skills are rare: hence the demand of program analysis methods for developers untrained in numerical computing. A simple way to detect problems in a floating-point computation is to run a program twice, using different floating-point precisions: a program is said unstable when the result computed with lower precision is far from the result computed with higher precision - how "far" depends on the context. The proposed analysis method detects instability of a program at compile-time for any pair of IEEE-standard-like formats. It is independent from the concrete choice of programming language or compiler. The FPhile verification system implements the method, using floating-point specific Satisfiability Modulo Theory (SMT) solvers. Experimental results found instability where random testing could not.

Debugging

Floating-Point

Formal Methods

Testing

Real-Time Java

Coverage

Satisfiability Modulo Theories

Certification

Formal Specification

room VK, Väg- och vattenbyggnad building, Sven Hultins Gata 6, Chalmers University of Technology
Opponent: Dilian Gurov, Associate Professor at the School of Science and Communications of the Royal Institute of Technology, Stockholm, Sweden.

Author

Gabriele Paganelli

Chalmers, Computer Science and Engineering (Chalmers), Software Technology (Chalmers)

Real-time java API specifications for high coverage test generation

10th International Workshop on Java Technologies for Real-Time and Embedded Systems (JTRES 2012), Copenhagen, 24 - 26 October 2012,; (2012)p. 145-154

Paper in proceeding

Areas of Advance

Information and Communication Technology

Subject Categories

Software Engineering

Computer Science

Technical report L - Department of Computer Science and Engineering, Chalmers University of Technology and Göteborg University: 105

room VK, Väg- och vattenbyggnad building, Sven Hultins Gata 6, Chalmers University of Technology

Opponent: Dilian Gurov, Associate Professor at the School of Science and Communications of the Royal Institute of Technology, Stockholm, Sweden.

More information

Created

10/8/2017