Filters








507 Hits in 3.9 sec

Efficiently manifesting asynchronous programming errors in Android apps

Lingling Fan, Ting Su, Sen Chen, Guozhu Meng, Yang Liu, Lihua Xu, Geguang Pu
2018 Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering - ASE 2018  
Android, the #1 mobile app framework, enforces the single-GUI-thread model, in which a single UI thread manages GUI rendering and event dispatching.  ...  To this end, this paper introduces APEChecker, a technique to automatically and efficiently manifest APEs.  ...  ASYNC PROGRAMMING ERRORS 2.1 Async Programming in Android Fig. 1 depicts the single-GUI-thread model of Android.  ... 
doi:10.1145/3238147.3238170 dblp:conf/kbse/FanSCMLXP18 fatcat:76wwe6si7redrjohw6mg3wlzsa

Software architectural principles in contemporary mobile software: from conception to practice

Hamid Bagheri, Joshua Garcia, Alireza Sadeghi, Sam Malek, Nenad Medvidovic
2016 Journal of Systems and Software  
Finally, to better understand the extent to which Android's ecosystem of apps employs architectural concepts, we mine the reverse-engineered architecture of hundreds of Android apps in several app markets  ...  We distill the architectural principles found in Android, the predominant mobile platform with the largest market share, and trace those principles to their conception at the turn of century in software  ...  Acknowledgment This work was supported in part by awards CCF-1252644 from the National Science Foundation , D11AP00282 from the Defense Advanced Research Projects Agency , W911NF-09-1-0273 from the Army  ... 
doi:10.1016/j.jss.2016.05.039 fatcat:tuajcdrb5be5blc4k263oilma4

When Program Analysis Meets Bytecode Search: Targeted and Efficient Inter-procedural Analysis of Modern Android Apps in BackDroid [article]

