当前位置: X-MOL 学术IEEE Trans. Softw. Eng. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
DynAMICS: A Tool-Based Method for the Specification and Dynamic Detection of Android Behavioral Code Smells
IEEE Transactions on Software Engineering ( IF 7.4 ) Pub Date : 2024-02-06 , DOI: 10.1109/tse.2024.3363223
Dimitri Prestat 1 , Naouel Moha 2 , Roger Villemaire 1 , Florent Avellaneda 1
Affiliation  

Code smells are the result of poor design choices within software systems that complexify source code and impede evolution and performance. Therefore, detecting code smells within software systems is an important priority to decrease technical debt. Furthermore, the emergence of mobile applications (apps) has brought new types of Android-specific code smells, which relate to limitations and constraints on resources like memory, performance and energy consumption. Among these Android-specific smells are those that describe inappropriate behaviour during the execution that may negatively impact software quality. Static analysis tools, however, show limitations for detecting these behavioural code smells and properly detecting behavioural code smells requires considering the dynamic behaviour of the apps. To dynamically detect behavioural code smells, we hence propose three contributions: (1) A method, the Dynamics method, a step-by-step method for the specification and dynamic detection of Android behavioural code smells; (2) A tool, the Dynamics tool, implementing this method on seven code smells; and (3) A validation of our approach on 538 apps from F-Droid with a comparison with the static analysis detection tools, aDoctor and Paprika , from the literature. Our method consists of four steps: (1) the specification of the code smells, (2) the instrumentation of the app, (3) the execution of the apps, and (4) the detection of the behavioural code smells. Our results show that many instances of code smells that cannot be detected with static detection tools are indeed detected with our dynamic approach with an average precision of $92.8\%$ and an average recall of $53.4\%$ .

中文翻译:

DynMICS:一种基于工具的 Android 行为代码异味规范和动态检测方法

代码异味是软件系统中不良设计选择的结果,这些设计选择使源代码变得复杂并阻碍了发展和性能。因此,检测软件系统内的代码异味是减少技术债务的重要优先事项。此外,移动应用程序 (app) 的出现带来了新型 Android 特有的代码味道,这与内存、性能和能耗等资源的限制和约束有关。在这些 Android 特有的气味中,有一些描述了执行过程中可能对软件质量产生负面影响的不当行为。然而,静态分析工具显示出检测这些行为代码气味的局限性,并且正确检测行为代码气味需要考虑应用程序的动态行为。为了动态检测行为代码气味,我们提出了三个贡献:(1)一种方法,Dynamics方法,一种用于规范和动态检测 Android 行为代码气味的分步方法; (2) 一个工具,Dynamics工具,在七个代码异味上实现了这个方法; (3) 在F-Droid 的538 个应用程序上验证我们的方法,并 与文献中的静态分析检测工具aDoctorPaprika进行比较。我们的方法由四个步骤组成:(1) 代码气味的规范,(2) 应用程序的检测,(3) 应用程序的执行,以及 (4) 行为代码气味的检测。我们的结果表明,许多无法用静态检测工具检测到的代码异味实例确实可以用我们的动态方法检测到,平均精度为$92.8\%$以及平均召回率$53.4\%$
更新日期:2024-02-06
down
wechat
bug