Instruct: Identify the main and secondary category of Arxiv papers based on the titles and abstracts
Query: Gobra: Modular Specification and Verification of Go Programs (extended
  version)   Go is an increasingly-popular systems programming language targeting,
especially, concurrent and distributed systems. Go differentiates itself from
other imperative languages by offering structural subtyping and lightweight
concurrency through goroutines with message-passing communication. This
combination of features poses interesting challenges for static verification,
most prominently the combination of a mutable heap and advanced concurrency
primitives.
  We present Gobra, a modular, deductive program verifier for Go that proves
memory safety, crash safety, data-race freedom, and user-provided
specifications. Gobra is based on separation logic and supports a large subset
of Go. Its implementation translates an annotated Go program into the Viper
intermediate verification language and uses an existing SMT-based verification
backend to compute and discharge proof obligations.

18
The categories of this paper are: econ
4
The categories of this paper are: cond-mat
17
The categories of this paper are: q-fin
27
The categories of this paper are: comp-gas
15
The categories of this paper are: nucl-ex
5
The categories of this paper are: gr-qc
31
The categories of this paper are: ao-sci
25
The categories of this paper are: patt-sol
6
The categories of this paper are: astro-ph
20
The categories of this paper are: acc-phys
29
The categories of this paper are: funct-an
24
The categories of this paper are: dg-ga
35
The categories of this paper are: mtrl-th
0
The categories of this paper are: hep-ph
14
The categories of this paper are: math-ph
23
The categories of this paper are: solv-int