English
Related papers

Related papers: Kayak: Safe Semantic Refactoring to Java Streams

200 papers

The ever-growing popularity of mobile phones has brought additional challenges to the software development lifecycle. Mobile applications (apps, for short) ought to provide the same set of features as conventional software, with limited…

Software Engineering · Computer Science 2018-03-16 Luis Cruz , Rui Abreu

Serializability is a well-understood concurrency control mechanism that eases reasoning about highly-concurrent database programs. Unfortunately, enforcing serializability has a high-performance cost, especially on geographically…

Programming Languages · Computer Science 2021-03-10 Kia Rahmani , Kartik Nagar , Benjamin Delaware , Suresh Jagannathan

Creating web applications for the multiscreen environment is still a challenge. One approach is to transform existing single-screen applications but this has not been done yet automatically or generically. This paper proposes a refactor-ing…

Multimedia · Computer Science 2015-10-20 Mira Sarkis , Cyril Concolato , Jean-Claude Dufourd

We present a novel approach to detect refactoring opportunities by measuring the participation of references between types in instances of patterns representing design flaws. This technique is validated using an experiment where we analyse…

Software Engineering · Computer Science 2011-03-17 Jens Dietrich , Catherine McCartin , Ewan Tempero , Syed M. Ali Shah

Code readability is fundamental to software quality and maintainability. Poor readability extends development time, increases bug-inducing risks, and contributes to technical debt. With the rapid advancement of Large Language Models, AI…

Software Engineering · Computer Science 2026-03-17 Kyogo Horikawa , Kosei Horikawa , Yutaro Kashiwa , Hidetake Uwano , Hajimu Iida

The rapid advancement of generative AI has made it increasingly challenging to distinguish between deepfake audio and authentic human speech. To overcome the limitations of passive detection methods, we propose StreamMark, a novel deep…

Audio and Speech Processing · Electrical Eng. & Systems 2026-04-15 Zhentao Liu , Milos Cernak

Docker, the industry standard for packaging and deploying applications, leverages Infrastructure as Code (IaC) principles to facilitate the creation of images through Dockerfiles. However, maintaining Dockerfiles presents significant…

Software Engineering · Computer Science 2025-01-27 Emna Ksontini , Meriem Mastouri , Rania Khalsi , Wael Kessentini

Producing code of good quality is an essential skill in software development. Code quality is an aspect of software quality that concerns the directly observable properties of code, such as decomposition, modularization, and code flow. Code…

Software Engineering · Computer Science 2024-11-06 Eduardo Carneiro Oliveira , Hieke Keuning , Johan Jeuring

CAD programs are a popular way to compactly encode shapes as a sequence of operations that are easy to parametrically modify. However, without sufficient semantic comments and structure, such programs can be challenging to understand, let…

Computer Vision and Pattern Recognition · Computer Science 2024-03-27 Haocheng Yuan , Jing Xu , Hao Pan , Adrien Bousseau , Niloy J. Mitra , Changjian Li

The main contribution of this paper, is to propose a novel semantic approach based on a Natural Language Processing technique in order to ensure a semantic unification of unstructured process patterns which are expressed not only in…

Artificial Intelligence · Computer Science 2012-10-03 Nahla Jlaiel , Khouloud Madhbouh , Mohamed Ben Ahmed

Efficiency is essential to support responsiveness w.r.t. ever-growing datasets, especially for Deep Learning (DL) systems. DL frameworks have traditionally embraced deferred execution-style DL code -- supporting symbolic, graph-based Deep…

Software Engineering · Computer Science 2023-10-12 Raffi Khatchadourian , Tatiana Castro Vélez , Mehdi Bagherzadeh , Nan Jia , Anita Raja

Programming languages are essential tools for developers, and their evolution plays a crucial role in supporting the activities of developers. One instance of programming language evolution is the introduction of syntactic sugars, which are…

Software Engineering · Computer Science 2024-02-05 David OBrien , Robert Dyer , Tien N. Nguyen , Hridesh Rajan

Modern machine learning systems rely on complex data engineering workflows to extract, transform, and load (ELT) data into production pipelines. However, constructing these pipelines remains time-consuming and requires substantial expertise…

Software Engineering · Computer Science 2026-03-24 Rohan Siva , Kai Cheung , Lichi Li , Ganesh Sundaram

Static analysis is a powerful technique for automatic verification of programs but raises major engineering challenges when developing a full-fledged analyzer for a realistic language such as Java. This paper describes the Sawja library: a…

Software developers often rely on natural language text that appears in software engineering artifacts to access critical information as they build and work on software systems. For example, developers access requirements documents to…

Software Engineering · Computer Science 2021-05-14 Arthur Marques , Giovanni Viviani , Gail C. Murphy

Our research is part of a wider project that aims to investigate and reason about the correctness of scheme-based source code transformations of Erlang programs. In order to formally reason about the definition of a programming language and…

Programming Languages · Computer Science 2020-08-19 Péter Bereczky , Dániel Horpácsi , Simon Thompson

Context-oriented programming is an emerging paradigm addressing at the language level the issue of dynamic software adaptation and modularization of context-specific concerns. In this paper we propose JavaCtx, a tool which employs coding…

Programming Languages · Computer Science 2011-04-08 Guido Salvaneschi , Carlo Ghezzi , Matteo Pradella

To create unit tests, it may be necessary to refactor the production code, e.g. by widening access to specific methods or by decomposing classes into smaller units that are easier to test independently. We report on an extensive study to…

Software Engineering · Computer Science 2023-03-28 Pavel Reich , Walid Maalej

The highly parallel workflows of modern software development have made merging of source code a common activity for developers. The state of the practice is based on line-based merge, which is ubiquitously used with "git merge". Line-based…

Software Engineering · Computer Science 2022-02-21 Simon Larsén , Jean-Rémy Falleri , Benoit Baudry , Martin Monperrus

Runtime monitors that are specified in a stream-based monitoring language tend to be easier to understand, maintain, and reuse than those written in a standard programming language. Because of their formal semantics, such specification…

Formal Languages and Automata Theory · Computer Science 2020-11-30 Jan Baumeister , Bernd Finkbeiner , Matthis Kruse , Maximilian Schwenger