English
Related papers

Related papers: FlyCatcher: Neural Inference of Runtime Checkers f…

200 papers

We present a study of crash-consistency bugs in persistent-memory (PM) file systems and analyze their implications for file-system design and testing crash consistency. We develop FlyTrap, a framework to test PM file systems for…

Operating Systems · Computer Science 2022-04-14 Hayley LeBlanc , Shankara Pailoor , Isil Dillig , James Bornholt , Vijay Chidambaram

Estimating the Worst-Case Execution Time (WCET) of an application is an essential task in the context of developing real-time or safety-critical software, but it is also a complex and error-prone process. Conventional approaches require at…

Software Engineering · Computer Science 2018-06-13 Martin Becker , Ravindra Metta , R Venkatesh , Samarjt Chakraborty

Static analysis is a method of analyzing source code without executing it. It is widely used to find bugs and code smells in industrial software. Besides other methods, the most important techniques are those based on the abstract syntax…

Software Engineering · Computer Science 2024-08-13 Gabor Horvath , Reka Kovacs , Richard Szalay , Zoltan Porkolab

The execution behavior of a program often depends on external resources, such as program inputs or file contents, and so cannot be run in isolation. Nevertheless, software developers benefit from fast iteration loops where automated tools…

Machine Learning · Computer Science 2022-03-30 David Bieber , Rishab Goel , Daniel Zheng , Hugo Larochelle , Daniel Tarlow

Modern computing systems remain rife with software vulnerabilities. Engineers apply many means to detect them, of which dynamic testing is one of the most common and effective. However, most dynamic testing techniques follow a top-down…

Cryptography and Security · Computer Science 2025-09-05 Siddharth Muralee , Sourag Cherupattamoolayil , James C. Davis , Antonio Bianchi , Aravind Machiry

The use of large language models for code generation is a rapidly growing trend in software development. However, without effective methods for ensuring the correctness of generated code, this trend could lead to undesirable outcomes. In…

Artificial Intelligence · Computer Science 2024-11-19 Chuyue Sun , Ying Sheng , Oded Padon , Clark Barrett

Large language models (LLMs) are increasingly used to generate requirements specifications, design documents, code, and test cases. In contrast, much less attention has been given to a more difficult assurance problem: statically verifying…

Software Engineering · Computer Science 2026-05-19 Zhi Quan Zhou , Dave Towey , Tsong Yueh Chen

Given a program and a time deadline, does the program finish before the deadline when executed on a given platform? With the requirement to produce a test case when such a violation can occur, we refer to this problem as the worst-case…

Programming Languages · Computer Science 2015-06-22 Daniel Bundala , Sanjit A. Seshia

The increasing inclusion of Machine Learning (ML) models in safety critical systems like autonomous cars have led to the development of multiple model-based ML testing techniques. One common denominator of these testing techniques is their…

Machine Learning · Computer Science 2019-09-09 Houssem Ben Braiek , Foutse Khomh

Atomicity violations in interrupt-driven programs pose a significant threat to software reliability in safety-critical systems. These violations occur when the execution sequence of operations on shared resources is disrupted by…

Software Engineering · Computer Science 2025-09-16 Hang He , Yixing Luo , Chengcheng Wan , Ting Su , Haiying Sun , Geguang Pu

For software interacting directly with real-world end-users, it is common practice to script scenario tests validating the system's compliance with a number of its features. However, these do not accommodate the replication of the type of…

Software Engineering · Computer Science 2022-08-26 Pasquale Salza , Marco Edoardo Palma , Harald C. Gall

Runtime verification encompasses several lightweight techniques for checking whether a system's current execution satisfies a given specification. We focus on runtime verification for Linear Temporal Logic (LTL). Previous work describes…

Logic in Computer Science · Computer Science 2025-08-12 Javier Esparza , Vincent Fischer

Runtime verification is an area of formal methods that studies the dynamic analysis of execution traces against formal specifications. Typically, the two main activities in runtime verification efforts are the process of creating monitors…

Despite the tremendous advances that have been made in the last decade on developing useful machine-learning applications, their wider adoption has been hindered by the lack of strong assurance guarantees that can be made about their…

Machine Learning · Computer Science 2019-07-18 He Zhu , Zikang Xiong , Stephen Magill , Suresh Jagannathan

Security vulnerabilities present in a code that has been written in diverse programming languages are among the most critical yet complicated aspects of source code to detect. Static analysis tools based on rule-based patterns usually do…

Cryptography and Security · Computer Science 2025-08-19 Hael Abdulhakim Ali Humran , Ferdi Sonmez

Tool-augmented Large Language Model (LLM) agents have demonstrated impressive capabilities in automating complex, multi-step real-world tasks, yet remain vulnerable to indirect prompt injection. Adversaries exploit this weakness by…

Cryptography and Security · Computer Science 2026-05-12 Wei Zhao , Zhe Li , Peixin Zhang , Jun Sun

In runtime verification, the central problem is to decide if a given program execution violates a given property. In online runtime verification, a monitor observes a program's execution as it happens. If the program being observed has hard…

Data Structures and Algorithms · Computer Science 2015-05-15 Radu Grigore , Stefan Kiefer

Logging code is written by developers to capture system runtime behavior and plays a vital role in debugging, performance analysis, and system monitoring. However, defects in logging code can undermine the usefulness of logs and lead to…

Software Engineering · Computer Science 2025-08-18 Xin Wang , Zhenhao Li , Zishuo Ding

Iterative methods are commonly used approaches to solve large, sparse linear systems, which are fundamental operations for many modern scientific simulations. When the large-scale iterative methods are running with a large number of ranks…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-05-30 Dingwen Tao , Sheng Di , Xin Liang , Zizhong Chen , Franck Cappello

With the presence of online collaborative tools for software developers, source code is shared and consulted frequently, from code viewers to merge requests and code snippets. Typically, code highlighting quality in such scenarios is…

Software Engineering · Computer Science 2022-08-05 Marco Edoardo Palma , Pasquale Salza , Harald C. Gall