Kmclib: Automated Inference and Verification of Session Types from OCaml Programs

K Imai, J Lange, R Neykova - … Conference on Tools and Algorithms for the …, 2022 - Springer
Theories and tools based on multiparty session types offer correctness guarantees for
concurrent programs that communicate using message-passing. These guarantees usually …

Detecting blocking errors in go programs using localized abstract interpretation

OH Veileborg, GV Saioc, A Møller - Proceedings of the 37th IEEE/ACM …, 2022 - dl.acm.org
Channel-based concurrency is a widely used alternative to shared-memory concurrency but
is difficult to use correctly. Common programming errors may result in blocked threads that …

Finding Specification Blind Spots via Fuzz Testing

R Ji, M Xu - 2023 IEEE Symposium on Security and Privacy (SP …, 2023 - ieeexplore.ieee.org
A formally verified program is only as correct as its specifications (SPEC). But how to assure
that the SPEC is complete and free of loopholes? This paper presents Fast, short for Fuzzing …

[HTML][HTML] Knowledge transfer based many-objective approach for finding bugs in multi-path loops

SD Semujju, F Liu, H Huang, Y Xiang, X Yan… - Complex & Intelligent …, 2024 - Springer
Generating test cases is essential for discovering software bugs. However, finding bugs in
multi-path loops is challenging, especially when bugs can only be exposed after a specific …

Effective Concurrency Testing for Go via Directional Primitive-Constrained Interleaving Exploration

Z Jiang, M Wen, Y Yang, C Peng… - 2023 38th IEEE/ACM …, 2023 - ieeexplore.ieee.org
The Go language (Go/Golang) has been attracting increasing attention from the industry
over recent years due to its strong concurrency support and ease of deployment. This …

Automated verification of concurrent go programs via bounded model checking

N Dilley, J Lange - Automated Software Engineering, 2023 - Springer
The Go programming language offers a wide range of primitives to coordinate lightweight
threads, eg, channels, waitgroups, and mutexes—all of which may cause concurrency bugs …

[HTML][HTML] Automated replication of tuple spaces via static analysis

R De Nicola, L Di Stefano, O Inverso… - Science of Computer …, 2022 - Elsevier
Coordination languages for tuple spaces can offer significant advantages in the specification
and implementation of distributed systems, but often do require manual programming effort …

Unveiling and Vanquishing Goroutine Leaks in Enterprise Microservices: A Dynamic Analysis Approach

GV Saioc, D Shirchenko… - 2024 IEEE/ACM …, 2024 - ieeexplore.ieee.org
Go is a modern programming language gaining popularity in enterprise microservice
systems. Concurrency is a first-class citizen in Go with lightweight “goroutines” as the …

[PDF][PDF] ChorEr: un analizzatore statico per generare Automi Coreografici da codice sorgente Erlang

I Lanese, G Genovese - 2023 - gabrielegenovese.github.io
Il recente sviluppo di applicazioni concorrenti e distribuite ha dato origine a un nuovo
interesse verso il linguaggio Erlang (ed Elixir che si basa su una Erlang Virtual Machine …

Go2Pins: a framework for the LTL verification of Go programs (extended version)

A Kirszenberg, A Martin, H Moreau… - International Journal on …, 2023 - Springer
Abstract We introduce Go2Pins, a tool that takes a program written in Go and links it with two
model checkers: LTSMin (Kant et al. Ltsmin: high-performance language-independent …