Abstract:Intent is the most commonly used carrier for inter-component communication in Android applications. However, if application components handle Intent improperly, it is very likely to cause abnormalities or even crashes. Taking the various components of Android applications as the research object, a fuzzing method was proposed to test the robustness of inter-component communication by constructing Intent objects. Firstly, the registration files of application components were analyzed to extract the components and their related information that need to be tested. Then, the APK source file was decompiled to obtain the source code of the target component and extract additional information of Intent. Next, based on state compression, a batch of Intent test cases for the target component were generated for automated testing, and the running logs of the target component were monitored to obtain feedback on its operational status, thereby determining whether an exception occurs when the application component responds to Intent. Finally, based on an error log deduplication algorithm with similarity matching, errors generated by the same defect were accurately classified into one category, reducing the workload of manual analysis. Experiments show that compared with the existing cutting-edge research Hwacha, the proposed method can generate 9% fewer test cases and discover 14% more program exceptions, and significantly reduce the workload of manually determining error categories through the deduplication algorithm.