Record 202303

========= Modules =========

Main: command line options, start client

Client: analysis, generateTestSuite, attach, submit, close

========= Analyzer =========

classes => ANALYZER => Jimple

  1. prepareTarget(targetMethodSignature, classesToAnalyze) 1.1 setupSoot(): SootMethod 1.2 runSoot()
  2. // 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 =========

  1. 专门设置一个主类用于调用测试用例
  2. 主类和测试类不打包进jar,而是使用java -cp ...进行调用 将array和string 放到builtintype中

========= Problem =========

  1. jasmin如何转换成Kotlin代码
  2. AndroidTest有什么难点
  3. 有无比较好的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 =========

https://github.com/evosuite-problematic-tests/test-data