English
Related papers

Related papers: Renaming Global Variables in C Mechanically Proved…

200 papers

Programmers of cryptographic applications written in C need to avoid common mistakes such as sending private data over public channels, modifying trusted data with untrusted functions, or improperly ordering protocol steps. These secrecy,…

Cryptography and Security · Computer Science 2019-07-04 Darion Cassel , Yan Huang , Limin Jia

An essential part of software maintenance and evolution, refactoring is performed by developers, regardless of technology or domain, to improve the internal quality of the system, and reduce its technical debt. However, choosing the…

Software Engineering · Computer Science 2021-10-26 Anthony Peruma , Steven Simmons , Eman Abdullah AlOmar , Christian D. Newman , Mohamed Wiem Mkaouer , Ali Ouni

We present a tool for verification of deterministic programs with shared mutable references against specifications such as assertions, preconditions, postconditions, and read/write effects. We implement our tool by encoding programs with…

Logic in Computer Science · Computer Science 2021-03-16 Georg Schmid , Viktor Kunčak

This paper proposes configuration testing--evaluating configuration values (to be deployed) by exercising the code that uses the values and assessing the corresponding program behavior. We advocate that configuration values should be…

Software Engineering · Computer Science 2019-07-30 Tianyin Xu , Owolabi Legunsen

Background. Refactoring is a critical task in software maintenance and is generally performed to enforce the best design and implementation practices or to cope with design defects. Several studies attempted to detect refactoring activities…

Software Engineering · Computer Science 2020-09-15 Eman Abdullah AlOmar , Mohamed Wiem Mkaouer , Ali Ouni , Marouane Kessentini

We show that verification of object-oriented programs by means of the assertional method can be achieved in a simple way by exploiting a syntax-directed transformation from object-oriented programs to recursive programs. This transformation…

Logic in Computer Science · Computer Science 2011-11-09 Krzysztof R. Apt , Frank S. de Boer , Ernst-Ruediger Olderog , Stijn de Gouw

Owing to the continued use of C (and C++), spatial safety violations (e.g., buffer overflows) still constitute one of today's most dangerous and prevalent security vulnerabilities. To combat these violations, Checked C extends C with…

Programming Languages · Computer Science 2022-03-28 Aravind Machiry , John Kastner , Matt McCutchen , Aaron Eline , Kyle Headley , Michael Hicks

Modern processors deploy a variety of weak memory models, which for efficiency reasons may (appear to) execute instructions in an order different to that specified by the program text. The consequences of instruction reordering can be…

Programming Languages · Computer Science 2018-12-04 Robert J. Colvin , Graeme Smith

Although software managers are generally good at new project estimation, their experience of scheduling rework tends to be poor. Inconsistent or incorrect effort estimation can increase the risk that the completion time for a project will…

Software Engineering · Computer Science 2010-07-30 Bee Bee Chua , June Verner

Large language models have demonstrated impressive capabilities in generating code, yet they often produce programs with flaws or deviations from intended behavior, limiting their suitability for safety-critical applications. To address…

Software Engineering · Computer Science 2025-04-08 Merlijn Sevenhuijsen , Khashayar Etemadi , Mattias Nyberg

Term rewriting systems have a simple syntax and semantics and facilitate proofs of correctness. However, they are not as popular in industry or academia as imperative languages. We define a term rewriting based abstract programming language…

Programming Languages · Computer Science 2020-07-08 David Plaisted , Lee Barnett

Refactoring is one of the most important activities in software engineering which is used to improve the quality of a software system. With the advancement of deep learning techniques, researchers are attempting to apply deep learning…

Software Engineering · Computer Science 2024-05-01 Bridget Nyirongo , Yanjie Jiang , He Jiang , Hui Liu

Graphs, and graph transformation systems, are used in many areas within Computer Science: to represent data structures and algorithms, to define computation models, as a general modelling tool to study complex systems, etc. Research in term…

Symbolic Computation · Computer Science 2021-02-04 Patrick Bahr

This paper presents a Hoare-style calculus for formal reasoning about reconfiguration programs of distributed systems. Such programs create and delete components and/or interactions (connectors) while the system components change state…

Logic in Computer Science · Computer Science 2022-03-17 Emma Ahrens , Marius Bozga , Radu Iosif , Joost-Pieter Katoen

With the rapid development of deep learning, the implementation of intricate algorithms and substantial data processing have become standard elements of deep learning projects. As a result, the code has become progressively complex as the…

Software Engineering · Computer Science 2025-08-05 Siqi Wang , Xing Hu , Bei Wang , Wenxin Yao , Xin Xia , Xinyu Wang

Algorithms are ways of mapping problems to solutions. An algorithm is invertible precisely when this mapping is injective, such that the initial problem can be uniquely inferred from its solution. While invertible algorithms can be…

Programming Languages · Computer Science 2022-12-08 Joachim Tilsted Kristensen , Robin Kaarsgaard , Michael Kirkedal Thomsen

We study induction on the program structure as a proof method for bisimulation-based compiler correctness. We consider a first-order language with mutually recursive function definitions, system calls, and an environment semantics. The…

Programming Languages · Computer Science 2016-11-30 Sigurd Schneider , Gert Smolka , Sebastian Hack

The inclusion of universal quantification and a form of implication in goals in logic programming is considered. These additions provide a logical basis for scoping but they also raise new implementation problems. When universal and…

Programming Languages · Computer Science 2007-05-23 Gopalan Nadathur , Bharat Jayaraman , Keehang Kwon

We present our ongoing work on developing an end-to-end verified Rust compiler based on CompCert. It provides two guarantees: one is semantics preservation from Rust to assembly, i.e., the behaviors of source code includes the behaviors of…

Programming Languages · Computer Science 2026-02-10 Jinhua Wu , Yuting Wang , Liukun Yu , Linglong Meng

Software architecture consists of series of decisions taken to give a structural solution that meets all the technical and operational requirements. The paper involves code refactoring. Code refactoring is a process of changing the internal…

Software Engineering · Computer Science 2014-12-25 Manpreet Kaur , Ravjeet Singh , Sukhveer Kaur , Baljot Singh , Savpreet Kaur , Navkaran Singh , Aman Ohri , Ravenna Sharma
‹ Prev 1 4 5 6 7 8 10 Next ›