Enabling Api Virtualization On Android For Platform Openness

This forenoon I was at Taeyeon Ki's dissertation proposal. He presented his piece of work on enabling openness (hackability/tinkerability) inwards Android platform-side.

He defined openness every bit existence able to participate inwards conception together with distribution, together with gave SDN together with FUSE are examples of openness.

He argued that mobile vendors command their platforms tightly, together with this prevents tinkering the platform together with obstructs innovation. Even though yous tin nowadays at the app side, the OS/platform side is shut for tinkering. He posed the question: how tin nosotros enable anyone to easily prepare distribute novel platform-level functionality?

To respond this question, he presented his piece of work inwards 2 projects: Reptor together with Mimic.

Reptor

Reptor is a bytecode instrumentation tool enabling api virtualization on Android. Reptor does this yesteryear intercepting calls together with redirecting them to a novel implementation of the method called.

Intersecting calls to methods is non straightforward. Doing merely method cite exchange cannot create got calls to course of report flat features: course of report hierarchy, interface, abstract class, etc. So instead of replacing the method, the Reptor tool replaces entire class. Class flat replacement approach plant good amongst callbacks inwards Android every bit it ensures that typecasting is correctly handled.

One occupation instance for Reptor is to modify roughly platform-level components used inwards an app amongst a to a greater extent than suitable ane depending on the region. PRC together with Korea produce non convey Google Play store, they run their ain app-stores for Android. So inwards PRC together with Korea Google Maps (which is an integral element of Play Store) is non available. Apps in that location occupation a downgraded static spider web map mostly. But amongst Reptor, it is possible to roll those applications together with redirect the maps calls to Amazon map. Taeyeon showed a demo of this on the Airbnb app.

Reptor has been dummy-tested amongst 1200 pop apps from Google Play. It has been tested for 32 benchmarked apps amongst to a greater extent than inwards depth tests, where runtime checks performed. For this in-depth tests for showing runtime equivalence the Mimic tool described below has been used. The tests showed that Reptor achieves minimal overhead inwards memory, together with performance.

While run-time testing via Mimic is helpful for checking if Reptor exchange at the application of ane platform-component amongst roughly other is "correct" amongst honor to the platform-level classes, improve Definition of "correctness" together with improve framing/formalization of the job volition handle this work.

Mimic

Mimic is an automated UI demeanour comparing testing organization that provides runtime behavioral compatibility depository fiscal establishment lucifer betwixt master copy together with instrumented app. (I recollect this is nether submission or to seem state.)

When I heard this description, I combined this together with Reptor together inwards my mind, together with all I could recollect of was that the combination tin survive swell for automating click farms for smartphone apps!

Taeyeon had something to a greater extent than useful together with honest inwards mind. There are a dozen unlike android versions inwards use. A typical app posts several updates a calendar month together with the  developers scrap to bear witness their apps amongst all these unlike environments. Mimic combined amongst Reptor tin handle perform these tests inwards an automated way? (Well, withal sounds a lot similar click farm to me :-)

Taeyon explained their follow-the-leader testing model, where Mimic replicates the user demeanour at the leader to the followers.

0 Response to "Enabling Api Virtualization On Android For Platform Openness"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel