Design of ABCA - Code Shoppy

Android Project Center Kumbakonam - Code Shoppy

Design of ABCA 

Android Project Center Kumbakonam - Code Shoppy



ABCA-instrumentor (ABCAI)

ABCAI runs with Soot1[2] which is capable of converting Java bytecode to an intermediate representation called a Jimple program. A Jimple program roughly corresponds the original Java source program in control and invocation structures. In the instrumentation stage, ABCAI uses Soot for the following tasks. After that, ABCAI uses Soot to convert the instrumented Jimple program back to an instrumented APK bytecode and saves it in the PC.

Statement coverage We employed a Soot method: getJavaSourceStartLineNumber() that returns the Java source code line number of each Jimple statement. With this method, we have precise knowledge of the set of statement lines in the Java source code. Statement coverage is then reported as the percentage of executed statement lines in this set. https://codeshoppy.com/project-center-kumbakonam.html Then ABCAI inserts a Jimple statement, for dumping statement coverage data, following each original Jimple statement in the root package since intuitively the classes outside the root package represent libraries or third-party modules not implemented by the app developers.

There is an attribute to each Jimple statement telling whether this statement belongs to the root package. Method coverage This is pretty much like what we do for statement coverage except that we only count those Jimple statements that are the destination of a method invocation Jimple statement. We also insert a statement to each such destination Jimple statement so that we know if the corresponding method has been executed or not in test execution. Class coverage Once we have data for method coverage, then ABCA uses the data to derive class coverage since the relation between classes and their methods can be queried from Soot.

ABCA-reporter (ABCAR)

To use ABCAR, a test engineer provides the instrumented APK file in the PC as a parameter. The user can also provide an optional coverage data file produced by ABCAR in a previous test session. If the APK has not been installed to the Android device, ABCAR can help us installing the APK. Then ABCAR starts the APK to collect and accumulate coverage data by repetitively sending “adb pull" commands to the device. When the user is done with a test session, ABCAR generates a new coverage report that shows the percentage of covered lines, methods, and classes in the original Java source program.



Comments

Popular posts from this blog

WIDE REACH Scrap Processors - RK Scrap Buyers Chennai

IELTS in Detail

Arudhra Innovations - Thrifty textbook shopping & Other Apps - Project Center in Kumbakonam