English
Related papers

Related papers: Towards Trustworthy Refactoring in Erlang

200 papers

This paper studies obfuscation techniques for Erlang programs at the source, abstract syntax tree, BEAM assembly, and BEAM bytecode levels. We focus on transformations that complicate reverse engineering, decompilation, and recompilation…

Programming Languages · Computer Science 2026-04-16 Gregory Morse , Tamás Kozsik

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,…

Logic in Computer Science · Computer Science 2019-06-12 Horatiu Cirstea , Pierre-Etienne Moreau

Precondition inference is a non-trivial problem with important applications in program analysis and verification. We present a novel iterative method for automatically deriving preconditions for the safety and unsafety of programs. Each…

Programming Languages · Computer Science 2023-06-22 Bishoksan Kafle , Graeme Gange , Peter J. Stuckey , Peter Schachte , Harald Sondergaard

The success of a number of projects has been shown to be significantly improved by the use of a formalism. However, there remains an open issue: to what extent can a development process based on a singular formal notation and method…

Software Engineering · Computer Science 2013-11-26 Rainer Gmehlich , Katrin Grau , Alexei Iliasov , Michael Jackson , Felix Loesch , Manuel Mazzara

Based upon trusted and confidential computing platforms, telecommunications systems must provide guaranteed security for the processes and data running atop them. This in turn requires us to provide trustworthy systems. The term trustworthy…

Cryptography and Security · Computer Science 2023-11-28 Ian Oliver , Pekka Kuure , Wiktor Sedkowski , Thore Sommer

Block-based programming languages like Scratch have become increasingly popular as introductory languages for novices. These languages are intended to be used with a "tinkering" approach which allows learners and teachers to quickly…

We present a so-called labelling method to insert cost annotations in a higher-order functional program, to certify their correctness with respect to a standard compilation chain to assembly code including safe memory management, and to…

Programming Languages · Computer Science 2013-01-17 Roberto M. Amadio , Yann Regis-Gianas

Runtime efficiency and termination are crucial properties in the studies of program verification. Instead of dealing with these issues in an ad hoc manner, it would be useful to develop a robust framework in which such properties are…

Programming Languages · Computer Science 2026-04-06 Weijun Chen , Yuxi Fu , Huan Long

A less complex and more straightforward program is a crucial factor that enhances its maintainability and makes writing secure and bug-free programs easier. However, due to its heavy workload and the risks of breaking the working programs,…

Programming Languages · Computer Science 2024-04-08 Atsushi Shirafuji , Yusuke Oda , Jun Suzuki , Makoto Morishita , Yutaka Watanobe

Automatic code transformation in which transformations are tuned for specific applications and contexts are difficult to achieve in an accessible manner. In this paper, we present an approach to build application specific code…

Programming Languages · Computer Science 2013-01-21 Matthew J. Sottile , Geoffrey C. Hulette

During the software lifecycle, a program can evolve several times for different reasons such as the optimisation of a bottle-neck, the refactoring of an obscure function, etc. These code changes often involve several functions or modules,…

Programming Languages · Computer Science 2017-09-18 David Insa , Sergio Pérez , Josep Silva , Salvador Tamarit

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

LLM-based coding agents are increasingly used to generate code, tests, and documentation. Still, their outputs can be plausible yet misaligned with developer intent and provide limited evidence for review in evolving projects. This limits…

Software Engineering · Computer Science 2026-04-14 Ragib Shahariar Ayon

Today functional programming languages are seen as a practical solution to the difficult problems of concurrent and distributed programming. Erlang is a functional language designed to build massively scalable and fault tolerant…

Computers and Society · Computer Science 2018-05-15 Stephen Adams

A range of methodologies and techniques are available to guide the design and implementation of language extensions and domain-specific languages. A simple yet powerful technique is based on source-to-source transformations interleaved…

Programming Languages · Computer Science 2013-02-01 Zoé Drey , José F. Morales , Manuel V. Hermenegildo

We present an approach to describing refactorings that abstracts away from particular refactorings to classes of similar transformations, and presents an implementation of these that works by substitution and subsequent rewriting.…

Programming Languages · Computer Science 2023-02-06 Simon Thompson , Dániel Horpácsi

Users of program analyses expect that results change predictably in response to changes in their programs, but many analyses fail to provide such robustness. This paper introduces a theoretical framework that provides a unified language to…

Programming Languages · Computer Science 2026-04-14 Zachary Kincaid , Shaowei Zhu

Catalogs of refactoring have key importance in software maintenance and evolution, since developers rely on such documents to understand and perform refactoring operations. Furthermore, these catalogs constitute a reference guide for…

Software Engineering · Computer Science 2022-11-17 Aline Brito , Andre Hora , Marco Tulio Valente

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…

Attestation means providing evidence that a remote target system is worthy of trust for some sensitive interaction. Although attestation is already used in network access control, security management, and trusted execution environments, it…

Cryptography and Security · Computer Science 2026-03-09 Will Thomas , Logan Schmalz , Adam Petz , Perry Alexander , Joshua D. Guttman , Paul D. Rowe , James Carter