STAMP-project / botsing

Botsing is a Java framework for crash reproduction. It depends on EvoSuite (http://www.evosuite.org) for code instrumentation.
https://stamp-project.github.io/botsing
Apache License 2.0
32 stars 17 forks source link

Botsing Behavioral model seeding seems not execute test cases in Atos UC Supersede IF #90

Open jesus-gorronogoitia opened 5 years ago

jesus-gorronogoitia commented 5 years ago

Characteristics

Description

According to @xdevroey Botsing behavioral model generation conducts an static and dynamic analysis of the SUT test suites. Therefore, the dynamic analysis actually executes the SUT test cases. However, when I run Botsing behavioral model generation it seems that only static analysis is executed, because: i) I don't see test execution logs, ii) the overall behavioral model generatation takes less than a minute, while the SUT test execution takes several minutes.

Is this correct? Should dynamic model generation be executed by default or is it disabled?

Steps to reproduce

I am executing Botsing and behavioral model generation within a Docker container that hosts the Botsing libraries and some scripts I've created, plus the SUT (Supersede IF) libraries, source code and compiled sources. First I compute the classpath using this command:

#Compile IF with Maven
mvn clean package -DskipTests
#Copy dependencies
mvn org.apache.maven.plugins:maven-dependency-plugin:copy-dependencies
#Compute IF classpath
for i in ./dependency/*.jar; do echo -n $i":"; done >> results/classpath.txt

Then, I generate the behavioral model with this script: java -d64 -Xmx10000m -jar supersede-if-botsing/botsing-model-generation-1.0.7.jar -project_cp "$(cat results/classpath.txt)" -project_prefix "eu.supersede.integration" -out_dir "results/models" Total model generation execution takes less than a minute. Generate models can be browse in IF GitHub repository: Botsing behavioral model

Other files and URLs

Relationships

Help on issue template

Preview to follow the link or open file .github/ISSUE_DOC.md

pderakhshanfar commented 5 years ago

@jesus-gorronogoitia, Yes, dynamic analysis is enabled by default. In your case, you can see here that there is one carved test suite (eu.supersede.integration.api.pubsub.test.EvolutionAlertMessageListenerTest). However, it seems that the carver could not execute the other test suites. Can you please attach the execution log of the model generator?

jesus-gorronogoitia commented 5 years ago

Hi @pderakhshanfar See model generator logs here

pderakhshanfar commented 5 years ago

The carving process (in EvoSuite) was not successful in executing some test cases. But, there is no error message from EvoSuite. In my opinion, it does not execute because of either security issues or execution timeout. For the latter reason, you can increase the carving timeout by -Dcarving_timeout=<time_in_seconds>. For security issues, we need to debug it.

Additionally, I see from the log that it is generating some models. You can also see if the existing model can help the search process or not.