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.
Verifying temporal specifications of Java programs / Spegni, F.; Spalazzi, L.; Liva, G.; Pinzger, M.; Bollin, A.. - In: SOFTWARE QUALITY JOURNAL. - ISSN 0963-9314. - STAMPA. - 28:2(2020), pp. 695-744. [10.1007/s11219-019-09488-9]
Verifying temporal specifications of Java programs
Spegni F.;Spalazzi L.;
2020-01-01
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.File | Dimensione | Formato | |
---|---|---|---|
Spegni2020_Article_VerifyingTemporalSpecification (1).pdf
accesso aperto
Descrizione: articolo principale
Tipologia:
Versione editoriale (versione pubblicata con il layout dell'editore)
Licenza d'uso:
Creative commons
Dimensione
3.15 MB
Formato
Adobe PDF
|
3.15 MB | Adobe PDF | Visualizza/Apri |
I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.