이 아티팩트는 논문 용입니다.

팩스는 Android 애플리케이션을 테스트하기위한 다중 입학 테스트 도구로, 앱에 대한 컨텍스트를 시작하고 다중 엔트리 테스트 프레임 워크를 제안합니다.
종이 PDF는 https://hanada31.github.io/pdf/icse20_fax.pdf에서 찾을 수 있습니다
@InProceedings{jiwei:icse:2020,
author = {Jiwei Yan and Hao Liu and Linjie Pan and Jun Yan and Jian Zhang and Bin Liang},
title = {Multiple-Entry Testing of Android Applications by Constructing Activity Launching Contexts},
booktitle = {Proceedings of the 42nd International Conference on Software Engineering},
series = {ICSE '20},
year = {2020},
pages={457-468}}
Java 1.8을 설치하십시오
Ant 1.9.16을 설치하십시오
Python 2.7을 설치하십시오
팩스에는 Z3/Java API의 동적 링크 라이브러리뿐만 아니라 Z3 동적 링크 라이브러리가 필요합니다.
Android 환경 (Android SDK 설치 정보, https://developer.android.com/) 준비, Android SDK 도구 버전은 25.2.3보다 낮아야합니다.
"Java -version", "Python", "Ant -Version", "Android Create Project"를 실행하여 이러한 도구가 성공적으로 구성되어 있는지 확인하십시오.
안드로이드 장치 또는 에뮬레이터를 준비하고 컴퓨터에 연결하십시오. 설정 항목 "개발자 모드"를 켜고 "USB 디버깅"을 허용하십시오.
프로젝트를 컴퓨터로 복제하십시오.
빠른 시작하려면 runfax.sh 또는 runfax.bat를 실행할 수 있습니다
*fax_ex의 탐색 시간을 수정하려면 faxtool script run.py 파일에서 Variable Exploration_time을 업데이트하십시오.
우리 논문에서 탐사 시간은 1 시간 (3600)입니다. 빠른 유효성 검사를 원한다면 팩스 (60)에서 기본값을 사용하십시오.
Preprocess는 [APK_INPUT_DIR]에 따라 APK를 테스트하고 [APK_OUTPUT_DIR]에서 결과를 얻습니다.
Python script/prerocess.py [apk_input_dir] [apk_output_dir]
예 : Python Script/Prerocess.py APK APK_PROCESSED
그런 다음 활동이 노출되고 앱이 계측 된 다음 장치에 설치됩니다.
로그인 필수 앱의 경우 설치 후 먼저 로그인하여 탐색 범위를 개선 할 수 있습니다.
테스트 생성 Python Script/GenerateTestcases.py lib/fax0108.jar [apk_input_dir] [testcase_dir] [execute_info_dir] [max_number_of_path]
예를 들어, Python Script/GenerateTestcases.py lib/fax0108.jar apk result_testgen executeInfo 10000
폴더에서 결과를 얻습니다 [testcase_dir].
팩스 시작 테스트 Python Script/LaunchActs.py [testcase_dir] [런치 _dir]
예 : Python Script/LaunchActs.py result_testgen result_launch
폴더에서 결과를 가져옵니다 [launch_dir].
Python Script/FindCrashes.py [testcase_dir] [런치 _dir] 팩스 시작 충돌 감지
예 : Python Script/FindCrashes.py result_testgen result_launch
팩스 탐색 테스트 Python Script/Fairandroidexploer.py [unker_dir] [Explore_dir] [testcase_dir] [apk_output_dir] [ea/all]
EA를 탐사 항목으로 설정하려면 EA를 설정하십시오.
모든 활동을 탐색 항목으로 설정하려면 모든 것을 설정하십시오.
예를 들어, Python Script/FairandroidexPloer.py result_launch result_explore result_testgen apk_proceded all
폴더 [Explore_dir]에서 결과를 얻으십시오.
팩스 탐색에 대한 충돌 감지 Python Script/FindCrashes.py [testcase_dir] [Explore_dir]
예 : Python Script/FindCrashes.py result_testgen result_explore
커버리지 결과 Python Script/CollectLogcat.py [TestCase_Dir] [Explore_Dir] [APK_OUTPUT_DIR]
예를 들어, Python Script/CollectLogcat.py result_testgen result_explore apk_processed