English
Related papers

Related papers: Refactoring for Dockerfile Quality: A Dive into De…

200 papers

Context: Container orchestration tools supporting infrastructure-as-code allow new forms of collaboration between developers and operatives. Still, their text-based nature permits naive mistakes and is more difficult to read as complexity…

Software Engineering · Computer Science 2022-07-20 Bruno Piedade , João Pedro Dias , Filipe F. Correia

Software design patterns present general code solutions to common software design problems. Modern software systems rely heavily on containers for running their constituent service components. Yet, despite the prevalence of ready-to-use…

Software Engineering · Computer Science 2024-05-09 Kalvin Eng , Abram Hindle , Eleni Stroulia

Applications in science and engineering often require huge computational resources for solving problems within a reasonable time frame. Parallel supercomputers provide the computational infrastructure for solving such problems. A…

Distributed, Parallel, and Cluster Computing · Computer Science 2007-05-23 Rajesh Sudarsan , Calvin J. Ribbens

Containers as the unit of application delivery are the 'next big thing' in the software development world. They enable developers to create an executable image containing an application bundled with all its dependencies which a user can run…

Software Engineering · Computer Science 2017-02-13 Jonas Weber

Documenting frameworks provides its users and maintainers useful information on that software's architecture, design, and customization. Despite documentation's importance, the process of creating and maintaining it is considered to imply…

Software Engineering · Computer Science 2022-03-29 João Santos , Filipe Correia

Cognitive-Driven Development (CDD) is a coding design technique that aims to reduce the cognitive effort that developers place in understanding a given code unit (e.g., a class). By following CDD design practices, it is expected that the…

Software Engineering · Computer Science 2022-06-23 Leonardo Barbosa , Victor Hugo Santiago , Alberto Luiz Oliveira Tavares de Souza , Gustavo Pinto

The pursuit of scientific knowledge strongly depends on the ability to reproduce and validate research results. It is a well-known fact that the scientific community faces challenges related to transparency, reliability, and the…

Digital Libraries · Computer Science 2023-08-29 Michael Canesche , Roland Leissa , Fernando Magno Quintão Pereira

Unstructured text has long been difficult to automatically analyze at scale. Large language models (LLMs) now offer a way forward by enabling {\em semantic data processing}, where familiar data processing operators (e.g., map, reduce,…

Human-Computer Interaction · Computer Science 2025-04-22 Shreya Shankar , Bhavya Chopra , Mawil Hasan , Stephen Lee , Björn Hartmann , Joseph M. Hellerstein , Aditya G. Parameswaran , Eugene Wu

In the software industry, the drive to add new features often overshadows the need to improve existing code. Large Language Models (LLMs) offer a new approach to improving codebases at an unprecedented scale through AI-assisted refactoring.…

Software Engineering · Computer Science 2024-12-23 Markus Borg

Refactorings are transformations to improve the code design without changing overall functionality and observable behavior. During the refactoring process of smelly test code, practitioners may struggle to identify refactoring candidates…

Software Engineering · Computer Science 2023-05-08 Luana Martins , Denivan Campos , Railana Santana , Joselito Mota Junior , Heitor Costa , Ivan Machado

The concept of Self-Affirmed Refactoring (SAR) was introduced to explore how developers document their refactoring activities in commit messages, i.e., developers' explicit documentation of refactoring operations intentionally introduced…

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

The software powering today's vehicles surpasses mechatronics as the dominating engineering challenge due to its fast evolving and innovative nature. In addition, the software and system architecture for upcoming vehicles with automated…

Software Engineering · Computer Science 2017-06-13 Federico Giaimo , Christian Berger

Although a standard in natural science, reproducibility has been only episodically applied in experimental computer science. Scientific papers often present a large number of tables, plots and pictures that summarize the obtained results,…

Digital Libraries · Computer Science 2017-09-06 Fernando Chirigati , Rebecca Capone , Dennis Shasha , Remi Rampin , Juliana Freire

Compiler optimization decisions are often based on hand-crafted heuristics centered around a few established benchmark suites. Alternatively, they can be learned from feature and performance data produced during compilation. However,…

Programming Languages · Computer Science 2022-06-29 Raphael Mosaner , David Leopoldseder , Wolfgang Kisling , Lukas Stadler , Hanspeter Mössenböck

With over 200 million published academic documents and millions of new documents being written each year, academic researchers face the challenge of searching for information within this vast corpus. However, existing retrieval systems…

Information Retrieval · Computer Science 2024-05-21 Gengchen Wei , Xinle Pang , Tianning Zhang , Yu Sun , Xun Qian , Chen Lin , Han-Sen Zhong , Wanli Ouyang

Refactoring is an established technique from the OO-community to restructure code: it aims at improving software readability, maintainability and extensibility. Although refactoring is not tied to the OO-paradigm in particular, its ideas…

Software Engineering · Computer Science 2007-05-23 Tom Schrijvers , Alexander Serebrenik

Instead of repeatedly re-analyzing from scratch, an incremental static analysis only analyzes a codebase once completely, and then it updates the previous results based on the code changes. While this sounds promising to achieve speed-ups,…

Software Engineering · Computer Science 2023-08-21 Tamás Szabó

To improve software development methods and tools for research software, we first need to understand the current state of the practice. Therefore, we have developed a methodology for assessing the state of the software development practices…

Software Engineering · Computer Science 2021-10-25 Spencer Smith , Jacques Carette , Peter Michalski , Ao Dong , Olu Owojaiye

The complexity and size increase of software has extended the delay for developers as they wait for code analysis and code merge. With the larger and more complex software, more developers nowadays are developing software with large source…

Software Engineering · Computer Science 2021-02-01 Geunsik Lim , MyungJoo Ham , Jijoong Moon , Wook Song

Refactoring is an established technique from the object-oriented (OO) programming community to restructure code: it aims at improving software readability, maintainability and extensibility. Although refactoring is not tied to the…

Software Engineering · Computer Science 2007-05-23 Alexander Serebrenik , Tom Schrijvers , Bart Demoen