Skip to main content
Top
Published in: Automated Software Engineering 4/2018

16-06-2018

Static window transition graphs for Android

Authors: Shengqian Yang, Haowei Wu, Hailong Zhang, Yan Wang, Chandrasekar Swaminathan, Dacong Yan, Atanas Rountev

Published in: Automated Software Engineering | Issue 4/2018

Log in

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

This work develops a static analysis to create a model of the behavior of an Android application’s GUI. We propose the window transition graph (WTG), a model representing the possible GUI window sequences and their associated events and callbacks. A key component and contribution of our work is the careful modeling of the stack of currently-active windows, the changes to this stack, and the effects of callbacks related to these changes. To the best of our knowledge, this is the first detailed study of this important static analysis problem for Android. We develop novel analysis algorithms for WTG construction and traversal, based on this modeling of the window stack. We also propose WTG extensions to handle certain aspects of asynchronous control flow. We describe an application of the WTG for GUI test generation, using path traversals. The evaluation of the proposed algorithms indicates their effectiveness and practicality.

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Footnotes
1
There is a related callback onPrepareOptionsMenu; for simplicity, it is not discussed here, but our implementation handles it.
 
2
The discussion assumes Android version 8.0; some earlier versions have slight variations in certain sequences of callbacks.
 
3
Since the lifetime of a menu/dialog is contained within the lifetime of its owner, closing an owner implies that all owned windows have been closed.
 
4
In general, w could have multiple owners, e.g., due to subclassing of activities; the necessary algorithmic generalizations are straightforward.
 
5
An alternative would be to traverse all acyclic paths, without a length limit.
 
6
There is also a separate mechanism which uses a Handler to send messages to the targeted thread, but its analysis is beyond the scope of this work.
 
