English
Related papers

Related papers: Why and How Java Developers Break APIs

200 papers

Researchers, students and practitioners often encounter a situation when the build process of a third-party software system fails. In this paper, we aim to confirm this observation present mainly as anecdotal evidence so far. Using a…

Software Engineering · Computer Science 2017-12-05 Matúš Sulír , Jaroslav Porubän

AI coding agents are increasingly integrated into modern software engineering workflows, actively collaborating with human developers to create pull requests (PRs) in open-source repositories. Although coding agents improve developer…

Software Engineering · Computer Science 2026-03-31 K M Ferdous , Dipayan Banik , Kowshik Chowdhury , Shazibul Islam Shamim

Open source is experiencing a renaissance period, due to the appearance of modern platforms and workflows for developing and maintaining public code. As a result, developers are creating open source software at speeds never seen before.…

Software Engineering · Computer Science 2018-08-07 Jailton Coelho , Marco Tulio Valente

With the widespread use and adoption of mobile platforms like Android a new software quality concern has emerged -- energy consumption. However, developing energy-efficient software and applications requires knowledge and likewise proper…

Software Engineering · Computer Science 2021-03-23 Andreas Schuler , Gabriele Kotsis

Open-source libraries are widely used by software developers to speed up the development of products, however, they can introduce security vulnerabilities, leading to incidents like Log4Shell. With the expanding usage of open-source…

Data privacy legislation, such as GDPR and CCPA/CPRA, has rendered data privacy law compliance a requirement of all software systems. Developers need to implement various kinds of functionalities to cover law needs, including user rights…

Software Engineering · Computer Science 2025-12-18 Ioanna Theophilou , Georgia M. Kapitsaki

The software engineering community recently has witnessed widespread deployment of AI programming assistants, such as GitHub Copilot. However, in practice, developers do not accept AI programming assistants' initial suggestions at a high…

Software Engineering · Computer Science 2023-09-19 Jenny T. Liang , Chenyang Yang , Brad A. Myers

Application Programming Interface (API) incompatibility is a long-standing issue in Android application development. The rapid evolution of Android APIs results in a significant number of API additions, removals, and changes between…

Software Engineering · Computer Science 2024-06-27 Shidong Pan , Tianchen Guo , Lihong Zhang , Pei Liu , Zhenchang Xing , Xiaoyu Sun

Enterprise applications are often built as service-oriented architectures, where the individual services are designed to perform specific functions and interact with each other by means of well-defined APIs (Application Programming…

Software Engineering · Computer Science 2024-07-11 Fabrizio Montesi , Marco Peressotti , Valentino Picotti , Olaf Zimmermann

REST is today's most widely used architectural style for providing web-based services. In the age of service-orientation (a.k.a. Software as a Service (SaaS)) APIs have become core business assets and can easily expose hundreds of…

Software Engineering · Computer Science 2026-01-26 Sven Peldszus , Jan Rutenkolk , Marcel Heide , Jan Sollmann , Benjamin Klatt , Frank Köhne , Thorsten Berger

Suboptimal code is prevalent in software systems. Developers often write low-quality code due to factors like technical knowledge gaps, insufficient experience, time pressure, management decisions, or personal factors. Once integrated, the…

Software Engineering · Computer Science 2025-11-11 In-on Wiratsin , Chaiyong Ragkhitwetsagul , Matheus Paixao , Denis De Sousa , Pongpop Lapvikai , Peter Haddawy

Modern software development relies heavily on Application Programming Interface (API) libraries. However, there are often certain constraints on using API elements in such libraries. Failing to follow such constraints (API misuse) could…

Software Engineering · Computer Science 2019-08-20 Tam The Nguyen , Phong Minh Vu , Tung Thanh Nguyen

Most modern software products incorporate open-source components, requiring development teams to maintain compliance with each component's licenses. Noncompliance can have significant financial, legal, and reputational repercussions.…

Although writing code seems trivial at times, problems arise when humans misinterpret what the code actually does. One of the potential causes are "atoms of confusion", the smallest possible patterns of misinterpretable source code.…

Software Engineering · Computer Science 2021-03-11 Chris Langhout , Maurício Aniche

Version control systems for source code, such as Git, are key tools in modern software development environments. Many developers use online services, such as GitHub or GitLab, for collaborative software development. While software projects…

Cryptography and Security · Computer Science 2022-11-15 Alexander Krause , Jan H. Klemmer , Nicolas Huaman , Dominik Wermke , Yasemin Acar , Sascha Fahl

The Java libraries JCA and JSSE offer cryptographic APIs to facilitate secure coding. When developers misuse some of the APIs, their code becomes vulnerable to cyber-attacks. To eliminate such vulnerabilities, people built tools to detect…

Cryptography and Security · Computer Science 2022-05-02 Ying Zhang , Ya Xiao , Md Mahir Asef Kabir , Danfeng , Yao , Na Meng

API developers evolve software libraries to fix bugs, add new features, or refactor code. To benefit from such library evolution, the programmers of client projects have to repetitively upgrade their library usages and adapt their codebases…

Software Engineering · Computer Science 2021-05-07 Hao Zhong , Na Meng

With an ever-increasing amount of open source software, the popularity of services like GitHub that facilitate code reuse, and common misconceptions about the licensing of open source software, the problem of license violations in the code…

Software Engineering · Computer Science 2020-07-07 Yaroslav Golubev , Maria Eliseeva , Nikita Povarov , Timofey Bryksin

Application Programming Interfaces (APIs), which encapsulate the implementation of specific functions as interfaces, greatly improve the efficiency of modern software development. As numbers of APIs spring up nowadays, developers can hardly…

Software Engineering · Computer Science 2021-12-24 Yun Peng , Shuqing Li , Wenwei Gu , Yichen Li , Wenxuan Wang , Cuiyun Gao , Michael Lyu