中文
相关论文

相关论文: Safe Pointers in SPARK 2014

200 篇论文

We present Aeneas, a new verification toolchain for Rust programs based on a lightweight functional translation. We leverage Rust's rich region-based type system to eliminate memory reasoning for many Rust programs, as long as they do not…

编程语言 · 计算机科学 2022-09-29 Son Ho , Jonathan Protzenko

The safety of cyber-physical systems rests on the correctness of their monitoring mechanisms. This is problematic if the specification of the monitor is implemented manually or interpreted by unreliable software. We present a verifying…

软件工程 · 计算机科学 2020-12-17 Bernd Finkbeiner , Stefan Oswald , Noemi Passing , Maximilian Schwenger

Rust relies on its unique ownership mechanism to ensure thread and memory safety. However, numerous potential security vulnerabilities persist in practical applications. New language features in Rust pose new challenges for vulnerability…

编程语言 · 计算机科学 2026-01-08 Yu Zhang , Kaiwen Zhang , Guanjun Liu

Program analysis is a technique to reason about programs without executing them, and it has various applications in compilers, integrated development environments, and security. In this work, we present a machine learning pipeline that…

编程语言 · 计算机科学 2017-11-06 Wasuwee Sodsong , Bernhard Scholz , Sanjay Chawla

We develop an inductive proof-technique to generate imperative programs for pointer data structures from behavioural specifications expressed in the Answer Set Programming (ASP) formalism. ASP is a non-monotonic logic based formalism that…

计算机科学中的逻辑 · 计算机科学 2020-08-14 Sarat Chandra Varanasi , Neeraj Mittal , Gopal Gupta

In this work, we propose an automated method to identify semantic bugs in student programs, called ATAS, which builds upon the recent advances in both symbolic execution and active learning. Symbolic execution is a program analysis…

软件工程 · 计算机科学 2018-04-17 Ishan Rastogi , Aditya Kanade , Shirish Shevade

Static analysis is an essential component of many modern software development tools. Unfortunately, the ever-increasing complexity of static analyzers makes their coding error-prone. Even analysis tools based on rigorous mathematical…

Alias analysis has been an interesting research topic in verification and optimization of programs. The undecidability of determining whether two expressions in a program may reference to the same object is the main source of the challenges…

编程语言 · 计算机科学 2014-10-21 Georgiana Caltais

Consumption of REST services has become a popular means of invoking code provided by third parties, particularly in web applications. Nowadays programmers of web applications can choose TypeScript over JavaScript to benefit from static type…

软件工程 · 计算机科学 2020-07-17 Nuno Burnay , Antónia Lopes , Vasco T. Vasconcelos

Ownership is the concept of tracking aliases and mutations to data, useful for both memory safety and system design. The Rust programming language implements ownership via the borrow checker, a static analyzer that extends the core type…

编程语言 · 计算机科学 2021-09-24 Will Crichton

Modern high-assurance software systems development favors memory safe languages such as SPARK (ADA) or Rust. However, developers often encounter non-memory safe code (e.g., C) in legacy systems and libraries which would be prohibitively…

软件工程 · 计算机科学 2026-05-14 Caleb Helbling , Graham Leach-Krouse , Michael Crystal

In this paper we focus on the development of a toolbox for the verification of programs in the context of SCOOP -- an elegant concurrency model, recently formalized based on Rewriting Logic (RL) and Maude. SCOOP is implemented in Eiffel and…

软件工程 · 计算机科学 2015-05-01 Georgiana Caltais , Bertrand Meyer

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…

编程语言 · 计算机科学 2024-10-04 Alex Le Blanc , Patrick Lam

Static analysis tools typically address the problem of excessive false positives by requiring programmers to explicitly annotate their code. However, when faced with incomplete annotations, many analysis tools are either too conservative,…

编程语言 · 计算机科学 2021-07-16 Sam Estep , Jenna Wise , Jonathan Aldrich , Éric Tanter , Johannes Bader , Joshua Sunshine

The Rust programming language provides a powerful type system that checks linearity and borrowing, allowing code to safely manipulate memory without garbage collection and making Rust ideal for developing low-level, high-assurance systems.…

计算机科学中的逻辑 · 计算机科学 2023-03-14 Andrea Lattuada , Travis Hance , Chanhee Cho , Matthias Brun , Isitha Subasinghe , Yi Zhou , Jon Howell , Bryan Parno , Chris Hawblitzel

The paper presents the Source Code Analysis and Lexical Annotation Runtime (SCALAR), a tool specialized for mapping (annotating) source code identifier names to their corresponding part-of-speech tag sequence (grammar pattern). SCALAR's…

When analyzing programs, large libraries pose significant challenges to static points-to analysis. A popular solution is to have a human analyst provide points-to specifications that summarize relevant behaviors of library code, which can…

编程语言 · 计算机科学 2018-05-23 Osbert Bastani , Rahul Sharma , Alex Aiken , Percy Liang

Answer Set Programming (ASP) is a powerful declarative programming paradigm commonly used for solving challenging search and optimization problems. The modeling languages of ASP are supported by sophisticated solving algorithms (solvers)…

计算机科学中的逻辑 · 计算机科学 2022-08-08 Zach Hansen

Run-time attacks against programs written in memory-unsafe programming languages (e.g., C and C++) remain a prominent threat against computer systems. The prevalence of techniques like return-oriented programming (ROP) in attacking…

密码学与安全 · 计算机科学 2019-05-27 Hans Liljestrand , Thomas Nyman , Kui Wang , Carlos Chinea Perez , Jan-Erik Ekberg , N. Asokan

Current compilers implement security features and optimizations that require nontrivial semantic reasoning about pointers and memory allocation: the program after the insertion of the security feature, or after applying the optimization,…

计算机科学中的逻辑 · 计算机科学 2023-12-14 David Monniaux