Many automated test generation techniques have been proposed for finding crashes in Android apps. Despite recent advancement in these techniques, a study shows that Android app developers prefer reading test cases written in natural language. Meanwhile, there exist redundancies in bug reports (written in natural language) across different apps that have not been previously reused. In this paper, we propose \emph{collaborative bug finding}, a novel approach that uses similarities between different Android apps for finding relevant bug reports that help in the discovery of new bugs. Given an app under test, our approach uses interactions between programmers for deriving specialized test scenarios. We design three settings with varying degrees of interactions between programmers where each setting emulates a different real-world scenarios. Our studies of the first two settings in a software testing course show that collaborative bug finding helps students who are novice Android app testers to discover 17 new bugs. However, students admit that searching for relevant bug reports could be time-consuming. Based on students’ feedback, we introduce Bugine, an approach that automatically recommends relevant GitHub issues for a given app. Our results show that Bugine is able to find 34 new bugs. In total, collaborative bug finding helps us to find 51 new bugs, in which five have been confirmed and seven have been fixed by the developers. These results confirm our intuition that our proposed technique is useful in discovering new bugs for Android apps.
Slides (ICSE2020-collaborative-presentation.pdf) | 917KiB |
Fri 10 Jul Times are displayed in time zone: (UTC) Coordinated Universal Time change
07:00 - 08:00: I20-Android TestingPaper Presentations / Technical Papers at Goguryeo Chair(s): Shing-Chi CheungDepartment of Computer Science and Engineering, The Hong Kong University of Science and Technology | |||
07:00 - 07:12 Talk | Multiple-Entry Testing of Android Applications by Constructing Activity Launching ContextsTechnical Technical Papers Jiwei YanInstitute of Software, Chinese Academy of Sciences, Hao LiuBeijing University of Technology, Linjie PanInstitute of Software, Chinese Academy of Sciences, Jun YanInstitute of Software, Chinese Academy of Sciences, Jian ZhangInstitute of Software, Chinese Academy of Sciences, Bin LiangRenmin University of China, China | ||
07:12 - 07:24 Talk | Time-travel Testing of Android Apps Technical Papers Zhen DongNational University of Singapore, Marcel BöhmeMonash University, Lucia CojocaruPolitehnica University of Bucharest, Abhik RoychoudhuryNational University of Singapore, Singapore | ||
07:24 - 07:36 Talk | Collaborative Bug Finding for Android AppsTechnical Technical Papers Shin Hwei TanSouthern University of Science and Technology, Ziqiang LiSouthern University of Science and Technology Media Attached File Attached | ||
07:36 - 07:48 Talk | An Empirical Assessment of Security Risks of Global Android Banking AppsTechnical Technical Papers Sen ChenNanyang Technological University, Singapore, Lingling FanNanyang Technological University, Singapore, Guozhu MengInstitute of Information Engineering, Chinese Academy of Sciences, Ting SuETH Zurich, Switzerland, Jason Minhui XueThe University of Adelaide, Yinxing Xue, Yang LiuNanyang Technological University, Singapore, Lihua XuNew York University Shanghai Pre-print | ||
07:48 - 08:00 Talk | RoScript: A Visual Script Driven Truly Non-Intrusive Robotic Testing System for Touch Screen ApplicationsTechnical Technical Papers Ju QianNanjing University of Aeronautics and Astronautics, Zhengyu ShangNanjing University of Aeronautics and Astronautics, Shuoyan YanNanjing University of Aeronautics and Astronautics, Yan Wang, Lin ChenNanjing University |