2021 36th IEEE/ACM International Conference on Automated Software Engineering (ASE) 2021
DOI: 10.1109/ase51524.2021.9678571
|View full text |Cite
|
Sign up to set email alerts
|

Automated Verification of Go Programs via Bounded Model Checking

Abstract: The Go programming language offers a wide range of primitives to coordinate lightweight threads, e.g., channels, waitgroups, and mutexes -all of which may cause concurrency bugs. Static checkers that guarantee the absence of bugs are essential to help programmers avoid these costly errors before their code is executed. However existing tools either miss too many bugs or cannot handle large programs. To address these limitations, we propose a static checker for Go programs which relies on performing bounded mod… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
7
0
1

Year Published

2021
2021
2024
2024

Publication Types

Select...
5
2
1

Relationship

2
6

Authors

Journals

citations
Cited by 14 publications
(8 citation statements)
references
References 21 publications
(31 reference statements)
0
7
0
1
Order By: Relevance
“…Our work is reminiscent of automated software model checking which has a long history (see [9] for a survey). There are few works on inference and verification of behavioural types, i.e., [18,11,12,3]. However, Perera et al [18] only present a prototype research language, while Lange et al [11,12,3] propose verification procedures for Go programs that rely on external tools which are not integrated with the language nor its type system.…”
Section: Discussionmentioning
confidence: 99%
See 1 more Smart Citation
“…Our work is reminiscent of automated software model checking which has a long history (see [9] for a survey). There are few works on inference and verification of behavioural types, i.e., [18,11,12,3]. However, Perera et al [18] only present a prototype research language, while Lange et al [11,12,3] propose verification procedures for Go programs that rely on external tools which are not integrated with the language nor its type system.…”
Section: Discussionmentioning
confidence: 99%
“…There are few works on inference and verification of behavioural types, i.e., [18,11,12,3]. However, Perera et al [18] only present a prototype research language, while Lange et al [11,12,3] propose verification procedures for Go programs that rely on external tools which are not integrated with the language nor its type system. To our knowledge, ours is the first implementation of type inference for MPST and the first integration of session types compatibility checking within a programming language.…”
Section: Discussionmentioning
confidence: 99%
“…В работах [18,19] Дилли и Ланге предлагают подход Gomela проверки программ на подмножестве языка Go путем генерации соответствующего кода на Promela. Проверяется корректность функций передачи сообщений.…”
Section: обзор связанных работunclassified
“…Thus, it may be better to try to verify the existing Golang programs by transforming them into formal models and then applying formal methods to them. Further plans include learning more about the GOMELA tool ( [6] and [8]) and either contributing to it or developing an alternative. Another possible direction of future work is to join the investigations at the Cyber-Physical Systems Laboratory of the Institute of Automation and Electrometry [14].…”
Section: ____________________________________________________________...mentioning
confidence: 99%
“…Nicolas Dilley and Julien Lange applied this approach: they chose a fragment of the Go language, named it MiniGo, and developed a GOMELA tool [6,7] to translate MiniGo programs into Promela specifications. Later, they evolved it into a tool-chain for an automated verification of Go programs [8,9].…”
Section: Introductionmentioning
confidence: 99%