android's high market share and extensive functionality make its security a significant concern. Research reveals that many security issues are caused by insecure coding practices. As a poor design indicator, code...
详细信息
android's high market share and extensive functionality make its security a significant concern. Research reveals that many security issues are caused by insecure coding practices. As a poor design indicator, codesmell threatens the safety and quality assurance of android applications (apps). Although previous works revealed specific problems associated with codesmells, the field still lacks research reflecting android features. Moreover, the cost and time limit developers to repairing numerous smells timely. We conducted a study, including Definition, Detection, and Impact Quantification for android code smell (DefDIQ): (1) define 15 novel codesmells in android from a security programming perspective and provide suggestions on how to eliminate or mitigate them;(2) implement DACS (Detect android code smell) to automatically detect the custom codesmells based on ASTs;(3) investigate the correlation between individual smells with DACS detection results, select suitable codesmells to construct fault counting models, then quantify their impact on quality, and thereby generating codesmell repair priorities. We conducted experiments on 4575 open-source apps, and the findings are: (i) Lin's CCC between DACS and manual detection results reaches 0.9994, verifying the validity;(ii) the fault counting model constructed by zero-inflated negative binomial is superior to negative binomial (AIC = 517.32, BIC = 522.12);some smells do indicate fault-proneness, and we identify such avoidable poor designs;(iii) different codesmells have different levels of importance and the repair priorities constructed provide a practical guideline for researchers and inexperienced developers.
With rapid changes and rich context of user requirements, mobile applications are becoming complex software systems. Frequent iterations and mazy implementations of software functions lead android developers to make p...
详细信息
ISBN:
(纸本)9781728140865
With rapid changes and rich context of user requirements, mobile applications are becoming complex software systems. Frequent iterations and mazy implementations of software functions lead android developers to make poor design choices, called android code smells. Past researches have shown that they have negative impacts on android applications including performance, security, etc. Therefore, the automated detection of android code smells is indispensable to help alleviate the workload of software maintainers and developers. There are already two automated detection tools, aDoctor and Paprika. However, they both have shortcomings in detecting granularity and accuracy. In this paper, we present a novel approach, called Droidlens, realizing the analysis, detection, location and refactoring of android code smells. We also make an empirical study focusing on the performance of Droidlens, aDoctor and paprika. The empirical result shows that Droidlens realizes the detection for 18 android code smells. Moreover, compared to existing tools, our Droidlens can provide robust and fine-grained detection, which contributes to software refactoring and maintenance.
暂无评论