English
Related papers

Related papers: A Context-Sensitive, Outlier-Based Static Analysis…

200 papers

Data races are a prevalent class of concurrency bugs in shared-memory parallel programs, posing significant challenges to software reliability and reproducibility. While there is an extensive body of research on detecting data races and a…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-04-23 Farnaz Behrang , Zhizhou Zhang , Georgian-Vlad Saioc , Peng Liu , Milind Chabbi

In this paper, we present a novel marriage of static and dynamic analysis. Given a large code base with many functions and a mature test suite, we propose using static analysis to find functions 1) with assertions or other evident…

Software Engineering · Computer Science 2016-09-22 Mohammad Amin Alipour , Alex Groce , Chaoqiang Zhang , Anahita Sanadaji , Gokul Caushik

Data leakage is a well-known problem in machine learning. Data leakage occurs when information from outside the training dataset is used to create a model. This phenomenon renders a model excessively optimistic or even useless in the real…

Programming Languages · Computer Science 2024-08-07 Filip Drobnjaković , Pavle Subotić , Caterina Urban

Static analysis is a powerful technique for bug detection in critical systems like operating system kernels. However, designing and implementing static analyzers is challenging, time-consuming, and typically limited to predefined bug…

Software Engineering · Computer Science 2025-09-05 Chenyuan Yang , Zijie Zhao , Zichen Xie , Haoyu Li , Lingming Zhang

A fundamental challenge of software testing is the statistically well-grounded extrapolation from program behaviors observed during testing. For instance, a security researcher who has run the fuzzer for a week has currently no means (i) to…

Software Engineering · Computer Science 2018-04-05 Marcel Böhme

In operating system development, concurrency poses significant challenges. It is difficult for humans to manually review concurrent behaviors or to write test cases covering all possible executions, often resulting in critical bugs.…

Software Engineering · Computer Science 2025-03-13 Akira Hasegawa , Ryuta Kambe , Toshiaki Aoki , Yuuki Takano

In typical software, many comparisons and subsequent branch operations are highly critical in terms of security. Examples include password checks, signature checks, secure boot, and user privilege checks. For embedded devices, these…

Cryptography and Security · Computer Science 2018-03-23 Robert Schilling , Mario Werner , Stefan Mangard

Traditional spectrum-based fault localization (SBFL) exploits differences in a program's coverage spectrum when run on passing and failing test cases. However, such runs can provide a wealth of additional information beyond mere coverage.…

Software Engineering · Computer Science 2025-03-07 Julian Aron Prenner , Romain Robbes

In the era of Exascale computing, writing efficient parallel programs is indispensable and at the same time, writing sound parallel programs is very difficult. Specifying parallelism with frameworks such as OpenMP is relatively easy, but…

Programming Languages · Computer Science 2020-09-09 Utpal Bora , Santanu Das , Pankaj Kukreja , Saurabh Joshi , Ramakrishna Upadrasta , Sanjay Rajopadhye

Happens before-based dynamic analysis is the go-to technique for detecting data races in large scale software projects due to the absence of false positive reports. However, such analyses are expensive since they employ expensive vector…

Programming Languages · Computer Science 2025-06-26 Mosaad Al Thokair , Minjian Zhang , Umang Mathur , Mahesh Viswanathan

Error invariants are assertions that over-approximate the reachable program states at a given position in an error trace while only capturing states that will still lead to failure if execution of the trace is continued from that position.…

Software Engineering · Computer Science 2016-08-31 Andreas Holzer , Daniel Schwartz-Narbonne , Mitra Tabaei Befrouei , Georg Weissenbacher , Thomas Wies

Emerging real-time applications have driven the transition to multicore embedded systems, where tasks must share resources due to functional demands and limited availability. These resources, whether local or global, are protected within…

Operating Systems · Computer Science 2025-12-29 Nan Chen , Xiaotian Dai , Tong Cheng , Alan Burns , Iain Bate , Shuai Zhao

Concurrently accessing shared data without locking is usually a subject to race conditions resulting in inconsistent or corrupted data. However, there are programs operating correctly without locking by exploiting the atomicity of certain…

Programming Languages · Computer Science 2012-11-28 Eva Beckschulze , Sebastian Biallas , Stefan Kowalewski

Leveraging Large Language Models (LLMs) for code generation has increasingly emerged as a common practice in the domain of software engineering. Relevant benchmarks have been established to evaluate the code generation capabilities of LLMs.…

Software Engineering · Computer Science 2026-03-05 Jue Huang , Tarek Mahmud , Corina Pasareanu , Guowei Yang

Increasing the semantic understanding and contextual awareness of machine learning models is important for improving robustness and reducing susceptibility to data shifts. In this work, we leverage contextual awareness for the anomaly…

Machine Learning · Computer Science 2022-03-22 Nathan Vaska , Kevin Leahy , Victoria Helus

We address the problem of detecting race conditions in programs that use semaphores for synchronization. Netzer and Miller showed that it is NP-complete to detect race conditions in programs that use many semaphores. We show in this paper…

Data Structures and Algorithms · Computer Science 2007-05-23 Philip N. Klein , Hsueh-I Lu , Rob H. B. Netzer

The rapid pace of large-scale software development places increasing demands on traditional testing methodologies, often leading to bottlenecks in efficiency, accuracy, and coverage. We propose a novel perspective on software testing by…

Software Engineering · Computer Science 2025-04-08 Yuchen Wang , Shangxin Guo , Chee Wei Tan

Implementing bug-free concurrent programs is a challenging task in modern software development. State-of-the-art static analyses find hundreds of concurrency bugs in production code, scaling to large codebases. Yet, fixing these bugs in…

Software Engineering · Computer Science 2021-08-09 Andreea Costea , Abhishek Tiwari , Sigmund Chianasta , Kishore R , Abhik Roychoudhury , Ilya Sergey

Most work on the verification of concurrent objects for shared memory assumes sequential consistency, but most multicore processors support only weak memory models that do not provide sequential consistency. Furthermore, most verification…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-04-25 Simon Doherty , John Derrick

Spectre and Meltdown attacks and their variants exploit hardware performance optimization features to cause security breaches. Secret information is accessed and leaked through covert or side channels. New attack variants keep appearing and…

Cryptography and Security · Computer Science 2020-12-24 Zecheng He , Guangyuan Hu , Ruby Lee