Slides of my presentation at the NIER track of the 41th International Conference on Software Engineering (ICSE 2019).
The paper is available here: http://www.ivanomalavolta.com/files/papers/ICSE_2019_NAPPA.pdf
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
Navigation-aware and Personalized Prefetching of Network Requests in Android Apps [ICSE 2019 NIER track]
1. Navigation-aware and Personalized
Prefetching of Network Requests in
Android Apps
Ivano Malavolta, Vrije Universiteit Amsterdam
Francesco Nocera, Polytechnic University of Bari
Patricia Lago, Vrije Universiteit Amsterdam
Marina Mongiello, Polytechnic University of Bari
2. Network prefetching
2
▣ Most apps interact with backend services
via HTTP-based RESTful interactions
▣ à ~800 ms of latency before showing the
actual data for each request
▣ PREFETCHING = loading data before it is
required to decrease the user-perceived
waiting time
Backend
4. NAPPA
4
Navigation-
Aware
Personalized
Prefetching of
Android apps
Main characteristics
□ Android activities as black boxes
■ Lightweight
■ High level of abstraction
□ Prefetching algorithm-independent
□ Adapts to each user navigation patterns
□ The ENG is built at run-time
■ Reflection
■ Multi-threading
■ ...
https://api.sn.com/media/ □ / □
https://api.sn.com/media/ □ / □
https://api.sn.com/group/ □
https://api.sn.com/ □ /info
https://api.sn.com/ □ /info
https://api.sn.com/ /friends
Home
Profile
Friends
24
au53defguId
Extras
Group
Page
Media
3
10 15
Backend
AdditionalInfo
5
2
uId
5. NAPPA at development time
5
Original
app
Extract
activities
Inject navigation
probes
Inject extra
probes
ENG
instrumentation
Instantiate
network
interceptor
7. What’s next?
7
▣ Empirical evaluation
▣ Different prefetching algorithms
□ Greedy algorithm à ENG as a Markov chain?
▣ Detecting dynamic URL fragments beyond intent extras
□ URL fragments emerging from user input, local DBs, shared preferences,
etc.
□ Dynamic taint analysis?
▣ Extend the current prototype
□ https://github.com/S2-group/NAPPA
DATASET OF REAL
USAGE SCENARIOS
NEEDED!