中文
相关论文

相关论文: Renaming Global Variables in C Mechanically Proved…

200 篇论文

We present a formal model of Checked C, a dialect of C that aims to enforce spatial memory safety. Our model pays particular attention to the semantics of dynamically sized, potentially null-terminated arrays. We formalize this model in…

编程语言 · 计算机科学 2022-02-01 Liyi Li , Yiyun Liu , Deena L. Postol , Leonidas Lampropoulos , David Van Horn , Michael Hicks

Rewriting is a formalism widely used in computer science and mathematical logic. The classical formalism has been extended, in the context of functional languages, with an order over the rules and, in the context of rewrite based languages,…

计算机科学中的逻辑 · 计算机科学 2019-06-12 Horatiu Cirstea , Pierre-Etienne Moreau

Nowadays, software testing professionals are commonly required to develop coding skills to work on test automation. One essential skill required from those who code is the ability to implement code refactoring, a valued quality aspect of…

We aim to explore how developers document their refactoring activities during the software life cycle. We call such activity Self-Affirmed Refactoring (SAR), which indicates developers' documentation of their refactoring activities. SAR is…

软件工程 · 计算机科学 2023-06-12 Eman Abdullah AlOmar

Developers often refactor code to improve the maintainability and comprehension of the software. There are many studies on refactoring activities in traditional software systems. However, refactoring in data-intensive systems is not well…

软件工程 · 计算机科学 2022-02-08 Biruk Asmare Muse , Foutse Khomh , Giuliano Antoniol

Like software, requirements evolve and change frequently during the development process. Refactoring is the process of reorganising software without changing its behaviour, to make it easier to understand and modify. We propose refactoring…

软件工程 · 计算机科学 2022-01-13 Marie Farrell , Matt Luckcuck , Oisin Sheridan , Rosemary Monahan

Implicit heterogeneous metaprogramming (a.k.a. offshoring) is an attractive approach for generating C with some correctness guarantees: generate OCaml code, where the correctness guarantees are easier to establish, and then map that code to…

编程语言 · 计算机科学 2022-11-09 Oleg Kiselyov

Undefined behavior in C often causes devastating security vulnerabilities. One practical mitigation is compartmentalization, which allows developers to structure large programs into mutually distrustful compartments with clearly specified…

Refactoring is an important activity that is frequently performed in software development, and among them, Extract Method is known to be one of the most frequently performed refactorings. The existing techniques for recommending Extract…

软件工程 · 计算机科学 2021-08-31 Jinto Yamanaka , Yasuhiro Hayase , Toshiyuki Amagasa

A desired but challenging property of compiler verification is compositionality, in the sense that the compilation correctness of a program can be deduced incrementally from that of its substructures ranging from statements, functions, and…

编程语言 · 计算机科学 2026-03-31 Zhang Cheng , Jiyang Wu , Di Wang , Qinxiang Cao

Cogent is a restricted functional language designed to reduce the cost of developing verified systems code. Because of its sometimes-onerous restrictions, such as the lack of support for recursion and its strict uniqueness type system,…

编程语言 · 计算机科学 2021-12-22 Louis Cheung , Liam O'Connor , Christine Rizkallah

Cogent is a restricted functional language designed to reduce the cost of developing verified systems code. Because of its sometimes-onerous restrictions, such as the lack of support for recursion and its strict uniqueness type system,…

编程语言 · 计算机科学 2021-12-24 Louis Cheung , Liam O'Connor , Christine Rizkallah

Identifiers, such as method and variable names, form a large portion of source code. Therefore, low-quality identifiers can substantially hinder code comprehension. To support developers in using meaningful identifiers, several…

软件工程 · 计算机科学 2022-12-13 Antonio Mastropaolo , Emad Aghajani , Luca Pascarella , Gabriele Bavota

VeriFast is a powerful tool for verification of various correctness properties of C programs using symbolic execution. However, VeriFast itself has not been verified. We present a proof-of-concept extension which generates a correctness…

计算机科学中的逻辑 · 计算机科学 2021-10-22 Stefan Wils , Bart Jacobs

This article describes the development and formal verification (proof of semantic preservation) of a compiler back-end from Cminor (a simple imperative intermediate language) to PowerPC assembly code, using the Coq proof assistant both for…

计算机科学中的逻辑 · 计算机科学 2009-11-14 Xavier Leroy

CompCert is the first realistic formally verified compiler: it provides a machine-checked mathematical proof that the code it generates matches the source code. Yet, there could be loopholes in this approach. We comprehensively analyze…

计算机科学中的逻辑 · 计算机科学 2022-10-11 David Monniaux , Sylvain Boulmé

Refactoring aims at improving code non-functional attributes without modifying its external behavior. Previous studies investigated the motivations behind refactoring by surveying developers. With the aim of generalizing and complementing…

A common tool used by security professionals for reverse-engineering binaries found in the wild is the decompiler. A decompiler attempts to reverse compilation, transforming a binary to a higher-level language such as C. High-level…

软件工程 · 计算机科学 2021-08-17 Qibin Chen , Jeremy Lacomis , Edward J. Schwartz , Claire Le Goues , Graham Neubig , Bogdan Vasilescu

Cyber-physical systems are inherently complex due to their connection between software and the physical world. Iterative design reduces their complexity, but increases the need to repeatedly recheck their safety in full after every change.…

计算机科学中的逻辑 · 计算机科学 2026-05-15 Enguerrand Prebet , André Platzer

We consider the problem of automatically verifying programs which manipulate arbitrary data structures. Our specification language is expressive, contains a notion of \emph{separation}, and thus enables a precise specification of…

编程语言 · 计算机科学 2017-11-16 Duc-Hiep Chu , Joxan Jaffar