ResearchSpace

Environment modeling using runtime values for JPF-Android

Show simple item record

dc.contributor.author Van der Merwe, H
dc.contributor.author Thachuk, O
dc.contributor.author Nel, S
dc.contributor.author Van der Merwe, B
dc.contributor.author Visser, W
dc.date.accessioned 2017-09-19T08:30:09Z
dc.date.available 2017-09-19T08:30:09Z
dc.date.issued 2015-11
dc.identifier.citation Van der Merwe, H., Thachuk, O., Nel, S., Van der merwe, B., and Visser, W. 2015. Environment modeling using runtime values for JPF-Android. ASI SIGSOFT Software Engineering Notes, v.40(6), pp 1-5. en_US
dc.identifier.uri http://dl.acm.org/citation.cfm?id=2830727
dc.identifier.uri http://hdl.handle.net/10204/9578
dc.description 2015: Copyright ACM. Due to copyright restrictions, the attached PDF file only contains the abstract of the full text item. For access to the full text, please contact the publisher. en_US
dc.description.abstract Software applications are developed to be executed in a specific environment. This environment includes external/ native libraries to add functionality to the application and drivers to fire the application execution. For testing and verification, the environment of an application is simplified/abstracted using models or stubs. Empty stubs, returning default values, are simple to generate automatically, but they do not perform well when the application expects specific return values. Symbolic execution is used to find input parameters for drivers and return values for library stubs, but it struggles to detect the values of complex objects. In this work-in-progress paper, we explore an approach to generate drivers and stubs based on values collected during runtime instead of using default values. Entry-points and methods that need to be modeled are instrumented to log their parameters and return values. The instrumented applications are then executed using a driver and instrumented libraries. The values collected during runtime are used to generate driver and stub values on-the-y that improve coverage during verification by enabling the execution of code that previously crashed or was missed. We are implementing this approach to improve the environment model of JPF-Android, our model checking and analysis tool for Android applications. en_US
dc.language.iso en en_US
dc.publisher ACM en_US
dc.relation.ispartofseries Worklist;16573
dc.subject Environment modeling en_US
dc.subject Software applications en_US
dc.subject Android applications en_US
dc.title Environment modeling using runtime values for JPF-Android en_US
dc.type Article en_US
dc.identifier.apacitation Van der Merwe, H., Thachuk, O., Nel, S., Van der Merwe, B., & Visser, W. (2015). Environment modeling using runtime values for JPF-Android. http://hdl.handle.net/10204/9578 en_ZA
dc.identifier.chicagocitation Van der Merwe, H, O Thachuk, S Nel, B Van der Merwe, and W Visser "Environment modeling using runtime values for JPF-Android." (2015) http://hdl.handle.net/10204/9578 en_ZA
dc.identifier.vancouvercitation Van der Merwe H, Thachuk O, Nel S, Van der Merwe B, Visser W. Environment modeling using runtime values for JPF-Android. 2015; http://hdl.handle.net/10204/9578. en_ZA
dc.identifier.ris TY - Article AU - Van der Merwe, H AU - Thachuk, O AU - Nel, S AU - Van der Merwe, B AU - Visser, W AB - Software applications are developed to be executed in a specific environment. This environment includes external/ native libraries to add functionality to the application and drivers to fire the application execution. For testing and verification, the environment of an application is simplified/abstracted using models or stubs. Empty stubs, returning default values, are simple to generate automatically, but they do not perform well when the application expects specific return values. Symbolic execution is used to find input parameters for drivers and return values for library stubs, but it struggles to detect the values of complex objects. In this work-in-progress paper, we explore an approach to generate drivers and stubs based on values collected during runtime instead of using default values. Entry-points and methods that need to be modeled are instrumented to log their parameters and return values. The instrumented applications are then executed using a driver and instrumented libraries. The values collected during runtime are used to generate driver and stub values on-the-y that improve coverage during verification by enabling the execution of code that previously crashed or was missed. We are implementing this approach to improve the environment model of JPF-Android, our model checking and analysis tool for Android applications. DA - 2015-11 DB - ResearchSpace DP - CSIR KW - Environment modeling KW - Software applications KW - Android applications LK - https://researchspace.csir.co.za PY - 2015 T1 - Environment modeling using runtime values for JPF-Android TI - Environment modeling using runtime values for JPF-Android UR - http://hdl.handle.net/10204/9578 ER - en_ZA


Files in this item

This item appears in the following Collection(s)

Show simple item record