Difference between revisions of "Publications/renault.22.sttt"

From LRDE

Line 2: Line 2:
 
| published = true
 
| published = true
 
| date = 2022-12-09
 
| date = 2022-12-09
| authors = Etienne Renault, Alexandre Duret-Lutz, Fabrice Kordon, Denis Poitrenaud
+
| authors = Alexandre Kirszenberg, Antoine Martin, Hugo Moreau, Etienne Renault
 
| title = Go2Pins: A framework for the LTL verification of Go programs (Extended Version)
 
| title = Go2Pins: A framework for the LTL verification of Go programs (Extended Version)
 
| journal = International Journal on Software Tools for Technology Transfer (STTT)
 
| journal = International Journal on Software Tools for Technology Transfer (STTT)
Line 19: Line 19:
 
| bibtex =
 
| bibtex =
 
@Article<nowiki>{</nowiki> renault.22.sttt,
 
@Article<nowiki>{</nowiki> renault.22.sttt,
author = <nowiki>{</nowiki>Etienne Renault and Alexandre Duret-Lutz and Fabrice
+
author = <nowiki>{</nowiki>Alexandre Kirszenberg and Antoine Martin and Hugo Moreau
Kordon and Denis Poitrenaud<nowiki>}</nowiki>,
+
and Etienne Renault<nowiki>}</nowiki>,
 
title = <nowiki>{</nowiki>Go2<nowiki>{</nowiki>P<nowiki>}</nowiki>ins: <nowiki>{</nowiki>A<nowiki>}</nowiki> framework for the <nowiki>{</nowiki>LTL<nowiki>}</nowiki> verification of
 
title = <nowiki>{</nowiki>Go2<nowiki>{</nowiki>P<nowiki>}</nowiki>ins: <nowiki>{</nowiki>A<nowiki>}</nowiki> framework for the <nowiki>{</nowiki>LTL<nowiki>}</nowiki> verification of
 
<nowiki>{</nowiki>Go<nowiki>}</nowiki> programs (Extended Version)<nowiki>}</nowiki>,
 
<nowiki>{</nowiki>Go<nowiki>}</nowiki> programs (Extended Version)<nowiki>}</nowiki>,

Revision as of 20:38, 2 January 2023

Abstract

We introduce Go2Pins, a tool that takes a program written in Go and links it with two model-checkers: LTSMin and Spot. Go2Pins is an effort to promote the integration of both formal verification and testing inside industrial-size projects. With this goal in mind, we introduce black-box transitions, an efficient and scalable technique for handling the Go runtime. This approach, inspired by hardware verification techniques, allows easy, automatic and efficient abstractions. Go2Pins also handles basic concurrent programs through the use of a dedicated scheduler. Moreover, in order to efficiently handle recursive programs, we introduce PSLRec, a formalism that augments PSL without changing the complexity of the underlying verification process.

Documents

Bibtex (lrde.bib)

@Article{	  renault.22.sttt,
  author	= {Alexandre Kirszenberg and Antoine Martin and Hugo Moreau
		  and Etienne Renault},
  title		= {Go2{P}ins: {A} framework for the {LTL} verification of
		  {Go} programs (Extended Version)},
  journal	= {International Journal on Software Tools for Technology
		  Transfer (STTT)},
  year		= 2022,
  optvolume	= {???},
  optnumber	= {???},
  optpages	= {???--???},
  optmonth	= {???},
  publisher	= {Springer},
  abstract	= {We introduce Go2Pins, a tool that takes a program written
		  in Go and links it with two model-checkers: LTSMin and
		  Spot. Go2Pins is an effort to promote the integration of
		  both formal verification and testing inside industrial-size
		  projects. With this goal in mind, we introduce black-box
		  transitions, an efficient and scalable technique for
		  handling the Go runtime. This approach, inspired by
		  hardware verification techniques, allows easy, automatic
		  and efficient abstractions. Go2Pins also handles basic
		  concurrent programs through the use of a dedicated
		  scheduler. Moreover, in order to efficiently handle
		  recursive programs, we introduce PSL{Rec}, a formalism that
		  augments PSL without changing the complexity of the
		  underlying verification process.},
  optdoi	= {???}
}