Repairing Crashes in Android Apps ICSE ’18, May 27-June 3, 2018, Gothenburg, Sweden
REFERENCES
[1]
2017. What Consumers Really Need and Want. https://goo.gl/puYdkG. (2017).
Accessed 2017-03-27.
[2]
Sharad Agarwal, Ratul Mahajan, Alice Zheng, and Victor Bahl. 2010. Diagnosing
mobile applications in the wild. In Proceedings of the 9th ACM SIGCOMM Workshop
on Hot Topics in Networks. ACM, 22.
[3]
Domenico Amaltano, Anna Rita Fasolino, and Porrio Tramontana. 2011. A
gui crawling-based technique for android mobile application testing. In Soft-
ware Testing, Verication and Validation Workshops (ICSTW), 2011 IEEE Fourth
International Conference on. IEEE, 252–261.
[4]
Domenico Amaltano, Anna Rita Fasolino, Porrio Tramontana, Salvatore
De Carmine, and Atif M Memon. 2012. Using GUI ripping for automated test-
ing of Android applications. In Proceedings of the 27th IEEE/ACM International
Conference on Automated Software Engineering. ACM, 258–261.
[5]
Saswat Anand, Mayur Naik, Mary Jean Harrold, and Hongseok Yang. 2012. Auto-
mated concolic testing of smartphone apps. In Proceedings of the ACM SIGSOFT
20th International Symposium on the Foundations of Software Engineering. ACM,
59.
[6]
Alessandro Armando, Alessio Merlo, Mauro Migliardi, and Luca Verderame. 2013.
Breaking and xing the android launching ow. Computers & Security 39 (2013),
104–115.
[7]
Steven Arzt, Siegfried Rasthofer, Christian Fritz, Eric Bodden, Alexandre Bar-
tel, Jacques Klein, Yves Le Traon, Damien Octeau, and Patrick McDaniel. 2014.
Flowdroid: Precise context, ow, eld, object-sensitive and lifecycle-aware taint
analysis for android apps. Acm Sigplan Notices 49, 6 (2014), 259–269.
[8]
Md Tanzirul Azim, Iulian Neamtiu, and Lisa M Marvel. 2014. Towards self-
healing smartphone software via automated patching. In Proceedings of the 29th
ACM/IEEE international conference on Automated software engineering. ACM,
623–628.
[9]
Tanzirul Azim and Iulian Neamtiu. 2013. Targeted and depth-rst exploration
for systematic testing of android apps. In Acm Sigplan Notices, Vol. 48. ACM,
641–660.
[10]
A. Banerjee, L. K. Chong, C. Ballabriga, and A. Roychoudhury. 2017. EnergyPatch:
Repairing Resource Leaks to Improve Energy-eciency of Android Apps. IEEE
Transactions on Software Engineering PP, 99 (2017), 1–1. https://doi.org/10.1109/
TSE.2017.2689012
[11]
Alexandre Bartel, Jacques Klein, Yves Le Traon, and Martin Monperrus. 2012.
Dexpler: Converting Android Dalvik Bytecode to Jimple for Static Analysis with
Soot. In Proceedings of the ACM SIGPLAN International Workshop on State of
the Art in Java Program Analysis (SOAP ’12). ACM, New York, NY, USA, 27–38.
https://doi.org/10.1145/2259051.2259056
[12]
Pamela Bhattacharya, Liudmila Ulanova, Iulian Neamtiu, and Sai Charan Koduru.
2013. An empirical analysis of bug reports and bug xing in open source android
apps. In Software Maintenance and Reengineering (CSMR), 2013 17th European
Conference on. IEEE, 133–143.
[13]
Robert V Binder. 2000. Testing object-oriented systems: models, patterns, and tools.
Addison-Wesley Professional.
[14]
N. Chen and S. Kim. 2015. STAR: Stack Trace Based Automatic Crash Reproduc-
tion via Symbolic Execution. IEEE Transactions on Software Engineering 41, 2
(Feb 2015), 198–220. https://doi.org/10.1109/TSE.2014.2363469
[15]
Wontae Choi, George Necula, and Koushik Sen. 2013. Guided gui testing of
android apps with minimal restart and approximate learning. In Acm Sigplan
Notices, Vol. 48. ACM, 623–640.
[16]
Shauvik Roy Choudhary, Alessandra Gorla, and Alessandro Orso. 2015. Au-
tomated test input generation for android: Are we there yet?(e). In Automated
Software Engineering (ASE), 2015 30th IEEE/ACM International Conference on. IEEE,
429–440.
[17]
Jürgen Cito, Julia Rubin, Phillip Stanley-Marbell, and Martin Rinard. 2016. Battery-
aware transformations in mobile applications. In Automated Software Engineering
(ASE), 2016 31st IEEE/ACM International Conference on. IEEE, 702–707.
[18]
Roberta Coelho, Lucas Almeida, Georgios Gousios, Arie Van Deursen, and
Christoph Treude. 2016. Exception handling bug hazards in Android. Empirical
Software Engineering (2016), 1–41.
[19]
Qing Gao, Hansheng Zhang, Jie Wang, Yingfei Xiong, Lu Zhang, and Hong Mei.
2015. Fixing recurring crash bugs via analyzing q&a sites (T). In Automated
Software Engineering (ASE), 2015 30th IEEE/ACM International Conference on.
IEEE, 307–318.
[20]
Zebao Gao, Zhenyu Chen, Yunxiao Zou, and Atif M Memon. 2016. Sitar: GUI
test script repair. Ieee transactions on software engineering 42, 2 (2016), 170–186.
[21]
Laurence Goasdu and Christy Pettey. 2012. Gartner says worldwide smartphone
sales soared in fourth quarter of 2011 with 47 percent growth. Visited April (2012).
[22]
Lorenzo Gomez, Iulian Neamtiu, Tanzirul Azim, and Todd Millstein. 2013. RERAN:
Timing- and Touch-sensitive Record and Replay for Android. In Proceedings of
the 2013 International Conference on Software Engineering (ICSE ’13). IEEE Press,
Piscataway, NJ, USA, 72–81. http://dl.acm.org/citation.cfm?id=2486788.2486799
[23]
Casper S. Jensen, Mukul R. Prasad, and Anders Møller. 2013. Automated Testing
with Targeted Event Sequence Generation. In Proceedings of the 2013 International
Symposium on Software Testing and Analysis (ISSTA 2013). ACM, New York, NY,
USA, 67–77. https://doi.org/10.1145/2483760.2483777
[24]
Dongsun Kim, Jaechang Nam, Jaewoo Song, and Sunghun Kim. 2013. Automatic
patch generation learned from human-written patches. In ICSE’ 2013. IEEE Press,
802–811.
[25]
Patrick Lam, Eric Bodden, Ondrej Lhoták, and Laurie Hendren. 2011. The Soot
framework for Java program analysis: a retrospective. In Cetus Users and Compiler
Infastructure Workshop (CETUS 2011), Vol. 15. 35.
[26]
Claire Le Goues, Michael Dewey-Vogt, Stephanie Forrest, and Westley Weimer.
2012. A Systematic Study of Automated Program Repair: Fixing 55 out of 105
Bugs for $8 Each. In Proceedings of the 34th International Conference on Software
Engineering (ICSE ’12). IEEE Press, Piscataway, NJ, USA, 3–13.
[27]
Claire Le Goues, Neal Holtschulte, Edward K Smith, Yuriy Brun, Premkumar
Devanbu, Stephanie Forrest, and Westley Weimer. 2015. The ManyBugs and
IntroClass benchmarks for automated repair of C programs. IEEE Transactions
on Software Engineering 41, 12 (2015), 1236–1256.
[28]
Fan Long and Martin Rinard. 2016. Automatic Patch Generation by Learning
Correct Code. In Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Sympo-
sium on Principles of Programming Languages (POPL ’16). ACM, New York, NY,
USA, 298–312.
[29]
Qingzhou Luo, Farah Hariri, Lamyaa Eloussi, and Darko Marinov. 2014. An
Empirical Analysis of Flaky Tests. In Proceedings of the 22Nd ACM SIGSOFT
International Symposium on Foundations of Software Engineering (FSE 2014). ACM,
New York, NY, USA, 643–653. https://doi.org/10.1145/2635868.2635920
[30]
Aravind Machiry, Rohan Tahiliani, and Mayur Naik. 2013. Dynodroid: An Input
Generation System for Android Apps. In Proceedings of the 2013 9th Joint Meeting
on Foundations of Software Engineering (ESEC/FSE 2013). ACM, New York, NY,
USA, 224–234. https://doi.org/10.1145/2491411.2491450
[31]
Ke Mao, Mark Harman, and Yue Jia. 2016. Sapienz: Multi-objective Automated
Testing for Android Applications. In Proceedings of the 25th International Sympo-
sium on Software Testing and Analysis (ISSTA 2016). ACM, New York, NY, USA,
94–105. https://doi.org/10.1145/2931037.2931054
[32]
Matias Martinez, Thomas Durieux, Romain Sommerard, Jifeng Xuan, and Martin
Monperrus. 2016. Automatic repair of real bugs in Java: A large-scale experiment
on the Defects4J dataset. Empirical Software Engineering (2016), 1–29.
[33]
Matias Martinez and Martin Monperrus. 2016. ASTOR: A Program Repair Library
for Java (Demo). In Proceedings of the 25th International Symposium on Software
Testing and Analysis (ISSTA 2016). ACM, New York, NY, USA, 441–444. https:
//doi.org/10.1145/2931037.2948705
[34]
Sergey Mechtaev, Jooyong Yi, and Abhik Roychoudhury. 2015. Directx: Looking
for simple program repairs. In Proceedings of the 37th International Conference on
Software Engineering-Volume 1. IEEE Press, 448–458.
[35]
Sergey Mechtaev, Jooyong Yi, and Abhik Roychoudhury. 2016. Angelix: Scalable
multiline program patch synthesis via symbolic analysis. In Software Engineering
(ICSE), 2016 IEEE/ACM 38th International Conference on. IEEE, 691–701.
[36]
Atif M. Memon and Myra B. Cohen. 2013. Automated Testing of GUI Applications:
Models, Tools, and Controlling Flakiness. In Procee dings of the 2013 International
Conference on Software Engineering (ICSE ’13). IEEE Press, Piscataway, NJ, USA,
1479–1480. http://dl.acm.org/citation.cfm?id=2486788.2487046
[37]
Nariman Mirzaei, Sam Malek, Corina S. Păsăreanu, Naeem Esfahani, and Riyadh
Mahmood. 2012. Testing Android Apps Through Symbolic Execution. SIGSOFT
Softw. Eng. Notes 37, 6 (Nov. 2012), 1–5. https://doi.org/10.1145/2382756.2382798
[38]
Kevin Moran, Mario Linares-Vásquez, Carlos Bernal-Cárdenas, Christopher Ven-
dome, and Denys Poshyvanyk. 2016. Automatically discovering, reporting and
reproducing android application crashes. In Software Testing, Verication and
Validation (ICST), 2016 IEEE International Conference on. IEEE, 33–44.
[39]
Collin Mulliner, Jon Oberheide, William Robertson, and Engin Kirda. 2013. Patch-
droid: Scalable third-party security patches for android devices. In Proceedings of
the 29th Annual Computer Security Applications Conference. ACM, 259–268.
[40]
Hoang Duong Thien Nguyen, Dawei Qi, Abhik Roychoudhury, and Satish Chan-
dra. 2013. SemFix: Program repair via semantic analysis. In Proceedings of the
2013 International Conference on Software Engineering. IEEE Press, 772–781.
[41]
Je H. Perkins, Sunghun Kim, Sam Larsen, Saman Amarasinghe, Jonathan
Bachrach, Michael Carbin, Carlos Pacheco, Frank Sherwood, Stelios Sidiroglou,
Greg Sullivan, Weng-Fai Wong, Yoav Zibin, Michael D. Ernst, and Martin Rinard.
2009. Automatically Patching Errors in Deployed Software. In SOSP. 87–102.
[42]
Yuhua Qi, Xiaoguang Mao, Yan Lei, Ziying Dai, and Chengsong Wang. 2014. The
Strength of Random Search on Automated Program Repair. In Proceedings of the
36th International Conference on Software Engineering (ICSE). ACM, New York,
NY, USA, 254–265.
[43]
Siegfried Rasthofer, Steven Arzt, Stefan Triller, and Michael Pradel. 2017. Making
Malory Behave Maliciously: Targeted Fuzzing of Android Execution Environ-
ments. In Proceedings of the 39th International Conference on Software Engineering
(ICSE ’17). IEEE Press, Piscataway, NJ, USA, 300–311. https://doi.org/10.1109/
ICSE.2017.35
[44]
Saurabh Sinha, Hina Shah, Carsten Görg, Shujuan Jiang, Mijung Kim, and
Mary Jean Harrold. 2009. Fault Localization and Repair for Java Runtime