English
Related papers

Related papers: Accelerating package expansion in Rust through dev…

200 papers

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…

Software Engineering · Computer Science 2026-05-14 Caleb Helbling , Graham Leach-Krouse , Michael Crystal

Rust is an emerging programing language that aims at preventing memory-safety bugs without sacrificing much efficiency. The claimed property is very attractive to developers, and many projects start using the language. However, can Rust…

Programming Languages · Computer Science 2021-02-26 Hui Xu , Zhuangbin Chen , Mingshen Sun , Yangfan Zhou , Michael Lyu

Rust is a low-level programming language known for its unique approach to memory-safe systems programming and for its steep learning curve. To understand what makes Rust difficult to adopt, we surveyed the top Reddit and Hacker News posts…

Human-Computer Interaction · Computer Science 2019-01-07 Anna Zeng , Will Crichton

The integration of open-source third-party library dependencies in Java development introduces significant security risks when these libraries contain known vulnerabilities. Existing Software Composition Analysis (SCA) tools struggle to…

Software Engineering · Computer Science 2025-07-25 Wang Lingxiang , Quanzhi Fu , Wenjia Song , Gelei Deng , Yi Liu , Dan Williams , Ying Zhang

Software developers compose systems from components written in many different languages. A business-logic component may be written in Java or OCaml, a resource-intensive component in C or Rust, and a high-assurance component in Coq. In this…

Programming Languages · Computer Science 2017-11-15 Daniel Patterson , Amal Ahmed

Concurrent programs suffer from data races. To prevent data races, programmers use locks. However, programs can eliminate data races only when they acquire and release correct locks at correct timing. The lock API of C, in which people have…

Software Engineering · Computer Science 2023-01-30 Jaemin Hong , Sukyoung Ryu

We introduce Cargo Scan, the first interactive program analysis tool designed to help developers audit third-party Rust code. Real systems written in Rust rely on thousands of transitive dependencies. These dependencies are as dangerous in…

Programming Languages · Computer Science 2026-02-09 Lydia Zoghbi , David Thien , Ranjit Jhala , Deian Stefan , Caleb Stanford

In this paper, we explore how to use a small amount of new data to update a task-oriented semantic parsing model when the desired output for some examples has changed. When making updates in this way, one potential problem that arises is…

Computation and Language · Computer Science 2021-12-13 David Gaddy , Alex Kouzemtchenko , Pavankumar Reddy Muddireddy , Prateek Kolhar , Rushin Shah

Automatic testing is a widely adopted technique for improving software quality. Software developers add, remove and update test methods and test classes as part of the software development process as well as during the evolution phase,…

Software Engineering · Computer Science 2017-09-27 Stanislav Levin , Amiram Yehudai

Programs expecting structured inputs often consist of both a syntactic analysis stage, which parses raw input, and a semantic analysis stage, which conducts checks on the parsed input and executes the core logic of the program.…

Software Engineering · Computer Science 2019-06-11 Rohan Padhye , Caroline Lemieux , Koushik Sen , Mike Papadakis , Yves Le Traon

Free and Open Source Software (FOSS) distributions are complex software systems, made of thousands packages that evolve rapidly, independently, and without centralized coordination. During packages upgrades, corner case failures can be…

Software Engineering · Computer Science 2009-09-29 Davide Di Ruscio , Patrizio Pelliccione , Alfonso Pierantonio , Stefano Zacchiroli

Today's programmers face a false choice between creating software that is extensible and software that is correct. Specifically, dynamic languages permit software that is richly extensible (via dynamic code loading, dynamic object…

Programming Languages · Computer Science 2016-08-23 Matthew A. Hammer , Bor-Yuh Evan Chang , David Van Horn

Cargo, the software packaging manager of Rust, provides a yank mechanism to support release-level deprecation, which can prevent packages from depending on yanked releases. Most prior studies focused on code-level (i.e., deprecated APIs)…

Software Engineering · Computer Science 2022-03-21 Hao Li , Filipe R. Cogo , Cor-Paul Bezemer

Parallel programming often requires developers to handle complex computational tasks that can yield many errors in its development cycle. Rust is a performant low-level language that promises memory safety guarantees with its compiler,…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-02-24 Eduardo M. Martins , Leonardo G. Faé , Renato B. Hoffmann , Lucas S. Bianchessi , Dalvan Griebler

Packer identification tools are a critical foundation of malware analysis, directly affecting unpacking, behavioral analysis, malware classification, and threat attribution. However, their semantic correctness is rarely validated. In…

Cryptography and Security · Computer Science 2026-05-28 Fangtian Zhong , Zhuoyun Qian , Mengfei Ren , Yili Jiang , Jiaqi Huang , Yunming Pang , Xiuzhen Cheng

This position paper provides an interim summary on the goals and current state of our ongoing research project on semantic model differencing for software evolution. We describe the basics of semantic model differencing, give two examples…

Software Engineering · Computer Science 2014-09-02 Shahar Maoz , Jan Oliver Ringert , Bernhard Rumpe

Runtime software patching aims to minimize or eliminate service downtime, user interruptions and potential data losses while deploying a patch. Due to modern software systems' high variance and heterogeneity, no universal solutions are…

Software Engineering · Computer Science 2023-02-23 Chadni Islam , Victor Prokhorenko , M. Ali Babar

Popular process models such as the Rational Unified Process or the V-Modell XT are by nature large and complex. Each time that a new release is published software development organizations are confronted with the big challenge of…

Software Engineering · Computer Science 2013-11-14 Alexis Ocampo , Jürgen Münch , William E. Riddle

Many modern software projects evolve rapidly to incorporate new features and security patches. It is important for users to update their dependencies to safer versions, but many still use older, vulnerable package versions because upgrading…

Software Engineering · Computer Science 2025-12-02 Zhiqing Zhong , Jiaming Huang , Pinjia He

A systematic way of defining variants of a modeling language is useful for adapting the language to domain or project specific needs. Variants can be obtained by adapting the syntax or semantics of the language. In this paper, we take a…

Software Engineering · Computer Science 2014-09-24 Hans Grönninger , Bernhard Rumpe
‹ Prev 1 4 5 6 7 8 10 Next ›