Daoyuan Wu and Debin Gao and Robert H. Deng and Rocky K. C. Chang
2020 arXiv   pre-print
Such search-based inter-procedural analysis, however, is challenging due to Java polymorphism, callbacks, asynchronous flows, static initializers, and inter-component communication in Android apps.  ...  Widely-used Android static program analysis tools, e.g., Amandroid and FlowDroid, perform the whole-app inter-procedural analysis that is comprehensive but fundamentally difficult to handle modern (large  ...  Given an input of any Android app(s), BackDroid first extracts original bytecode and manifest files.  ... 
arXiv:2005.11527v1 fatcat:xd2ytszspvdu7nrwpdikw4ng3q

Understanding and detecting wake lock misuses for Android applications

Yepang Liu, Chang Xu, Shing-Chi Cheung, Valerio Terragni
2016 Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering - FSE 2016  
However, little is known on how wake locks are used in real-world Android apps and the impact of their misuses.  ...  Wake locks are widely used in Android apps to protect critical computations from being disrupted by device sleeping. Inappropriate use of wake locks often seriously impacts user experience.  ...  Due to such reasons, Relda may fail to detect wake lock misuses in real-world Android apps. Energy efficiency analysis. Detecting wake lock misuses can help improve energy efficiency of Android apps.  ... 
doi:10.1145/2950290.2950297 dblp:conf/sigsoft/LiuXCT16 fatcat:kbl5abz3yvc43iresinphuaqim

An adaptable model for teaching mobile app development

Andrey Esakia, D. Scott McCrickard
2016 2016 IEEE Frontiers in Education Conference (FIE)  
The model identifies three core areas of importance to computer science education: asynchronous programming, model view controller, and platform underpinnings.  ...  As mobile software development becomes more mainstream, universities recognize a need to integrate mobile platform programming into the curriculum.  ...  We view asynchronous programming as a core area in our model due to its importance to many topics.  ... 
doi:10.1109/fie.2016.7757478 dblp:conf/fie/EsakiaM16 fatcat:ukc6r45ysfcy7j6o7jyqjru424

Safe stream-based programming with refinement types

Benno Stein, Lazaro Clapp, Manu Sridharan, Bor-Yuh Evan Chang
2018 Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering - ASE 2018  
Stream-based programming is exploding in popularity, as it provides a powerful and expressive paradigm for handling asynchronous data sources in interactive software.  ...  We implement the system as an annotation-based Java typechecker for Android programs built upon the popular ReactiveX framework and evaluate its efficacy by annotating and analyzing 8 open-source apps,  ...  This material is based on research sponsored in part by the National Science Foundation under grant number CCF-1055066 and by DARPA under agreement number FA8750-14-2-0263. The U.S.  ... 
doi:10.1145/3238147.3238174 dblp:conf/kbse/SteinCSC18 fatcat:t2npufdwlvgbzhnkhcjoncjdoy

Concurrency-related Flaky Test Detection in Android apps [article]

Zhen Dong, Abhishek Tiwari, Xiao Liang Yu, Abhik Roychoudhury
2021 arXiv   pre-print
We also create a suite of subject programs called DroidFlaker to study flaky tests in Android apps. Our experiments on subject-suite DroidFlaker demonstrate the efficacy of our flaky test detection.  ...  Validation of Android apps via testing is difficult owing to the presence of flaky tests.  ...  [14] proposed a hybrid approach towards manifesting asynchronous bugs in Android apps. They studied 2097 apps and identified three async programming rules implied by the single-GUI-thread model.  ... 
arXiv:2005.10762v3 fatcat:o2hlzzg6zrcofjmgfttgfxkgoa

Enabling mutation testing for Android apps

Mario Linares-Vásquez, Gabriele Bavota, Michele Tufano, Kevin Moran, Massimiliano Di Penta, Christopher Vendome, Carlos Bernal-Cárdenas, Denys Poshyvanyk
2017 Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering - ESEC/FSE 2017  
The taxonomy and the proposed operators have been evaluated in terms of stillborn/trivial mutants generated and their capacity to represent real faults in Android apps, as compared to other well know mutation  ...  Then, we identified a set of 38 mutation operators, and implemented an infrastructure to automatically seed mutations in Android apps with 35 of the identified operators.  ...  path in manifest [1] Missing activity definition in manifest [2] Bad practices [11] API misuse (improper call activity methods) [1] Errors implementing Activity lifecycle [6] Invalid context used  ... 
doi:10.1145/3106237.3106275 dblp:conf/sigsoft/VasquezBTMPVBP17 fatcat:lfupevo6ufanvf7w2z3vnsmfwq

CHEX

Long Lu, Zhichun Li, Zhenyu Wu, Wenke Lee, Guofei Jiang
2012 Proceedings of the 2012 ACM conference on Computer and communications security - CCS '12  
the asynchronous executions of multiple entry points in an app.  ...  In this paper, we study a general category of vulnerabilities found in Android apps, namely the component hijacking vulnerabilities.  ...  Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation, the Department  ... 
doi:10.1145/2382196.2382223 dblp:conf/ccs/LuLWLJ12 fatcat:az36lu4pgvborhh5pmdj54argu

Software engineering techniques for statically analyzing mobile apps: research trends, characteristics, and potential for industrial adoption

Marco Autili, Ivano Malavolta, Alexander Perucci, Gian Luca Scoccia, Roberto Verdecchia
2021 Journal of Internet Services and Applications  
AbstractMobile platforms are rapidly and continuously changing, with support for new sensors, APIs, and programming abstractions.  ...  static analysis of mobile apps.  ...  methods and techniques of mobile apps Authors' contributions The authors equally contributed to the elaboration of this survey.  ... 
doi:10.1186/s13174-021-00134-x fatcat:mlzjbkdi7fhezisn3tcv7wzlbi

Automatically verifying and reproducing event-based races in Android apps

Yongjian Hu, Iulian Neamtiu, Arash Alavi
2016 Proceedings of the 25th International Symposium on Software Testing and Analysis - ISSTA 2016  
Concurrency has been a perpetual problem in Android apps, mainly due to event-based races.  ...  Experiments on 16 apps indicate that only 3% of the races reported by race detectors are harmful, and that ERVA can verify an app in 20 minutes on average.  ...  The views and conclusions contained in this document are those of the authors and should not be interpreted as representing the official policies, either expressed or implied, of the Army Research Laboratory  ... 
doi:10.1145/2931037.2931069 dblp:conf/issta/HuNA16 fatcat:4rhyzwnvmfganiheik2iguo4li

NChecker

Xinxin Jin, Peng Huang, Tianyin Xu, Yuanyuan Zhou
2016 Proceedings of the Eleventh European Conference on Computer Systems - EuroSys '16  
As revealed in this paper, many mobile app developers fail to handle these intermittent network conditions in the mobile network programming.  ...  Consequently, network programming defects (NPDs) are pervasive in mobile apps, causing bad user experiences such as crashes, data loss, etc.  ...  This work mainly focus on NPDs in Android apps because of the availability of open-sourced Android apps.  ... 
doi:10.1145/2901318.2901353 dblp:conf/eurosys/JinHXZ16 fatcat:eosa334zhbdj3evikmignqxdmm

Open data kit sensors

Waylon Brunette, Rita Sodt, Rohit Chaudhri, Mayank Goel, Michael Falcone, Jaylen Van Orden, Gaetano Borriello
2012 Proceedings of the 10th international conference on Mobile systems, applications, and services - MobiSys '12  
This paper presents a framework to simplify the interface between a variety of external sensors and consumer Android devices.  ...  We explore these tradeoffs in the context of four sensing applications designed to support our work in the developing world.  ...  The material in this paper is based upon work supported by NSF Research Grant No. IIS-1111433 and a NSF Graduate Research Fellowship under Grant No. DGE-0718124.  ... 
doi:10.1145/2307636.2307669 dblp:conf/mobisys/BrunetteSCGFVB12 fatcat:47lbyhsuevbrvjnrxsjmyomn7e

Lifestate: Event-Driven Protocols and Callback Control Flow

Shawn Meier, Sergio Mover, Bor-Yuh Evan Chang, Michael Wagner
2019 European Conference on Object-Oriented Programming  
To create apps that behave as expected, developers must follow complex and often implicit asynchronous programming protocols.  ...  What makes automated reasoning hard in this domain is largely what makes programming apps against such frameworks hard: the specification of the protocol is unclear, and the control flow is complex, asynchronous  ...  actual Android protocols.  ... 
doi:10.4230/lipics.ecoop.2019.1 dblp:conf/ecoop/MeierMC19 fatcat:2slay4nqxfbtdnl7duojl6dgzy

Static analysis of android apps: A systematic literature review

Li Li, Tegawendé F. Bissyandé, Mike Papadakis, Siegfried Rasthofer, Alexandre Bartel, Damien Octeau, Jacques Klein, Le Traon
2017 Information and Software Technology  
The literature thus has proposed a large body of works, each of which attempts to tackle one or more of the several challenges that program analysers face when dealing with Android apps.  ...  Static analysis approaches have been proposed for different tasks, including for assessing the security of Android apps, detecting app clones, automating test cases generation, or for uncovering non-functional  ...  The authors would like to thank the anonymous reviewers for their helpful comments and suggestions, as well as all the authors of static Android analysis who have provided useful feedback to the initial  ... 
doi:10.1016/j.infsof.2017.04.001 fatcat:h2hsjhfr6zfsrghj5yac3cnwte
« Previous Showing results 1 — 15 out of 507 results