English
Related papers

Related papers: Android Code Smells: From Introduction to Refactor…

200 papers

Context: Large Language Models (LLMs) are increasingly being used to generate program code. Much research has been reported on the functional correctness of generated code, but there is far less on code quality. Objectives: In this study,…

Software Engineering · Computer Science 2025-10-06 Debalina Ghosh Paul , Hong Zhu , Ian Bayley

Context: Software refactoring aims to improve software quality and developer productivity. Numerous empirical studies investigating the impact of refactoring activities on software quality have been conducted over the last two decades.…

Software Engineering · Computer Science 2019-08-19 Satnam Kaur , Paramvir Singh

Code smells indicate the potential problems of software quality so that developers can identify refactoring opportunities by detecting code smells. State-of-the-art approaches leverage heuristics, machine learning, and deep learning to…

Software Engineering · Computer Science 2024-02-19 Haiyang Liu , Yang Zhang , Vidya Saikrishna , Quanquan Tian , Kun Zheng

As one of the most popular dynamic languages, Python experiences a decrease in readability and maintainability when code smells are present. Recent advancements in Large Language Models have sparked growing interest in AI-enabled tools for…

Software Engineering · Computer Science 2024-08-22 Beiqi Zhang , Peng Liang , Qiong Feng , Yujia Fu , Zengyang Li

Fragmentation is a serious problem in the Android ecosystem. This problem is mainly caused by the fast evolution of the system itself and the various customizations independently maintained by different smartphone manufacturers. Many…

Software Engineering · Computer Science 2022-06-01 Pei Liu , Yanjie Zhao , Haipeng Cai , Mattia Fazzini , John Grundy , Li Li

This paper reports an empirical study on refactoring activity in three Java software systems. We investigated some questions on refactoring activity, to confirm or disagree on conclusions that have been drawn from previous empirical…

Predicting a mobile app's popularity before its first release can provide developers with a strategic advantage in a competitive marketplace, yet it remains a challenging problem. This study explores the extent to which internal software…

Software Engineering · Computer Science 2025-09-15 Md Nahidul Islam Opu , Fatima Islam Mouri , Rick Kazman , Yuanfang Cai , Shaiful Chowdhury

Context: Software specifications are usually written in natural language and may suffer from imprecision, ambiguity, and other quality issues, called thereafter, requirement smells. Requirement smells can hinder the development of a project…

Software Engineering · Computer Science 2024-04-18 Emanuele Gentili , Davide Falessi

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

Software testing is a critical activity to ensure that software complies with its specification. However, current software testing activities tend not to be completely effective when applied in specific software domains in Virtual Reality…

Software Engineering · Computer Science 2020-09-21 Stevao A. Andrade , Fatima L. S. Nunes , Marcio E. Delamaro

As the development of Solidity contracts on Ethereum, more developers are reusing them on other compatible blockchains. However, developers may overlook the differences between the designs of the blockchain system, such as the Gas Mechanism…

Software Engineering · Computer Science 2025-04-14 Zexu Wang , Jiachi Chen , Tao Zhang , Yu Zhang , Weizhe Zhang , Yuming Feng , Zibin Zheng

Machine Learning (ML) projects incur novel challenges in their development and productionisation over traditional software applications, though established principles and best practices in ensuring the project's software quality still…

Software Engineering · Computer Science 2022-01-21 Bart van Oort , Luís Cruz , Babak Loni , Arie van Deursen

The boom in mobile apps has changed the traditional landscape of software development by introducing new challenges due to the limited resources of mobile devices, e.g., memory, CPU, network bandwidth and battery. The energy consumption of…

Software Engineering · Computer Science 2016-10-21 Rodrigo Morales , Ruben Saborido , Foutse Khomh , Francisco Chicano , Giuliano Antoniol

Technical debt describes situations where developers write less-than-optimal code to meet project milestones. However, this debt accumulation often results in future developer effort to live with or fix these quality issues. To better…

Software Engineering · Computer Science 2023-03-07 Gregory Wilder , Riley Miyamoto , Samuel Watson , Rick Kazman , Anthony Peruma

Effective software development relies on managing both collaboration and technology, but sociotechnical challenges can harm team dynamics and increase technical debt. Although teams working on ML enabled systems are interdisciplinary,…

Software Engineering · Computer Science 2025-04-25 Giusy Annunziata , Stefano Lambiase , Fabio Palomba , Gemma Catolino , Filomena Ferrucci

Traditionally, energy efficiency research has focused on reducing energy consumption at the hardware level and, more recently, in the design and coding phases of the software development life cycle. However, software testing's impact on…

Software Engineering · Computer Science 2025-02-07 Md Rakib Hossain Misu , Jiawei Li , Adithya Bhattiprolu , Yang Liu , Eduardo Almeida , Iftekhar Ahmed

Technical debt has become a common metaphor for the accumulation of software design and implementation choices that seek fast initial gains but that are under par and counterproductive in the long run. However, as a metaphor, technical debt…

Software Engineering · Computer Science 2021-03-23 Jacinto Ramirez Lahti , Antti-Pekka Tuovinen , Tommi Mikkonen

XML configuration files are widely used in Android to define an app's user interface and essential runtime information such as system permissions. As Android evolves, it might introduce functional changes in the configuration environment,…

Software Engineering · Computer Science 2021-09-02 Huaxun Huang , Ming Wen , Lili Wei , Yepang Liu , Shing-Chi Cheung

Android applications are frequently plagiarized or repackaged, and software obfuscation is a recommended protection against these practices. However, there is very little data on the overall rates of app obfuscation, the techniques used, or…

Cryptography and Security · Computer Science 2018-02-21 Dominik Wermke , Nicolas Huaman , Yasemin Acar , Brad Reaves , Patrick Traynor , Sascha Fahl

The Android operating system is the most spread mobile platform in the world. Therefor attackers are producing an incredible number of malware applications for Android. Our aim is to detect Android's malware in order to protect the user. To…

Cryptography and Security · Computer Science 2021-04-09 Alain Menelet , Charles-Edmond Bichot