Literature
go back to reference Amalfitano, D., Fasolino, A.R., Tramontana, P., De Carmine, S., Memon, A.M.: Using GUI ripping for automated testing of Android applications. In: International Conference on Automated Software Engineering, pp. 258–261 (2012) Amalfitano, D., Fasolino, A.R., Tramontana, P., De Carmine, S., Memon, A.M.: Using GUI ripping for automated testing of Android applications. In: International Conference on Automated Software Engineering, pp. 258–261 (2012)
go back to reference Anand, S., Naik, M., Harrold, M.J., Yang, H.: Automated concolic testing of smartphone apps. In: ACM SIGSOFT International Symposium on the Foundations of Software Engineering, pp. 59:1–59:11 (2012) Anand, S., Naik, M., Harrold, M.J., Yang, H.: Automated concolic testing of smartphone apps. In: ACM SIGSOFT International Symposium on the Foundations of Software Engineering, pp. 59:1–59:11 (2012)
go back to reference Arlt, S., Podelski, A., Bertolini, C., Schäf, M., Banerjee, I., Memon, A.M.: Lightweight static analysis for GUI testing. In: IEEE International Symposium on Software Reliability Engineering, pp. 301–310 (2012) Arlt, S., Podelski, A., Bertolini, C., Schäf, M., Banerjee, I., Memon, A.M.: Lightweight static analysis for GUI testing. In: IEEE International Symposium on Software Reliability Engineering, pp. 301–310 (2012)
go back to reference Arzt, S., Rasthofer, S., Fritz, C., Bodden, E., Bartel, A., Klein, J., Le Traon, Y., Octeau, D., McDaniel, P.: FlowDroid: Precise context, flow, field, object-sensitive and lifecycle-aware taint analysis for Android apps. In: ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 259–269 (2014) Arzt, S., Rasthofer, S., Fritz, C., Bodden, E., Bartel, A., Klein, J., Le Traon, Y., Octeau, D., McDaniel, P.: FlowDroid: Precise context, flow, field, object-sensitive and lifecycle-aware taint analysis for Android apps. In: ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 259–269 (2014)
go back to reference Azim, T., Neamtiu, I.: Targeted and depth-first exploration for systematic testing of Android apps. In: ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, pp. 641–660 (2013) Azim, T., Neamtiu, I.: Targeted and depth-first exploration for systematic testing of Android apps. In: ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, pp. 641–660 (2013)
go back to reference Baek, Y.M., Bae, D.H.: Automated model-based android gui testing using multi-level gui comparison criteria. In: International Conference on Automated Software Engineering, pp. 238–249 (2016) Baek, Y.M., Bae, D.H.: Automated model-based android gui testing using multi-level gui comparison criteria. In: International Conference on Automated Software Engineering, pp. 238–249 (2016)
go back to reference Banerjee, A., Chong, L.K., Chattopadhyay, S., Roychoudhury, A.: Detecting energy bugs and hotspots in mobile apps. In: ACM SIGSOFT International Symposium on the Foundations of Software Engineering, pp. 588–598 (2014) Banerjee, A., Chong, L.K., Chattopadhyay, S., Roychoudhury, A.: Detecting energy bugs and hotspots in mobile apps. In: ACM SIGSOFT International Symposium on the Foundations of Software Engineering, pp. 588–598 (2014)
go back to reference Cai, H., Ryder, B.G.: Understanding android application programming and security: a dynamic study. In: IEEE International Conference on Software Maintenance and Evolution, pp. 364–375 (2017) Cai, H., Ryder, B.G.: Understanding android application programming and security: a dynamic study. In: IEEE International Conference on Software Maintenance and Evolution, pp. 364–375 (2017)
go back to reference Chin, E., Felt, A.P., Greenwood, K., Wagner, D.: Analyzing inter-application communication in Android. In: International Conference on Mobile Systems, Applications, and Services, pp. 239–252 (2011) Chin, E., Felt, A.P., Greenwood, K., Wagner, D.: Analyzing inter-application communication in Android. In: International Conference on Mobile Systems, Applications, and Services, pp. 239–252 (2011)
go back to reference Choudhary, S.R., Gorla, A., Orso, A.: Automated test input generation for Android: Are we there yet? In: International Conference on Automated Software Engineering, pp. 429–440 (2015) Choudhary, S.R., Gorla, A., Orso, A.: Automated test input generation for Android: Are we there yet? In: International Conference on Automated Software Engineering, pp. 429–440 (2015)
go back to reference Dubroy, P.: Memory management for Android applications. In: Google I/O Developers Conference (2011) Dubroy, P.: Memory management for Android applications. In: Google I/O Developers Conference (2011)
go back to reference Feng, Y., Anand, S., Dillig, I., Aiken, A.: Apposcopy: Semantics-based detection of Android malware through static analysis. In: ACM SIGSOFT International Symposium on the Foundations of Software Engineering, pp. 576–587 (2014) Feng, Y., Anand, S., Dillig, I., Aiken, A.: Apposcopy: Semantics-based detection of Android malware through static analysis. In: ACM SIGSOFT International Symposium on the Foundations of Software Engineering, pp. 576–587 (2014)
go back to reference Fuchs, A.P., Chaudhuri, A., Foster, J.S.: SCanDroid: Automated security certification of Android applications. Technical Report CS-TR-4991, University of Maryland, College Park (2009) Fuchs, A.P., Chaudhuri, A., Foster, J.S.: SCanDroid: Automated security certification of Android applications. Technical Report CS-TR-4991, University of Maryland, College Park (2009)
go back to reference Grace, M., Zhou, Y., Wang, Z., Jiang, X.: Systematic detection of capability leaks in stock Android smartphones. In: Network and Distributed System Security Symposium (2012) Grace, M., Zhou, Y., Wang, Z., Jiang, X.: Systematic detection of capability leaks in stock Android smartphones. In: Network and Distributed System Security Symposium (2012)
go back to reference Gross, F., Fraser, G., Zeller, A.: Search-based system testing: high coverage, no false alarms. In: ACM SIGSOFT International Symposium on Software Testing and Analysis, pp. 67–77 (2012) Gross, F., Fraser, G., Zeller, A.: Search-based system testing: high coverage, no false alarms. In: ACM SIGSOFT International Symposium on Software Testing and Analysis, pp. 67–77 (2012)
go back to reference Guo, C., Zhang, J., Yan, J., Zhang, Z., Zhang, Y.: Characterizing and detecting resource leaks in Android applications. In: International Conference on Automated Software Engineering, pp. 389–398 (2013) Guo, C., Zhang, J., Yan, J., Zhang, Z., Zhang, Y.: Characterizing and detecting resource leaks in Android applications. In: International Conference on Automated Software Engineering, pp. 389–398 (2013)
go back to reference Hao, S., Liu, B., Nath, S., Halfond, W.G., Govindan, R.: PUMA: Programmable UI-automation for large-scale dynamic analysis of mobile apps. In: International Conference on Mobile Systems, Applications, and Services, pp. 204–217 (2014) Hao, S., Liu, B., Nath, S., Halfond, W.G., Govindan, R.: PUMA: Programmable UI-automation for large-scale dynamic analysis of mobile apps. In: International Conference on Mobile Systems, Applications, and Services, pp. 204–217 (2014)
go back to reference Huang, J., Zhang, X., Tan, L., Wang, P., Liang, B.: AsDroid: Detecting stealthy behaviors in Android applications by user interface and program behavior contradiction. In: International Conference on Software Engineering, pp. 1036–1046 (2014) Huang, J., Zhang, X., Tan, L., Wang, P., Liang, B.: AsDroid: Detecting stealthy behaviors in Android applications by user interface and program behavior contradiction. In: International Conference on Software Engineering, pp. 1036–1046 (2014)
go back to reference Jensen, C.S., Prasad, M.R., Møller, A.: Automated testing with targeted event sequence generation. In: ACM SIGSOFT International Symposium on Software Testing and Analysis, pp. 67–77 (2013) Jensen, C.S., Prasad, M.R., Møller, A.: Automated testing with targeted event sequence generation. In: ACM SIGSOFT International Symposium on Software Testing and Analysis, pp. 67–77 (2013)
go back to reference Lee, Y.K., Safi, G., Shahbazian, A., Zhao, Y., Medvidovic, N., et al.: A sealant for inter-app security holes in Android. In: International Conference on Software Engineering, pp. 312–323 (2017) Lee, Y.K., Safi, G., Shahbazian, A., Zhao, Y., Medvidovic, N., et al.: A sealant for inter-app security holes in Android. In: International Conference on Software Engineering, pp. 312–323 (2017)
go back to reference Li, D., Hao, S., Halfond, W.G.J., Govindan, R.: Calculating source line level energy information for Android applications. In: ACM SIGSOFT International Symposium on Software Testing and Analysis, pp. 78–89 (2013) Li, D., Hao, S., Halfond, W.G.J., Govindan, R.: Calculating source line level energy information for Android applications. In: ACM SIGSOFT International Symposium on Software Testing and Analysis, pp. 78–89 (2013)
go back to reference Li, L., Bartel, A., Bissyandé, T.F., Klein, J., Le Traon, Y., Arzt, S., Rasthofer, S., Bodden, E., Octeau, D., McDaniel, P.: Iccta: Detecting inter-component privacy leaks in android apps. In: International Conference on Software Engineering, pp. 280–291 (2015) Li, L., Bartel, A., Bissyandé, T.F., Klein, J., Le Traon, Y., Arzt, S., Rasthofer, S., Bodden, E., Octeau, D., McDaniel, P.: Iccta: Detecting inter-component privacy leaks in android apps. In: International Conference on Software Engineering, pp. 280–291 (2015)
go back to reference Li, L., Bissyandé, T.F., Papadakis, M., Rasthofer, S., Bartel, A., Octeau, D., Klein, J., Le Traon, Y.: Static analysis of android apps: A systematic literature review. In: Information and Software Technology (2017) Li, L., Bissyandé, T.F., Papadakis, M., Rasthofer, S., Bartel, A., Octeau, D., Klein, J., Le Traon, Y.: Static analysis of android apps: A systematic literature review. In: Information and Software Technology (2017)
go back to reference Liang, S., Keep, A.W., Might, M., Lyde, S., Gilray, T., Aldous, P., Van Horn, D.: Sound and precise malware analysis for Android via pushdown reachability and entry-point saturation. In: ACM Workshop on Security and Privacy in Smartphones and Mobile Devices, pp. 21–32 (2013) Liang, S., Keep, A.W., Might, M., Lyde, S., Gilray, T., Aldous, P., Van Horn, D.: Sound and precise malware analysis for Android via pushdown reachability and entry-point saturation. In: ACM Workshop on Security and Privacy in Smartphones and Mobile Devices, pp. 21–32 (2013)
go back to reference Lin, Y., Radoi, C., Dig, D.: Retrofitting concurrency for Android applications through refactoring. In: ACM SIGSOFT International Symposium on the Foundations of Software Engineering, pp. 341–352 (2014) Lin, Y., Radoi, C., Dig, D.: Retrofitting concurrency for Android applications through refactoring. In: ACM SIGSOFT International Symposium on the Foundations of Software Engineering, pp. 341–352 (2014)
go back to reference Liu, Y., Xu, C., Cheung, S.C., Lu, J.: GreenDroid: automated diagnosis of energy inefficiency for smartphone applications. IEEE Trans. Softw. Eng. 40, 911–940 (2014)CrossRef Liu, Y., Xu, C., Cheung, S.C., Lu, J.: GreenDroid: automated diagnosis of energy inefficiency for smartphone applications. IEEE Trans. Softw. Eng. 40, 911–940 (2014)CrossRef
go back to reference Lu, K., Li, Z., Kemerlis, V.P., Wu, Z., Lu, L., Zheng, C., Qian, Z., Lee, W., Jiang, G.: Checking more and alerting less: detecting privacy leakages via enhanced data-flow analysis and peer voting. In: Network and Distributed System Security Symposium (2015) Lu, K., Li, Z., Kemerlis, V.P., Wu, Z., Lu, L., Zheng, C., Qian, Z., Lee, W., Jiang, G.: Checking more and alerting less: detecting privacy leakages via enhanced data-flow analysis and peer voting. In: Network and Distributed System Security Symposium (2015)
go back to reference Lu, L., Li, Z., Wu, Z., Lee, W., Jiang, G.: CHEX: Statically vetting Android apps for component hijacking vulnerabilities. In: ACM Conference on Computer and Communications Security, pp. 229–240 (2012) Lu, L., Li, Z., Wu, Z., Lee, W., Jiang, G.: CHEX: Statically vetting Android apps for component hijacking vulnerabilities. In: ACM Conference on Computer and Communications Security, pp. 229–240 (2012)
go back to reference Machiry, A., Tahiliani, R., Naik, M.: Dynodroid: An input generation system for Android apps. In: ACM SIGSOFT International Symposium on the Foundations of Software Engineering, pp. 224–234 (2013) Machiry, A., Tahiliani, R., Naik, M.: Dynodroid: An input generation system for Android apps. In: ACM SIGSOFT International Symposium on the Foundations of Software Engineering, pp. 224–234 (2013)
go back to reference Mahmood, R., Mirzaei, N., Malek, S.: EvoDroid: Segmented evolutionary testing of Android apps. In: ACM SIGSOFT International Symposium on the Foundations of Software Engineering, pp. 599–609 (2014) Mahmood, R., Mirzaei, N., Malek, S.: EvoDroid: Segmented evolutionary testing of Android apps. In: ACM SIGSOFT International Symposium on the Foundations of Software Engineering, pp. 599–609 (2014)
go back to reference Memon, A.M.: An event-flow model of GUI-based applications for testing. Softw. Test. Verif. Reliab. 17(3), 137–157 (2007)CrossRef Memon, A.M.: An event-flow model of GUI-based applications for testing. Softw. Test. Verif. Reliab. 17(3), 137–157 (2007)CrossRef
go back to reference Memon, A.M., Xie, Q.: Studying the fault-detection effectiveness of GUI test cases for rapidly evolving software. IEEE Trans. Softw. Eng. 31(10), 884–896 (2005)CrossRef Memon, A.M., Xie, Q.: Studying the fault-detection effectiveness of GUI test cases for rapidly evolving software. IEEE Trans. Softw. Eng. 31(10), 884–896 (2005)CrossRef
go back to reference Memon, A.M., Soffa, M.L., Pollack, M.E.: Coverage criteria for GUI testing. In: ACM SIGSOFT International Symposium on the Foundations of Software Engineering, pp. 256–267 (2001)CrossRef Memon, A.M., Soffa, M.L., Pollack, M.E.: Coverage criteria for GUI testing. In: ACM SIGSOFT International Symposium on the Foundations of Software Engineering, pp. 256–267 (2001)CrossRef
go back to reference Memon, A.M., Banerjee, I., Nagarajan, A: GUI ripping: Reverse engineering of graphical user interfaces for testing. In: Working Conference on Reverse Engineering, pp. 260–269 (2003) Memon, A.M., Banerjee, I., Nagarajan, A: GUI ripping: Reverse engineering of graphical user interfaces for testing. In: Working Conference on Reverse Engineering, pp. 260–269 (2003)
go back to reference Min, C., Lee, Y., Yoo, C., Kang, S., Choi, S., Park, P., Hwang, I., Ju, Y., Choi, S., Song, J.: PowerForecaster: Predicting smartphone power impact of continuous sensing applications at pre-installation time. In: ACM Conference on Embedded Networked Sensor Systems, pp. 31–44 (2015) Min, C., Lee, Y., Yoo, C., Kang, S., Choi, S., Park, P., Hwang, I., Ju, Y., Choi, S., Song, J.: PowerForecaster: Predicting smartphone power impact of continuous sensing applications at pre-installation time. In: ACM Conference on Embedded Networked Sensor Systems, pp. 31–44 (2015)
go back to reference Octeau, D., McDaniel, P., Jha, S., Bartel, A., Bodden, E., Klein, J., le Traon, Y.: Effective inter-component communication mapping in Android with Epicc. In: USENIX Security Symposium (2013) Octeau, D., McDaniel, P., Jha, S., Bartel, A., Bodden, E., Klein, J., le Traon, Y.: Effective inter-component communication mapping in Android with Epicc. In: USENIX Security Symposium (2013)
go back to reference Octeau, D., Luchaup, D., Dering, M., Jha, S., McDaniel, P.: Composite constant propagation: Application to Android inter-component communication analysis. In: International Conference on Software Engineering, pp. 77–88 (2015) Octeau, D., Luchaup, D., Dering, M., Jha, S., McDaniel, P.: Composite constant propagation: Application to Android inter-component communication analysis. In: International Conference on Software Engineering, pp. 77–88 (2015)
go back to reference Oliner, A.J., Iyer, A.P., Stoica, I., Lagerspetz, E., Tarkoma, S.: Carat: Collaborative energy diagnosis for mobile devices. In: ACM Conference on Embedded Networked Sensor Systems, pp 10:1–10:14 (2013) Oliner, A.J., Iyer, A.P., Stoica, I., Lagerspetz, E., Tarkoma, S.: Carat: Collaborative energy diagnosis for mobile devices. In: ACM Conference on Embedded Networked Sensor Systems, pp 10:1–10:14 (2013)
go back to reference Pathak, A., Jindal, A., Hu, Y.C., Midkiff, S.P.: What is keeping my phone awake? In: International Conference on Mobile Systems, Applications, and Services, pp. 267–280 (2012) Pathak, A., Jindal, A., Hu, Y.C., Midkiff, S.P.: What is keeping my phone awake? In: International Conference on Mobile Systems, Applications, and Services, pp. 267–280 (2012)
go back to reference Payet, E., Spoto, F.: Static analysis of Android programs. Inf. Softw. Technol. 54(11), 1192–1201 (2012)CrossRef Payet, E., Spoto, F.: Static analysis of Android programs. Inf. Softw. Technol. 54(11), 1192–1201 (2012)CrossRef
go back to reference Payet, E., Spoto, F.: An operational semantics for Android activities. In: ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, pp. 121–132 (2014) Payet, E., Spoto, F.: An operational semantics for Android activities. In: ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, pp. 121–132 (2014)
go back to reference Rountev, A., Yan, D.: Static reference analysis for GUI objects in Android software. In: International Symposium on Code Generation and Optimization, pp. 143–153 (2014) Rountev, A., Yan, D.: Static reference analysis for GUI objects in Android software. In: International Symposium on Code Generation and Optimization, pp. 143–153 (2014)
go back to reference Sharir, M., Pnueli, A.: Two approaches to interprocedural data flow analysis. In: Muchnick, S., Jones, N. (eds.) Program Flow Analysis: Theory and Applications, pp. 189–234. Prentice Hall, New York (1981) Sharir, M., Pnueli, A.: Two approaches to interprocedural data flow analysis. In: Muchnick, S., Jones, N. (eds.) Program Flow Analysis: Theory and Applications, pp. 189–234. Prentice Hall, New York (1981)
go back to reference Song, W., Qian, X., Huang, J.: Ehbdroid: beyond GUI testing for android applications. In: International Conference on Automated Software Engineering, pp. 27–37 (2017) Song, W., Qian, X., Huang, J.: Ehbdroid: beyond GUI testing for android applications. In: International Conference on Automated Software Engineering, pp. 27–37 (2017)
go back to reference Takala, T., Katara, M., Harty, J.: Experiences of system-level model-based GUI testing of an Android application. In: IEEE International Conference on Software Testing, Verification, and Validation, pp. 377–386 (2011) Takala, T., Katara, M., Harty, J.: Experiences of system-level model-based GUI testing of an Android application. In: IEEE International Conference on Software Testing, Verification, and Validation, pp. 377–386 (2011)
go back to reference Tsutano, Y., Bachala, S., Srisa-an, W., Rothermel, G., Dinh, J.: An efficient, robust, and scalable approach for analyzing interacting android apps. In: International Conference on Software Engineering, pp. 324–334 (2017) Tsutano, Y., Bachala, S., Srisa-an, W., Rothermel, G., Dinh, J.: An efficient, robust, and scalable approach for analyzing interacting android apps. In: International Conference on Software Engineering, pp. 324–334 (2017)
go back to reference Wang, P., Liang, B., You, W., Li, J., Shi, W.: Automatic Android GUI traversal with high coverage. In: Communication Systems and Network Technologies, pp. 1161–1166 (2014) Wang, P., Liang, B., You, W., Li, J., Shi, W.: Automatic Android GUI traversal with high coverage. In: Communication Systems and Network Technologies, pp. 1161–1166 (2014)
go back to reference Wang, Y., Rountev, A.: Profiling the responsiveness of Android applications via automated resource amplification. In: IEEE/ACM International Conference on Mobile Software Engineering and Systems, pp. 48–58 (2016) Wang, Y., Rountev, A.: Profiling the responsiveness of Android applications via automated resource amplification. In: IEEE/ACM International Conference on Mobile Software Engineering and Systems, pp. 48–58 (2016)
go back to reference Wang, Y., Zhang, H., Rountev, A.: On the unsoundness of static analysis for Android GUIs. In: ACM SIGPLAN International Workshop on the State Of the Art in Program Analysis, pp. 18–23 (2016) Wang, Y., Zhang, H., Rountev, A.: On the unsoundness of static analysis for Android GUIs. In: ACM SIGPLAN International Workshop on the State Of the Art in Program Analysis, pp. 18–23 (2016)
go back to reference Wei, F., Roy, S., Ou, X., et al.: Amandroid: A precise and general inter-component data flow analysis framework for security vetting of android apps. In: ACM Conference on Computer and Communications Security, pp. 1329–1341 (2014) Wei, F., Roy, S., Ou, X., et al.: Amandroid: A precise and general inter-component data flow analysis framework for security vetting of android apps. In: ACM Conference on Computer and Communications Security, pp. 1329–1341 (2014)
go back to reference White, L., Almezen, H.: Generating test cases for GUI responsibilities using complete interaction sequences. In: IEEE International Symposium on Software Reliability Engineering, pp. 110–121 (2000) White, L., Almezen, H.: Generating test cases for GUI responsibilities using complete interaction sequences. In: IEEE International Symposium on Software Reliability Engineering, pp. 110–121 (2000)
go back to reference Wontae, C., George, N., Koushik, S.: Guided GUI testing of Android apps with minimal restart and approximate learning. In: ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, pp. 623–640 (2013) Wontae, C., George, N., Koushik, S.: Guided GUI testing of Android apps with minimal restart and approximate learning. In: ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, pp. 623–640 (2013)
go back to reference Wu, H., Yang, S., Rountev, A.: Static detection of energy defect patterns in Android applications. In: International Conference on Compiler Construction, pp. 185–195 (2016) Wu, H., Yang, S., Rountev, A.: Static detection of energy defect patterns in Android applications. In: International Conference on Compiler Construction, pp. 185–195 (2016)
go back to reference Wu, H., Wang, Y., Rountev, A.: Sentinel: generating GUI tests for Android sensor leaks. In: IEEE/ACM International Workshop on Automation of Software Test (2018) Wu, H., Wang, Y., Rountev, A.: Sentinel: generating GUI tests for Android sensor leaks. In: IEEE/ACM International Workshop on Automation of Software Test (2018)
go back to reference Xie, Q., Memon, A.M.: Using a pilot study to derive a GUI model for automated testing. ACM Trans. Softw. Eng. Methodol. 18(2), 7:1–7:35 (2008)CrossRef Xie, Q., Memon, A.M.: Using a pilot study to derive a GUI model for automated testing. ACM Trans. Softw. Eng. Methodol. 18(2), 7:1–7:35 (2008)CrossRef
go back to reference Xiong, B., Xiang, G., Du, T., He, J.S., Ji, S.: Static taint analysis method for intent injection vulnerability in android applications. In: International Symposium on Cyberspace Safety and Security, pp 16–31 (2017)CrossRef Xiong, B., Xiang, G., Du, T., He, J.S., Ji, S.: Static taint analysis method for intent injection vulnerability in android applications. In: International Symposium on Cyberspace Safety and Security, pp 16–31 (2017)CrossRef
go back to reference Yan, D.: Program analyses for understanding the behavior and performance of traditional and mobile object-oriented software. Ph.D. thesis, Ohio State University (2014) Yan, D.: Program analyses for understanding the behavior and performance of traditional and mobile object-oriented software. Ph.D. thesis, Ohio State University (2014)
go back to reference Yan, D., Yang, S., Rountev, A.: Systematic testing for resource leaks in Android applications. In: IEEE International Symposium on Software Reliability Engineering, pp. 411–420 (2013) Yan, D., Yang, S., Rountev, A.: Systematic testing for resource leaks in Android applications. In: IEEE International Symposium on Software Reliability Engineering, pp. 411–420 (2013)
go back to reference Yang, S.: Static analyses of GUI behavior in Android applications. Ph.D. thesis, Ohio State University (2015) Yang, S.: Static analyses of GUI behavior in Android applications. Ph.D. thesis, Ohio State University (2015)
go back to reference Yang, S., Yan, D., Rountev, A.: Testing for poor responsiveness in Android applications. In: Workshop on Engineering Mobile-Enabled Systems, pp. 1–6 (2013a) Yang, S., Yan, D., Rountev, A.: Testing for poor responsiveness in Android applications. In: Workshop on Engineering Mobile-Enabled Systems, pp. 1–6 (2013a)
go back to reference Yang, S., Yan, D., Wu, H., Wang, Y., Rountev, A.: Static control-flow analysis of user-driven callbacks in Android applications. In: International Conference on Software Engineering, pp. 89–99 (2015a) Yang, S., Yan, D., Wu, H., Wang, Y., Rountev, A.: Static control-flow analysis of user-driven callbacks in Android applications. In: International Conference on Software Engineering, pp. 89–99 (2015a)
go back to reference Yang, S., Zhang, H., Wu, H., Wang, Y., Yan, D., Rountev, A.: Static window transition graphs for Android. In: IEEE/ACM International Conference on Automated Software Engineering, pp. 658–668 (2015b) Yang, S., Zhang, H., Wu, H., Wang, Y., Yan, D., Rountev, A.: Static window transition graphs for Android. In: IEEE/ACM International Conference on Automated Software Engineering, pp. 658–668 (2015b)
go back to reference Yang, W., Prasad, M., Xie, T.: A grey-box approach for automated GUI-model generation of mobile applications. In: International Conference on Fundamental Approaches to Software Engineering, pp. 250–265 (2013b)CrossRef Yang, W., Prasad, M., Xie, T.: A grey-box approach for automated GUI-model generation of mobile applications. In: International Conference on Fundamental Approaches to Software Engineering, pp. 250–265 (2013b)CrossRef
go back to reference Yuan, X., Memon, A.M.: Generating event sequence-based test cases using GUI run-time state feedback. IEEE Trans. Softw. Eng. 36(1), 81–95 (2010)CrossRef Yuan, X., Memon, A.M.: Generating event sequence-based test cases using GUI run-time state feedback. IEEE Trans. Softw. Eng. 36(1), 81–95 (2010)CrossRef
go back to reference Yuan, X., Cohen, M.B., Memon, A.M.: GUI interaction testing: incorporating event context. IEEE Trans. Softw. Eng. 37(4), 559–574 (2011)CrossRef Yuan, X., Cohen, M.B., Memon, A.M.: GUI interaction testing: incorporating event context. IEEE Trans. Softw. Eng. 37(4), 559–574 (2011)CrossRef
go back to reference Zhang, H., Wu, H., Rountev, A.: Automated test generation for detection of leaks in Android applications. In: IEEE/ACM International Workshop on Automation of Software Test, pp. 64–70 (2016) Zhang, H., Wu, H., Rountev, A.: Automated test generation for detection of leaks in Android applications. In: IEEE/ACM International Workshop on Automation of Software Test, pp. 64–70 (2016)
go back to reference Zhang, P., Elbaum, S.: Amplifying tests to validate exception handling code. In: International Conference on Software Engineering, pp. 595–605 (2012) Zhang, P., Elbaum, S.: Amplifying tests to validate exception handling code. In: International Conference on Software Engineering, pp. 595–605 (2012)
go back to reference Zhang, S., Lü, H., Ernst, M.D.: Finding errors in multithreaded GUI applications. In: ACM SIGSOFT International Symposium on Software Testing and Analysis, pp. 243–253 (2012) Zhang, S., Lü, H., Ernst, M.D.: Finding errors in multithreaded GUI applications. In: ACM SIGSOFT International Symposium on Software Testing and Analysis, pp. 243–253 (2012)
go back to reference Zheng, C., Zhu, S., Dai, S., Gu, G., Gong, X., Han, X., Zou, W.: SmartDroid: An automatic system for revealing UI-based trigger conditions in Android applications. In: ACM Workshop on Security and Privacy in Smartphones and Mobile Devices, pp. 93–104 (2012) Zheng, C., Zhu, S., Dai, S., Gu, G., Gong, X., Han, X., Zou, W.: SmartDroid: An automatic system for revealing UI-based trigger conditions in Android applications. In: ACM Workshop on Security and Privacy in Smartphones and Mobile Devices, pp. 93–104 (2012)
Metadata
Title
Static window transition graphs for Android
Authors
Shengqian Yang
Haowei Wu
Hailong Zhang
Yan Wang
Chandrasekar Swaminathan
Dacong Yan
Atanas Rountev
Publication date
16-06-2018
Publisher
Springer US
Published in
Automated Software Engineering / Issue 4/2018
Print ISSN: 0928-8910
Electronic ISSN: 1573-7535
DOI
https://doi.org/10.1007/s10515-018-0237-6

Other articles of this Issue 4/2018

Automated Software Engineering 4/2018 Go to the issue

Premium Partner