Testing Meets Static and Runtime Verification
Paper i proceeding, 2018

Test driven development (TDD) is a technique where test cases are used to guide the development of a system. This technique introduces several advantages at the time of developing a system, e.g. writing clean code, good coverage for the features of the system, and evolutionary development. In this paper we show how the capabilities of a testing focused development methodology based on TDD and model-based testing, can be enhanced by integrating static and runtime verification into its workflow. Considering that the desired system properties capture data- As well as control-oriented aspects, we integrate TDD with (static) deductive verification as an aid in the development of the data-oriented aspects, and we integrate model-based testing with runtime verification as an aid in the development of the control-oriented aspects. As a result of this integration, the proposed development methodology features the benefits of TDD and model-based testing, enhanced with, for instance, early detection of bugs which may be missed by TDD, regarding data aspects, and the validation of the overall system with respect to the model, regarding the control aspects.

Test driven development

Java

Static verification

Runtime verification

Författare

Mauricio Chimento

Chalmers, Data- och informationsteknik, Formella metoder

Wolfgang Ahrendt

Chalmers, Data- och informationsteknik, Formella metoder

Gerardo Schneider

Göteborgs universitet

Proceedings - 2018 ACM/IEEE Conference on Formal Methods in Software Engineering, FormaliSE 2018

30-39
978-1-4503-5718-0 (ISBN)

2018 ACM/IEEE Conference on Formal Methods in Software Engineering, FormaliSE 2018
Gothenburg, Sweden,

Styrkeområden

Energi

Ämneskategorier

Inbäddad systemteknik

Datavetenskap (datalogi)

Datorsystem

DOI

10.1145/3193992.3194000

Mer information

Senast uppdaterat

2019-07-08