Go2Pins: a framework for the LTL verification of Go programs (Extended Version)

From LRDE

Revision as of 17:29, 9 December 2022 by Bot (talk | contribs) (Created page with "{{Publication | published = true | date = 2022-12-09 | authors = Etienne Renault, Alexandre Duret-Lutz, Fabrice Kordon, Denis Poitrenaud | title = Go2Pins: a framework for the...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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 approachinspired by hardware verification techniques, allows easyautomatic 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.


Bibtex (lrde.bib)

@Article{	  renault.22.sttt,
  author	= {Etienne Renault and Alexandre Duret-Lutz and Fabrice
		  Kordon and Denis Poitrenaud},
  title		= {Go2Pins: a framework for the LTL verification of Go
		  programs (Extended Version)},
  journal	= {International Journal on Software Tools for Technology
		  Transfer (STTT)},
  year		= 2022,
  volume	= ???,
  number	= ???,
  pages		= {???--???},
  month		= ???,
  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.},
  doi		= {???}
}