-
Notifications
You must be signed in to change notification settings - Fork 103
Dynamosa Algorithm #1399
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Dynamosa Algorithm #1399
Changes from all commits
684a8f5
26aa643
18b4f1e
580b45a
550f4ba
1a14ed9
1e7634c
9477a69
0782b66
d29d515
755bd48
83149d3
300ba05
e74328f
9f184af
7f63038
38b68f8
a44bc04
31f7fb8
2484d00
788af33
d509a3d
f725bf9
b539721
6f8ebeb
cbb9af3
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| package org.evomaster.client.java.controller.api.dto; | ||
|
|
||
| import java.io.Serializable; | ||
|
|
||
| /** | ||
| * Descriptor and numeric id for a branch objective (true or false outcome). | ||
| */ | ||
| public class BranchObjectiveDto implements Serializable { | ||
|
|
||
| public int id; | ||
| public String descriptiveId; | ||
| } | ||
|
|
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,20 @@ | ||
| package org.evomaster.client.java.controller.api.dto; | ||
|
|
||
| import java.io.Serializable; | ||
| import java.util.ArrayList; | ||
| import java.util.List; | ||
|
|
||
| /** | ||
| * Serializable representation of the control-dependence information of a method. | ||
| * Contains only the data needed by EvoMaster core: branch objective identifiers, | ||
| * the subset that are roots, and the parent-child relationships between them. | ||
| */ | ||
| public class ControlDependenceGraphDto implements Serializable { | ||
|
|
||
| public String className; | ||
| public String methodName; | ||
| public List<BranchObjectiveDto> objectives = new ArrayList<>(); | ||
| public List<Integer> rootObjectiveIds = new ArrayList<>(); | ||
| public List<DependencyEdgeDto> edges = new ArrayList<>(); | ||
| } | ||
|
|
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| package org.evomaster.client.java.controller.api.dto; | ||
|
|
||
| import java.io.Serializable; | ||
|
|
||
| /** | ||
| * Directed edge describing that parentObjectiveId must be covered before childObjectiveId. | ||
| */ | ||
| public class DependencyEdgeDto implements Serializable { | ||
|
|
||
| public int parentObjectiveId; | ||
| public int childObjectiveId; | ||
| } | ||
|
|
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -26,6 +26,10 @@ | |
| <groupId>org.evomaster</groupId> | ||
| <artifactId>evomaster-client-java-instrumentation-shared</artifactId> | ||
| </dependency> | ||
| <dependency> | ||
| <groupId>org.evomaster</groupId> | ||
| <artifactId>evomaster-client-java-controller-api</artifactId> | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. is this new dependency necessary? why?
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes! The instrumentation module uses DTOs from controller-api to exchange control dependence graph information with the controller. Specifically: These DTOs are used in GraphPool.buildControlDependenceDto() (lines 344-418) to build the graph representation that gets exported to the controller |
||
| </dependency> | ||
| <dependency> | ||
| <groupId>org.ow2.asm</groupId> | ||
| <artifactId>asm</artifactId> | ||
|
|
@@ -181,7 +185,6 @@ | |
| <dependency> | ||
| <groupId>com.google.guava</groupId> | ||
| <artifactId>guava</artifactId> | ||
| <scope>test</scope> | ||
| </dependency> | ||
| <dependency> | ||
| <groupId>org.mongodb</groupId> | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is this only for debugging purposes? if so, clarify it in the comment. also, i guess this would not work when running expeirments in parallel, as all will overwrite same file?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, only for debugging porpuses.
Probably won't work when running experiments in parallel you are right.