English
Related papers

Related papers: Buffer Overflow Analysis for C

200 papers

Strings are ubiquitous in code. Not all strings are created equal, some contain structure that makes them incompatible with other strings. CSS units are an obvious example. Worse, type checkers cannot see this structure: this is the latent…

Programming Languages · Computer Science 2019-04-26 David Kelly , Mark Marron , David Clark , Earl T. Barr

Error handling is the process of responding to and recovering from error conditions in the program. In Swift, errors are represented by values of types that conform to the Error protocol. Throwing an error lets you indicate that something…

Programming Languages · Computer Science 2023-01-26 Roberto Rosmaninho

Static analyzers are tool sets which are proving to be indispensable to modern programmers. These enable the programmers to detect possible errors and security defects present in the current code base within the implementation phase of the…

Software Engineering · Computer Science 2019-05-14 Eljose E Sajan , Yunpeng Zhang , Liang-Chieh Cheng

Leveraging concepts from state machine refinement proofs, we use prophecy variables, which predict information about the future program execution, to enable forward reasoning for backward dataflow analyses. Drawing prophecy and history…

Programming Languages · Computer Science 2020-07-24 Martin Rinard , Austin Gadient

The aim of static analysis is to infer invariants about programs that are precise enough to establish semantic properties, such as the absence of run-time errors. Broadly speaking, there are two major branches of static analysis for…

Programming Languages · Computer Science 2013-09-23 Bor-Yuh Evan Chang , Xavier Rival

Automated Program Repair (APR) plays a critical role in enhancing the quality and reliability of software systems. While substantial progress has been made in Java-based APR, largely facilitated by benchmarks like Defects4J, there remains a…

Software Engineering · Computer Science 2025-12-03 Jian Wang , Xiaofei Xie , Qiang Hu , Shangqing Liu , Jiongchi Yu , Jiaolong Kong , Yi Li

Almost every software system provides configuration options to tailor the system to the target platform and application scenario. Often, this configurability renders the analysis of every individual system configuration infeasible. To…

Software Engineering · Computer Science 2016-02-17 Flávio Medeiros , Christian Kästner , Márcio Ribeiro , Rohit Gheyi , Sven Apel

The C++11/14 standard offers a wealth of features aimed at helping programmers write better code. Unfortunately, some of these features may cause subtle programming faults, likely to go unnoticed during code reviews. In this paper we…

Software Engineering · Computer Science 2020-04-10 Ali Parsai , Serge Demeyer , Seph De Busser

In this paper, we identify a fragment of second-order logic with restricted quantification that is expressive enough to capture numerous static analysis problems (e.g. safety proving, bug finding, termination and non-termination proving,…

Logic in Computer Science · Computer Science 2015-09-01 Cristina David , Daniel Kroening , Matt Lewis

A class of languages C is perfect if it is closed under Boolean operations and the emptiness problem is decidable. Perfect language classes are the basis for the automata-theoretic approach to model checking: a system is correct if the…

Formal Languages and Automata Theory · Computer Science 2012-08-28 Javier Esparza , Pierre Ganty , Rupak Majumdar

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

Even competent programmers make mistakes. Automatic verification can detect errors, but leaves the frustrating task of finding the erroneous line of code to the user. This paper presents an automatic approach for identifying potential error…

Logic in Computer Science · Computer Science 2014-09-17 Robert Koenighofer , Ronald Toegl , Roderick Bloem

Forgetting - or variable elimination - is an operation that allows the removal, from a knowledge base, of middle variables no longer deemed relevant. In recent years, many different approaches for forgetting in Answer Set Programming have…

Artificial Intelligence · Computer Science 2021-12-08 Ricardo Gonçalves , Matthias Knorr , João Leite

Learning-based control with safety guarantees usually requires real-time safety certification and modifications of possibly unsafe learning-based policies. The control barrier function (CBF) method uses a safety filter containing a…

Systems and Control · Electrical Eng. & Systems 2024-10-25 Kanghui He , Shengling Shi , Ton van den Boom , Bart De Schutter

Static analysis plays a crucial role in software vulnerability detection, yet faces a persistent precision-scalability tradeoff. In large codebases like the Linux kernel, traditional static analysis tools often generate excessive false…

Software Engineering · Computer Science 2025-06-03 Haonan Li , Hang Zhang , Kexin Pei , Zhiyun Qian

Strings are widely used in programs, especially in web applications. Integer data type occurs naturally in string-manipulating programs, and is frequently used to refer to lengths of, or positions in, strings. Analysis and testing of…

Logic in Computer Science · Computer Science 2020-07-15 Taolue Chen , Matthew Hague , Jinlong He , Denghang Hu , Anthony Widjaja Lin , Philipp Rummer , Zhilin Wu

Supporting the programming of stateful packet forwarding functions in hardware has recently attracted the interest of the research community. When designing such switching chips, the challenge is to guarantee the ability to program…

Networking and Internet Architecture · Computer Science 2019-01-29 Carmelo Cascone , Roberto Bifulco , Salvatore Pontarelli , Antonio Capone

This paper presents a method to automatically fix implicit data loss warnings in large C++ projects using Large Language Models (LLMs). Our approach uses the Language Server Protocol (LSP) to gather context, Tree-sitter to extract relevant…

Software Engineering · Computer Science 2026-01-22 Chansong You , Hyun Deok Choi , Jingun Hong

In a model-based testing approach as well as for the verification of properties, B models provide an interesting solution. However, for industrial applications, the size of their state space often makes them hard to handle. To reduce the…

Logic in Computer Science · Computer Science 2010-06-01 Jacques Julliand , Nicolas Stouls , Pierre-Christophe Bué , Pierre-Alain Masson

We re-investigate the problem of LTL model-checking for finite-state systems. Typical solutions, like in Spin, work on the fly, reducing the problem to Buechi emptiness. This can be done in linear time, and a variety of algorithms with this…

Logic in Computer Science · Computer Science 2009-10-21 Andreas Gaiser , Stefan Schwoon
‹ Prev 1 8 9 10 Next ›