English
Related papers

Related papers: Using Off-the-Shelf Exception Support Components i…

200 papers

We introduce CPP-UT-Bench, a benchmark dataset to measure C++ unit test generation capability of a large language model (LLM). CPP-UT-Bench aims to reflect a broad and diverse set of C++ codebases found in the real world. The dataset…

Software Engineering · Computer Science 2024-12-05 Vaishnavi Bhargava , Rajat Ghosh , Debojyoti Dutta

Designing and implementing secure software is inarguably more important than ever. However, despite years of research into privilege separating programs, it remains difficult to actually do so and such efforts can take years of…

Cryptography and Security · Computer Science 2022-01-25 Ioannis Agadakos , Manuel Egele , William Robertson

Unit testing is crucial in software engineering for ensuring quality. However, it's not widely used in parallel and high-performance computing software, particularly scientific applications, due to their smaller, diverse user base and…

Software Engineering · Computer Science 2024-07-09 Rabimba Karanjai , Aftab Hussain , Md Rafiqul Islam Rabin , Lei Xu , Weidong Shi , Mohammad Amin Alipour

Deep learning has been shown to be a promising tool in detecting software vulnerabilities. In this work, we train neural networks with program slices extracted from the source code of C/C++ programs to detect software vulnerabilities. The…

Cryptography and Security · Computer Science 2024-05-29 Zhen Huang , Amy Aumpansub

Many dynamic programming languages such as Ruby and Python enable developers to use so called native extensions, code implemented in typically statically compiled languages like C and C++. However, debuggers for these dynamic languages…

Software Engineering · Computer Science 2018-08-03 Jacob Kreindl , Manuel Rigger , Hanspeter Mössenböck

This paper presents Efficient SMT-Based Context-Bounded Model Checker (ESBMC) v7.6, an extended version based on previous work on ESBMC v7.3 by K. Song et al. The v7.3 introduced a new Clang-based C++ front-end to address the challenges…

Logic in Computer Science · Computer Science 2025-05-23 Xianzhiyu Li , Kunjian Song , Mikhail R. Gadelha , Franz Brauße , Rafael S. Menezes , Konstantin Korovin , Lucas C. Cordeiro

The C preprocessor (CPP) is a standard tool for introducing variability into source programs and is often applied either implicitly or explicitly for implementing a Software Product Line (SPL). Despite its practical relevance, CPP has many…

Software Engineering · Computer Science 2021-04-13 David Baum , Christina Sixtus , Lisa Vogelsberg , Ulrich Eisenecker

How to apply automated verification technology such as model checking and static program analysis to millions of lines of embedded C/C++ code? How to package this technology in a way that it can be used by software developers and engineers,…

Software Engineering · Computer Science 2013-01-03 Ralf Huuck

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

Language-orientated programming promises to elevate programmer productivity through increased abstrac- tion capabilities. Structural programming environments provide apparatus to reduce the difficulties with syntax. The language workbench,…

Programming Languages · Computer Science 2014-03-18 Gavin Wood

We present programming techniques to illustrate the facilities and principles of C++ generic programming using concepts. Concepts are C++'s way to express constraints on generic code. As an initial example, we provide a simple type system…

Programming Languages · Computer Science 2025-10-13 Bjarne Stroustrup

Vulnerability detection is crucial for maintaining software security, and recent research has explored the use of Language Models (LMs) for this task. While LMs have shown promising results, their performance has been inconsistent across…

Cryptography and Security · Computer Science 2024-12-24 Syafiq Al Atiiq , Christian Gehrmann , Kevin Dahlén

Students in computing education increasingly use large language models (LLMs) such as ChatGPT. Yet, the role of LLMs in supporting cognitively demanding tasks, like deductive program verification, remains poorly understood. This paper…

Software Engineering · Computer Science 2025-09-09 Carolina Carreira , Álvaro Silva , Alexandre Abreu , Alexandra Mendes

Deductive verification provides strong correctness guarantees for code by extracting verification conditions (VCs) and writing formal proofs for them. The expertise-intensive task of VC proving is the main bottleneck in this process, and…

Software Engineering · Computer Science 2026-03-24 Huan Zhao , Haoxin Tu , Zhengyao Liu , Martin Rinard , Abhik Roychoudhury

This paper presents a framework that integrates Large Language Models (LLMs) into translation validation, targeting LLVM compiler transformations where formal verification tools fall short. Our framework first utilizes existing formal…

Programming Languages · Computer Science 2024-02-02 Yanzhao Wang , Fei Xie

Verification of C++ programs has seen considerable progress in several areas, but not for programs that use these languages' mathematical libraries. The reason is that all libraries in widespread use come with no guarantees about the…

Programming Languages · Computer Science 2022-06-23 Roberto Bagnara , Michele Chiari , Roberta Gori , Abramo Bagnara

LLVM is an infrastructure for code generation and low-level optimizations, which has been gaining popularity as a backend for both research and industrial compilers, including many compilers for functional languages. While LLVM provides a…

Programming Languages · Computer Science 2019-01-01 Kavon Farvardin , John Reppy

Formal verification techniques aim at formally proving the correctness of a computer program with respect to a formal specification, but the expertise and effort required for applying formal specification and verification techniques and…

Software Engineering · Computer Science 2023-01-10 João Pascoal Faria , Rui Abreu

Researchers have recently designed a number of application-specific fault tolerance mechanisms that enable applications to either be naturally resilient to errors or include additional detection and correction steps that can bring the…

Programming Languages · Computer Science 2018-05-17 Brett Boston , Zoe Gong , Michael Carbin

Boundary value analysis and testing (BVT) is fundamental in software quality assurance because faults tend to cluster at input extremes, yet testers often struggle to understand and justify why certain input-output pairs represent…

Software Engineering · Computer Science 2026-02-02 Sabinakhon Akbarova , Felix Dobslaw , Robert Feldt