English
Related papers

Related papers: Fuel: A Compiler Framework for Safe Memory Managem…

200 papers

The disastrous vulnerabilities in smart contracts sharply remind us of our ignorance: we do not know how to write code that is secure in composition with malicious code. Information flow control has long been proposed as a way to achieve…

Cryptography and Security · Computer Science 2023-07-21 Ethan Cecchetti , Siqiu Yao , Haobin Ni , Andrew C. Myers

There has been much recent interest in adopting functional and reactive programming for use in real-time system design. Moving toward a more declarative methodology for developing real-time systems purports to improve the fidelity of…

Programming Languages · Computer Science 2016-01-14 Muyuan Li , Daniel E McArdle , Jeffrey C Murphy , Bhargav Shivkumar , Lukasz Ziarek

Existing Large Language Models (LLMs) usually remain static after deployment, which might make it hard to inject new knowledge into the model. We aim to build models containing a considerable portion of self-updatable parameters, enabling…

Computation and Language · Computer Science 2024-05-28 Yu Wang , Yifan Gao , Xiusi Chen , Haoming Jiang , Shiyang Li , Jingfeng Yang , Qingyu Yin , Zheng Li , Xian Li , Bing Yin , Jingbo Shang , Julian McAuley

Testing has become an indispensable activity of software development, yet writing good and relevant tests remains a quite challenging task. One well-known problem is that it often is impossible or unrealistic to test for every outcome, as…

Programming Languages · Computer Science 2017-08-18 Dimitri Racordon , Didier Buchs

Reasoning about safety, security, and other dependability attributes of autonomous systems is a challenge that needs to be addressed before the adoption of such systems in day-to-day life. Formal methods is a class of methods that…

Artificial Intelligence · Computer Science 2023-11-17 Ashfaq Farooqui , Behrooz Sangchoolie

We introduce a tool that supports continuous flow analysis in order to detect security problems as the user edits. The tool uses abstract interpretation over both byte codes and abstract syntax trees to trace the flow of both type…

Software Engineering · Computer Science 2019-10-01 Steven P. Reiss

Capability machines such as CHERI provide memory capabilities that can be used by compilers to provide security benefits for compiled code (e.g., memory safety). The existing C to CHERI compiler, for example, achieves memory safety by…

Programming Languages · Computer Science 2021-05-05 Akram El-Korashy , Stelios Tsampas , Marco Patrignani , Dominique Devriese , Deepak Garg , Frank Piessens

When components of a system exchange data, they need to serialise the data so that it can be sent over the network. Then, the recipient has to deserialise the data in order to be able to process it. These steps take time and have an impact…

Programming Languages · Computer Science 2025-04-30 Arthur Jamet , Michael Vollmer

This paper describes a method for creating compelling safety cases. The method seeks to help improve safety case practice in order to address the weaknesses identified in current practice, in particular confirmation bias, after-the-fact…

Software Engineering · Computer Science 2025-02-04 Richard Hawkins

Memory-related errors remain an important cause of software vulnerabilities. While mitigation techniques such as using memory-safe languages are promising solutions, these do not address software resilience and availability. In this paper,…

Cryptography and Security · Computer Science 2023-06-06 Merve Gülmez , Thomas Nyman , Christoph Baumann , Jan Tobias Mühlberg

WebAssembly (Wasm) is a next-generation portable compilation target for deploying applications written in high-level languages on the web. In order to protect their memory from untrusted code, web browser engines confine the execution of…

Programming Languages · Computer Science 2019-10-23 Marco Vassena , Marco Patrignani

This paper presents language techniques for applying memoization selectively. The techniques provide programmer control over equality, space usage, and identification of precise dependences so that memoization can be applied according to…

Programming Languages · Computer Science 2011-06-03 Umut A. Acar , Guy E. Blelloch , Robert Harper

When using existing ACL2 datatype frameworks, many theorems require type hypotheses. These hypotheses slow down the theorem prover, are tedious to write, and are easy to forget. We describe a principled approach to types that provides…

Logic in Computer Science · Computer Science 2015-09-22 Sol Swords , Jared Davis

Functional languages have provided major benefits to the verification community. Although features such as purity, a strong type system, and computational abstractions can help guide programmers away from costly errors, these can present…

Programming Languages · Computer Science 2018-03-29 Bernd Finkbeiner , Felix Klein , Ruzica Piskac , Mark Santolucito

As machine learning (ML) has seen increasing adoption in safety-critical domains (e.g., autonomous vehicles), the reliability of ML systems has also grown in importance. While prior studies have proposed techniques to enable efficient…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-04-07 Zitao Chen , Niranjhana Narayanan , Bo Fang , Guanpeng Li , Karthik Pattabiraman , Nathan DeBardeleben

In this paper we present the design and implementation of Flow, a fast and precise type checker for JavaScript that is used by thousands of developers on millions of lines of code at Facebook every day. Flow uses sophisticated type…

Programming Languages · Computer Science 2017-08-31 Avik Chaudhuri , Panagiotis Vekris , Sam Goldman , Marshall Roch , Gabriel Levi

Fuzzing has proven to be very effective for discovering certain classes of software flaws, but less effective in helping developers process these discoveries. Conventional crash-based fuzzers lack enough information about failures to…

Cryptography and Security · Computer Science 2024-11-04 Allison Naaktgeboren , Sean Noble Anderson , Andrew Tolmach , Greg Sullivan

The work presented in this thesis seeks to improve programmer productivity in the following ways: - by reducing the amount of code that has to be written to construct an application; - by increasing the reliability of the code written; and…

Programming Languages · Computer Science 2010-06-18 Graham Kirby

This article presents liquid resource types, a technique for automatically verifying the resource consumption of functional programs. Existing resource analysis techniques trade automation for flexibility -- automated techniques are…

Programming Languages · Computer Science 2020-07-03 Tristan Knoth , Di Wang , Adam Reynolds , Jan Hoffmann , Nadia Polikarpova

Queueing simulation studies often require substantial manual effort to translate conceptual system descriptions into executable programs and to verify that the implemented mechanisms match the intended queueing logic. Although large…

Computation and Language · Computer Science 2026-05-06 Jun-Qi Chen , Kun Zhang , Rui Zheng , Ying Zhong