Automated Software Engineering (ASE E2017 Simply Droid: Efficient Event Sequence Simplification for Android application Speaker: Bo Jiang Co-authors: Yuxuan Wu*, Teng li*, W.K. Chant Beihang University cIty University of Hong Kong 北京航堂航天大學 香港城市大學 City University of Hong Kong BEIHANGUNIVERSITY HomepageofBoJianghttp://jiangbo.buaaedu.cn
SimplyDroid: Efficient Event Sequence Simplification for Android Application Speaker: Bo Jiang* Co-authors: Yuxuan Wu*, Teng Li*, W.K. Chan† *Beihang University †City University of Hong Kong 1 Homepage of Bo Jiang: http://jiangbo.buaa.edu.cn
Contents Background Motivation Design and the algorithms of Simply Droid The Overall Design Grouping Events with GUI State Hierarchy Tree The HDd algorithm The BHDD Algorithm The LhDD Algorithm )Experiments and results analysis Related Work conclusion future work
Contents 2 Background Motivation Design and the Algorithms of SimplyDroid The Overall Design Grouping Events with GUI State Hierarchy Tree The HDD Algorithm The BHDD Algorithm The LHDD Algorithm Experiments and Results Analysis Related Work Conclusion & future work
Bugs in Apps v.s. Testing Techniques A Sorry Unfortunately, Gmail has Activity Browser (in application Browser) is not responding. Force close Fuzz Testing g 园园园 GUI Traversal-based Testing 0。7 Search-based Testing A Android App is Unresponsi Unfortunately, the process android process. media has stopped Report
Bugs in Apps v.s. Testing Techniques 3 Fuzz Testing GUI Traversal-based Testing Search-based Testing …
Fuzz Testing and the problem Monkey Tools and its variants start script 《461 apt349,。,272.0,自 ap(362,162.0,0 LaunchaetuLtyi co. fack,k Tap(451 ap《43,,710.0,0 290:9 Tp(非4,。,3240,0 次:日 Failure Triggering Event Sequence is too long p(149,0,104。,0 ap(463。,35.0,0 11:6 Hard to replay and analye in debugging Tap(391,,132,0,自 1::5: Tp(1700,59 a(3,,49 Tap(253Q,4470 雪a护(122,②,5080, :出::#13:1 了p(146,0,42.0,0 Tap1280,233.0 .°3 380,。,157.0,0 11:10 T却p450.0,267,0,0 7:1 7ap(374,0,347,, Tp{422.9,543,0 7ap(95.0,310.0,0) :: ::1 Tp(438.,727,9 Tp(10,0,主,, p(47,⊙,642,。,自 Tp(3030,170,0
Fuzz Testing and the Problem 4 Monkey Tools and its Variants Failure Triggering Event Sequence is too long ! Hard to replay and analye in debugging
Fuzz Testing its Problem Monkey Tools and its variants start script 《461 apt349,。,272.0,自 .ym1急,时 ap(362,162.0,0 LaunchaetuLtyi co. fack,k Tap(451 ap(43,,7100,0 290:9 Tp(非4,0,3240,0 11::1 次:日 Failure Triggering Event Sequence is too long Tap(30740,7370, p(149,0,1044。,0 ap(463。,35.0,0 1:16 Hard to replay and analyze ep《3120,72,, 113:1:6 How to simplify the event sequence while triggering the same failure? 71:1:1::2 1+:3: 74(21:07532., 了ap(123,295,。,0 r(3 ::1 090.8 T却p450.0,267,0,0 7:1 7ap(374,0,347,, Tp{422.9,543,0 7ap(95.0,310.0,0) :: ::1 Tp(438.,727,9 Tp(10,0,主,, p(47,⊙,642,。,自 Tp(3030,170,0
Fuzz Testing & its Problem 5 Monkey Tools and its Variants Failure Triggering Event Sequence is too long ! Hard to replay and analyze… How to simplify the event sequence while triggering the same failure?
Contents Background Motivation Design and the algorithm of Simply Droid )Experiments and results analysis Related work Conclusion future work
Contents 6 Background Motivation Design and the Algorithm of SimplyDroid Experiments and Results Analysis Related work Conclusion & future work
Test Case Reduction can Help Dalvik Explorer p;, Activity EXception Dalvik Explorer Before reduction: 1525 GUI input events Build Details > (one launch app, 1524 input events) After reduction: 4 GUI input events Device Details >(one launch app event, 3 touch inputs) Environment Vanables System Properties Time Zones
Test Case Reduction can Help 7 Dalvik Explorer ActivityNotFoundException Before reduction: 1525 GUI input events (one launch app, 1524 input events) After reduction: 4 GUI input events (one launch app event, 3 touch inputs) 7
Test Case Reduction can Help Dalvik Explorer 15:270d司 Activity EXception a Time Zones (582) Before reduction: 1525 GUI input events Asia/Shanghai(default) UTc+0800 > (one launch app, 1524 input events) Africa/Abidjan After reduction: 4 GUI input events UTc+0000 >(one launch app event, 3 touch inputs) Africa/Accra UTc+0000 Africa/Addis Ababa UTc+0300 Africa/Algiers UTC+01 Africa/Asmara UTc+03:00 Africa/Asmera UTc+0300 Africa/ Bamako UTc+0000
Test Case Reduction can Help 8 Dalvik Explorer ActivityNotFoundException Before reduction: 1525 GUI input events (one launch app, 1524 input events) After reduction: 4 GUI input events (one launch app event, 3 touch inputs) 8
Test Case Reduction can Help Dalvik Explorer 21:460: Activity EXception Time Zone "Africa/Bamako Before reduction: 1525 GUI input events Long Display Name格林尼治标准时间 hort Display Name: GMT+00: 00 > (one launch app, 1524 input events) ime Here:2017020921:4604+0800( hursday me There:201702-0913:4604+0000( hursday After reduction: 4 GUI input events aw Offset: UTC+ 00: 00 (+0 minutes) urrent Offset: UTC+00: 00(+0 minut >(one launch app event, 3 touch inputs ses DST: false cet tzdata20151 oordinate+12382.0600 912-010100:16:07+00001912-01-0100:1608+0000 1830383032- Monday
Test Case Reduction can Help 9 Dalvik Explorer ActivityNotFoundException Before reduction: 1525 GUI input events (one launch app, 1524 input events) After reduction: 4 GUI input events (one launch app event, 3 touch inputs) 9
Delta Debugging and its Problem Delta Debugging(DD) by Andreas Zeller: partitions an event sequence into subsequences with equal size, and performs trial execution for reduction with increasingly finer granularity DDs View a flat structure 口口■囗国口 10
Delta Debugging and its Problem 10 Delta Debugging (DD) by Andreas Zeller : partitions an event sequence into subsequences with equal size, and performs trial execution for reduction with increasingly finer granularity. 10 DD’s View: a flat structure ……