Record 202303
========= Modules =========
Main: command line options, start client
Client: analysis, generateTestSuite, attach, submit, close
========= Analyzer =========
classes => ANALYZER => Jimple
- prepareTarget(targetMethodSignature, classesToAnalyze) 1.1 setupSoot(): SootMethod 1.2 runSoot()
- // Use Jimple to do something...
========= Output =========
[Test worker] INFO org.kotsuite.ga.coverage.ReportGenerator - Coverage of class: com/example/myapplication/Example----------------- [Test worker] INFO org.kotsuite.ga.coverage.ReportGenerator - instructions: 13/17, 0.76 [Test worker] INFO org.kotsuite.ga.coverage.ReportGenerator - branches: ½, 0.50 [Test worker] INFO org.kotsuite.ga.coverage.ReportGenerator - lines: ⅘, 0.80
========= Idea =========
- 专门设置一个主类用于调用测试用例
- 主类和测试类不打包进jar,而是使用
java -cp ...进行调用 将array和string 放到builtintype中
========= Problem =========
- jasmin如何转换成Kotlin代码
- AndroidTest有什么难点
- 有无比较好的Android项目用于测试,其中有比较好的测试用例集用于参考
========= Android =========
Dalvik bytecode (.dex) ART bytecode (.dex) : Android Runtime VM, an improved version of Dalvik Java bytecode (.class) Jasmin (.j)
Java --java compiler→ Java bytecode --dx→ Dalvik bytecode
========= Improvement =========
参数类型为refType时,应当在RandomStrategy中递归生成action,而不是在JimpleGeneratorVisitor中处理
生成的local和stmt要统一来处理,以保证先后顺序
========= TODO =========