| In recent years,with the rapid development of information technology,mobile devices have covered all aspects of people’s lives.The memory usage of Android applications also grows at full speed.Binder is the most important inter-processor communication way of Android platform,which has the characteristics of high transmission efficiency,simple use and strong security.Binder overload problem caused by too large transmission object is more and more frequent,which brings great trouble to users and mobile application developers.The existing tools can only help developers locate problems or provide alternatives after Binder overload problems occur.At the same time,there is no Android automated testing tool for customized processing of Binder overload.Developers could not detect Binder overload problems effectively.In view of the lack of Binder overload detection tools,we conduct an empirical study on Binder overload problem in real-world applications.Based on the study results,we summarize three Binder overload problem anti-patterns,and propose a Binder overload detection methology based on static analysis.Furthermore,we encapsulate the algorithm,design and implement a prototype detection system.By conductig experiments on multiple datasets,we verify the effectiveness and usability of the system.In conclusion,the main contributions of this paper are as follows.·We conduct an empirical study on the Binder overload problems in real-world applications,and summarize 34 Binder overload problems in 30 applications,which verifies the existence and severity of the problem.We obtain three anti-pattens of Binder overload problems,which are resource object transaction,callback-based expand transmission and overload function invocation.·By modeling the Binder overload pattern,we propose a Binder overload detection algorithm based on static analysis.We collect the inclusion relation of object by dataflow analysis in applications,and complete the pattern matching process based on call graph.·We encapsulate the detection algorithm,and design and implement a prototype system for Binder overload detection.Through experiments on multiple datasets,the system could detect 15 of 18 existing Binder overload problems,and find 58previously-unknown Binder overload problems. |