Title
Verifying temporal specifications of Java programs
Abstract
Many Java programs encode temporal behaviors in their source code, typically mixing three features provided by the Java language: (1) pausing the execution for a limited amount of time, (2) waiting for an event that has to occur before a deadline expires, and (3) comparing timestamps. In this work, we show how to exploit modern SMT solvers together with static analysis in order to produce a network of timed automata approximating the temporal behavior of a set of Java threads. We also prove that the presented abstraction preserves the truth of MTL and ATCTL formulae, two well-known logics for expressing timed specifications. As far as we know, this is the first feasible approach enabling the user to automatically model check timed specifications of Java software directly from the source code.
Year
DOI
Venue
2020
10.1007/s11219-019-09488-9
Software Quality Journal
Keywords
DocType
Volume
Software model checking, Time-dependent behavior, Java, Timed automata, SMT, Predicate abstraction
Journal
28
Issue
ISSN
Citations 
2
0963-9314
0
PageRank 
References 
Authors
0.34
0
5
Name
Order
Citations
PageRank
F. Spegni1186.01
Luca Spalazzi219734.55
Giovanni Liva332.06
Martin Pinzger42147120.49
Andreas Bollin56916.81