English
Related papers

Related papers: Go-Oracle: Automated Test Oracle for Go Concurrenc…

200 papers

Message-passing concurrency is a popular computation model that underlies several programming languages like, e.g., Erlang, Akka, and (to some extent) Go and Rust. In particular, we consider a message-passing concurrent language with…

Programming Languages · Computer Science 2022-10-07 Germán Vidal

The Go programming language aims to provide memory and thread safety through measures such as automated memory management with garbage collection and a strict type system. However, it also offers a way of circumventing this safety net…

Cryptography and Security · Computer Science 2020-10-23 Johannes Lauinger , Lars Baumgärtner , Anna-Katharina Wickert , Mira Mezini

Validating the correctness of network protocol implementations is highly challenging due to the oracle and traceability problems. The former determines when a protocol implementation can be considered buggy, especially when the bugs do not…

Software Engineering · Computer Science 2025-04-28 Mingwei Zheng , Danning Xie , Qingkai Shi , Chengpeng Wang , Xiangyu Zhang

Reproducing system-level concurrency bugs requires both input data and the precise interleaving order of system calls. This process is challenging because such bugs are non-deterministic, and bug reports often lack the detailed information…

Software Engineering · Computer Science 2026-01-15 Tarannum Shaila Zaman , Zhihui Yan , Chen Wang , Chadni Islam , Jiangfan Shi , Tingting Yu

Training data imbalance poses a major challenge for code LLMs. Most available data heavily over represents raw opensource code while underrepresenting broader software engineering tasks, especially in low resource languages like Golang. As…

Machine Learning · Computer Science 2025-11-17 Yashshi Pipalani , Hritik Raj , Rajat Ghosh , Vaishnavi Bhargava , Debojyoti Dutta

Machine learning contrasts with traditional software development in that the oracle is the data, and the data is not always a correct representation of the problem that machine learning tries to model. We present a survey of the oracle…

Machine Learning · Computer Science 2021-05-05 Diogo Seca

With the growing ubiquity of multi-core architectures, concurrent systems have become essential but increasingly prone to complex issues such as data races and deadlocks. While modern issue-tracking systems facilitate the reporting of such…

Software Engineering · Computer Science 2026-01-26 Shuai Shao , Lu Xiao , Tingting Yu

With the application of deep learning technology, tools of DL framework testing are in high demand. Existing DL framework testing tools have limited coverage of bug types. For example, they lack the capability of effectively finding…

Software Engineering · Computer Science 2025-10-29 Xiaoyu Zhang , Juan Zhai , Shiqing Ma , Shiwei Wang , Chao Shen

We consider the problem of static deadlock detection for programs in the Go programming language which make use of synchronous channel communications. In our analysis, regular expressions extended with a fork operator capture the…

Programming Languages · Computer Science 2016-09-05 Kai Stadtmüller , Martin Sulzmann , Peter Thiemann

Developers face a wide choice of programming languages and libraries supporting multicore computing. Ever more diverse paradigms for expressing parallelism and synchronization become available while their influence on usability and…

Distributed, Parallel, and Cluster Computing · Computer Science 2014-10-24 Sebastian Nanz , Scott West , Kaue Soares da Silveira , Bertrand Meyer

Concurrency bugs, caused by improper synchronization of shared resources in multi-threaded or distributed systems, are notoriously hard to detect and thus compromise software reliability and security. The existing deep learning methods face…

Software Engineering · Computer Science 2025-08-29 Zuocheng Feng , Kaiwen Zhang , Miaomiao Wang , Yiming Cheng , Yuandao Cai , Xiaofeng Li , Guanjun Liu

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 building blocks of concurrent execution. Go advocates…

Software Engineering · Computer Science 2023-12-20 Georgian-Vlad Saioc , Dmitriy Shirchenko , Milind Chabbi

Modern cloud applications delivering global services are often built on distributed systems with a microservice architecture. In such systems, end-to-end user requests traverse multiple different services and machines, exhibiting intricate…

Software Engineering · Computer Science 2025-12-08 Zhiling Deng , Juepeng Wang , Zhuangbin Chen

Bug-fix benchmarks are fundamental in advancing various sub-fields of software engineering such as automatic program repair (APR) and fault localization (FL). A good benchmark must include recent examples that accurately reflect…

Software Engineering · Computer Science 2024-03-15 Nuno Saavedra , André Silva , Martin Monperrus

Software defects are a major threat to the reliability of computer systems. The literature shows that more than 30% of bug reports submitted in large software projects are misclassified (i.e., are feature requests, or mistakes made by the…

Software Engineering · Computer Science 2025-03-04 Renato Andrade , César Teixeira , Nuno Laranjeiro , Marco Vieira

In Go, the widespread adoption of open-source software has led to a flourishing ecosystem of third-party dependencies, which are often integrated into critical systems. However, the reuse of dependencies introduces significant supply chain…

Cryptography and Security · Computer Science 2025-09-05 Carmine Cesarano , Vivi Andersson , Roberto Natella , Martin Monperrus

Graphically-rich applications such as games are ubiquitous with attractive visual effects of Graphical User Interface (GUI) that offers a bridge between software applications and end-users. However, various types of graphical glitches may…

Software Engineering · Computer Science 2021-09-24 Ke Chen , Yufei Li , Yingfeng Chen , Changjie Fan , Zhipeng Hu , Wei Yang

Logging, the practice of inserting log statements into source code, is critical for improving software reliability. Recently, language model-based techniques have been developed to automate log statement generation based on input code.…

Software Engineering · Computer Science 2025-04-03 Boyin Tan , Junjielong Xu , Zhouruixing Zhu , Pinjia He

A decade after its first release, the Go programming language has become a major programming language in the development landscape. While praised for its clean syntax and C-like performance, Go also contains a strong static type-system that…

Software Engineering · Computer Science 2021-10-12 Diego Elias Costa , Suhaib Mujahid , Rabe Abdalkareem , Emad Shihab

This paper describes a static verification framework for the message-passing fragment of the Go programming language. Our framework extracts models that over-approximate the message-passing behaviour of a program. These models, or…

Programming Languages · Computer Science 2020-04-06 Nicolas Dilley , Julien Lange