English
Related papers

Related papers: Checkbochs: Use Hardware to Check Software

200 papers

The ever increasing complexity of hardware platforms poses a challenge to systems programmers. Correctly programming a multitude of components, providing functionality and security, is difficult: semantics of individual units are described…

Cryptography and Security · Computer Science 2026-04-21 Ben Fiedler , Samuel Gruetter , Timothy Roscoe

During the development and verification of complex airborne systems, a variety of languages and development environments are used for different levels of the system hierarchy. As a result, there may be manual steps to translate requirements…

Software Engineering · Computer Science 2016-04-26 Jing Liu , John D. Backes , Darren Cofer , Andrew Gacek

Device driver bugs are the leading cause of OS compromises, and their formal verification is therefore highly desirable. To the best of our knowledge, no realistic and performant driver has been verified for a non-trivial device. We propose…

In the last decade it became a common practice to formalise software requirements to improve the clarity of users' expectations. In this work we build on the fact that functional requirements can be expressed in temporal logic and we…

Software Engineering · Computer Science 2015-10-12 Jiří Barnat , Petr Bauch , Nikola Beneš , Luboš Brim , Jan Beran , Tomáš Kratochvíla

As applications get developed, bugs inevitably get introduced. Often, it is unclear why a given code change introduced a given bug. To find this causal relation and more effectively debug, developers can leverage the existence of a previous…

Programming Languages · Computer Science 2021-04-13 Thomas Dupriez , Steven Costiou , Stéphane Ducasse

Experimentation with software prototypes plays a fundamental role in software engineering research. In contrast to many other scientific disciplines, however, explicit support for this key activity in software engineering is relatively…

Software Engineering · Computer Science 2021-10-26 Klaus Schmid , Sascha El-Sharkawy , Christian Kröher

We introduce SimulBench, a benchmark designed to evaluate large language models (LLMs) across a diverse collection of creative simulation scenarios, such as acting as a Linux terminal or playing text games with users. While these simulation…

Computation and Language · Computer Science 2024-09-13 Qi Jia , Xiang Yue , Tianyu Zheng , Jie Huang , Bill Yuchen Lin

As cyber threats continue to evolve and diversify, it has become increasingly challenging to identify the root causes of security breaches that occur between periodic security assessments. This paper explores the fundamental importance of…

Cryptography and Security · Computer Science 2024-12-24 Prakhar Paliwal , Arjun Sable , Manjesh K. Hanawal

Plugin systems are a class of external programmes that provide users with a wide range of functionality, and while they enhance the user experience, their security is always a challenge. Especially due to the diversity and complexity of…

Cryptography and Security · Computer Science 2025-08-19 Ruomai Ren

Systematic exploration of hypotheses is a major part of any empirical research. In software engineering, we often produce unique tools for experiments and evaluate them independently on different data sets. In this paper, we present…

Software Engineering · Computer Science 2021-10-13 Christian Kröher , Sascha El-Sharkawy , Klaus Schmid

Debugging distributed systems in-production is inevitable and hard. Myriad interactions between concurrent components in modern, complex and large-scale systems cause non-deterministic bugs that offline testing and verification fail to…

Software Engineering · Computer Science 2026-04-08 Jingyuan Chen , Lei Zhang , Leon Schuermann , Gongqi Huang , Ravi Netravali , Amit Levy

A hybrid docking simulator is a hardware-in-the-loop (HIL) simulator that includes a hardware element within a numerical simulation loop. One of the goals of performing a HIL simulation at the European Proximity Operation Simulator (EPOS)…

Other Computer Science · Computer Science 2014-09-03 M. Zebenaya , T. Boge , D. Choukroun

Model checkers use automated state exploration in order to prove various properties such as reachability, non-reachability, and bisimulation over state transition systems. While model checkers have proved valuable for locating errors in…

Logic in Computer Science · Computer Science 2015-08-03 Quentin Heath , Dale Miller

A validation methodology is proposed and implemented for natural language software specifications of standard graphics functions. Checks are made for consistency, completeness, and lack of ambiguity in data element and function…

Software Engineering · Computer Science 2024-02-01 Steven D. Fraser , Peter P. Silvester

Current network control plane verification tools cannot scale to large networks, because of the complexity of jointly reasoning about the behaviors of all nodes in the network. In this paper we present a modular approach to control plane…

Networking and Internet Architecture · Computer Science 2023-09-22 Alan Tang , Ryan Beckett , Steven Benaloh , Karthick Jayaraman , Tejas Patil , Todd Millstein , George Varghese

ConsumerCheck is an open source data analysis software tailored for analysis of sensory and consumer data. Since some of the implemented methods are generic, such as PCA, PLSR and PCR, other data from other domains may also be analysed with…

Human-Computer Interaction · Computer Science 2022-01-12 Oliver Tomic , Alexandra Kuznetsova , Per Bruun Brockhoff , Thomas Graff , Tormod Næs

Motivation: Automated bug detection in dynamically typed languages such as Python is essential for maintaining code quality. The lack of mandatory type annotations in such languages can lead to errors that are challenging to identify early…

Software Engineering · Computer Science 2025-01-17 Boqi Chen , José Antonio Hernández López , Gunter Mussbacher , Dániel Varró

As machine learning is increasingly used in essential systems, it is important to reduce or eliminate the incidence of serious bugs. A growing body of research has developed machine learning algorithms with formal guarantees about…

Machine Learning · Computer Science 2020-07-15 Jean-Baptiste Tristan , Joseph Tassarotti , Koundinya Vajjha , Michael L. Wick , Anindya Banerjee

Software patching is a common method of removing vulnerabilities in software components to make IT systems more secure. However, there are many cases where software patching is not possible due to the critical nature of the application,…

Cryptography and Security · Computer Science 2021-06-03 Stjepan Groš , Ivan Kovačević , Ivan Dujmić , Matej Petrinović

Software defect datasets, which are collections of software bugs, are essential resources to facilitate empirical research and enable standardized benchmarking for a wide range of software engineering techniques, including emerging areas…

Software Engineering · Computer Science 2026-02-12 Hao-Nan Zhu , Robert M. Furth , Michael Pradel , Cindy Rubio-González