Rhapsod / sapienz

A Prototype of Sapienz (Out-of-date and no longer supported)
81 stars 49 forks source link

Sapienz Prototype (Out-of-date)

Sapienz: Multi-objective Automated Testing for Android Applications

This is a prototype of the Sapienz approach for multi-objective automated testing for Android applications. Please note that this repository is no longer maintained.

Publication:

@InProceedings{mao:sapienz:16,
    author = "Ke Mao and Mark Harman and Yue Jia",
    title = "Sapienz: Multi-objective Automated Testing for {Android} Applications",
    booktitle = "Proc. of ISSTA'16",
    year = "2016", 
    pages = {94--105}
} 

Installation

Simply download the artefact here and apply the following environment configuration:

Environment Configration

Install Python dependencies:

sudo pip install -r requirements.txt

Usage

python main.py <apk_path | source_folder_path>

where apk_path is path to the subject apk under test
or you can specify source_folder_path for the subject app with source code

Subject Requirement:

Settings

Output

Output content:

/coverages - Coverage reports are stored here

/crashes - Crash reports and corresponding test cases that lead to the crashes 
(and also recorded videos files when using real devices)

/intermediate - Generated test event sequences for each generation; logbook of the genetic evolution; 
and line charts showing the variation trend for each objectives.

Notes

Contact

dreamict@gmail.com