English
Related papers

Related papers: Build It, Break It, Fix It: Contesting Secure Deve…

200 papers

There is burgeoning interest in designing AI-based systems to assist humans in designing computing systems, including tools that automatically generate computer code. The most notable of these comes in the form of the first self-described…

Cryptography and Security · Computer Science 2021-12-17 Hammond Pearce , Baleegh Ahmad , Benjamin Tan , Brendan Dolan-Gavitt , Ramesh Karri

During the life cycle of software development, developers have to fix different kinds of bugs reported by testers or end users. The efficiency and effectiveness of fixing bugs have a huge impact on the reliability of the software as well as…

Software Engineering · Computer Science 2013-11-12 Jaechang Nam , Ning Chen

A digital security-by-design computer architecture, like CHERI, lets you program without fear of buffer overflows or other memory safety errors, but CHERI also rewrites some of the assumptions about how C works and how fundamental types…

Cryptography and Security · Computer Science 2025-07-01 Maysara Alhindi , Joseph Hallett

Debuggers are a popular reverse engineering and tampering tool. Self-debugging is an effective technique for applications to defend themselves against hostile debuggers. In penetration tests on state-of-the-art self-debugging, we observed…

Cryptography and Security · Computer Science 2020-11-02 Bert Abrath , Bart Coppens , Ilja Nevolin , Bjorn De Sutter

Automated unit test generators, particularly search-based software testing tools like EvoSuite, are capable of generating tests with high coverage. Although these generators alleviate the burden of writing unit tests, they often pose…

Software Engineering · Computer Science 2024-08-22 Amirhossein Deljouyi , Roham Koohestani , Maliheh Izadi , Andy Zaidman

This work aims at discussing the complexity aspect of software while demonstrating its relationship with security. Complexity is an essential part of software; however, numerous studies indicate that they increase the vulnerability of the…

Software Engineering · Computer Science 2020-02-18 Mamdouh Alenezi , Mohammad Zarour

As large language models (LLMs) see wide adoption in software engineering, the reliable assessment of the correctness and security of LLM-generated code is crucial. Notably, prior work showed that LLMs are prone to generating code with…

Cryptography and Security · Computer Science 2026-05-22 Tobias von Arx , Niels Mündler , Mark Vero , Maximilian Baader , Martin Vechev

Large language models (LLMs) have shown growing potential in software engineering, yet few benchmarks evaluate their ability to repair software during migration across instruction set architectures (ISAs). Cross-ISA migration, such as…

Reliable, risk-averse design of complex engineering systems with optimized performance requires dealing with uncertainties. A conventional approach is to add safety margins to a design that was obtained from deterministic optimization.…

Optimization and Control · Mathematics 2024-06-18 Anirban Chaudhuri , Boris Kramer , Matthew Norton , Johannes O. Royset , Karen Willcox

Developers often use crash reports to understand the root cause of bugs. However, locating the buggy source code snippet from such information is a challenging task, mainly when the log database contains many crash reports. To mitigate this…

Software Engineering · Computer Science 2024-03-19 Marcos Medeiros , Uirá Kulesza , Roberta Coelho , Rodrigo Bonifácio , Christoph Treude , Eiji Adachi

When security bugs are detected, they should be (a)~discussed privately by security software engineers; and (b)~not mentioned to the general public until security patches are available. Software engineers usually report bugs to bug tracking…

Software Engineering · Computer Science 2019-05-17 Rui Shu , Tianpei Xia , Laurie Williams , Tim Menzies

Safety-critical designs need to ensure reliable operations under hostile conditions with a certain degree of confidence. The continuously higher complexity of these designs makes them more susceptible to the risk of failure. ISO26262…

Software Engineering · Computer Science 2022-04-29 Endri Kaja , Nicolas Gerlin , Luis Rivas , Monideep Bora , Keerthikumara Devarajegowda , Wolfgang Ecker

C programs can use compiler builtins to provide functionality that the C language lacks. On Linux, GCC provides several thousands of builtins that are also supported by other mature compilers, such as Clang and ICC. Maintainers of other…

Programming Languages · Computer Science 2019-07-02 Manuel Rigger , Stefan Marr , Bram Adams , Hanspeter Mössenböck

Accurately assessing software vulnerabilities is essential for effective prioritization and remediation. While various scoring systems exist to support this task, their differing goals, methodologies and outputs often lead to inconsistent…

Cryptography and Security · Computer Science 2025-08-20 Viktoria Koscinski , Mark Nelson , Ahmet Okutan , Robert Falso , Mehdi Mirakhorli

Context: Bug bisection is a common technique used to identify a revision that introduces a bug or indirectly fixes a bug, and often involves executing multiple revisions of a project to determine whether the bug is present within the…

Software Engineering · Computer Science 2024-05-06 Ching Hang Mak , Shing-Chi Cheung

Bug fixing is a complex and time-consuming task in software development. Bug localization research tends to focus on the accuracy of automated tools that suggest source code files for developers to look at. However, little is known about…

Software Engineering · Computer Science 2026-05-07 Pablo Diaz Pedreira , Tamara Lopez , Michel Wermelinger

Rust aims to be a safe programming language applicable to systems programming applications. In particular, its type system has strong guardrails to prevent a variety of issues, such as memory safety bugs and data races. However, these…

Programming Languages · Computer Science 2024-10-04 Alex Le Blanc , Patrick Lam

Large language models (LLMs) for code are typically trained to align with natural language instructions to closely follow their intentions and requirements. However, in many practical scenarios, it becomes increasingly challenging for these…

Software Engineering · Computer Science 2024-10-30 Hung Le , Yingbo Zhou , Caiming Xiong , Silvio Savarese , Doyen Sahoo

Smart contracts are frequently vulnerable to control-flow attacks based on confused deputies, reentrancy, and incorrect error handling. These attacks exploit the complexity of interactions among multiple possibly unknown contracts. Existing…

Cryptography and Security · Computer Science 2025-04-24 Siqiu Yao , Haobin Ni , Stephanie Ma , Noah Schiff , Andrew C. Myers , Ethan Cecchetti

Humans often specify tasks incompletely, so assistants must know when and how to ask clarifying questions. However, effective clarification remains challenging in software engineering tasks as not all missing information is equally…

Software Engineering · Computer Science 2026-04-17 Sanidhya Vijayvargiya , Vijay Viswanathan , Graham Neubig