Loading .gitignore +1 −0 Original line number Diff line number Diff line Loading @@ -3,3 +3,4 @@ target/ out/ .settings .attach* src/main/java/tfm/graphs/Graph.java +1 −1 Original line number Diff line number Diff line Loading @@ -6,7 +6,7 @@ import org.jgrapht.graph.DirectedPseudograph; import org.jgrapht.io.DOTExporter; import tfm.arcs.Arc; import tfm.nodes.GraphNode; import tfm.nodes.factories.NodeFactory; import tfm.nodes.NodeFactory; import tfm.utils.ASTUtils; import java.util.*; Loading src/main/java/tfm/graphs/GraphWithRootNode.java +1 −1 Original line number Diff line number Diff line Loading @@ -4,7 +4,7 @@ import com.github.javaparser.ast.Node; import com.github.javaparser.ast.body.MethodDeclaration; import org.jetbrains.annotations.NotNull; import tfm.nodes.GraphNode; import tfm.nodes.factories.NodeFactory; import tfm.nodes.NodeFactory; import java.util.Objects; import java.util.Optional; Loading src/main/java/tfm/graphs/augmented/ACFGBuilder.java +3 −2 Original line number Diff line number Diff line Loading @@ -8,7 +8,8 @@ import com.github.javaparser.ast.stmt.*; import com.github.javaparser.ast.visitor.VoidVisitor; import tfm.graphs.cfg.CFGBuilder; import tfm.nodes.GraphNode; import tfm.nodes.factories.MethodNodeFactory; import tfm.nodes.TypeNodeFactory; import tfm.nodes.type.NodeType; import tfm.utils.ASTUtils; import java.util.LinkedList; Loading Loading @@ -238,7 +239,7 @@ public class ACFGBuilder extends CFGBuilder { if (!methodDeclaration.getBody().isPresent()) throw new IllegalStateException("The method must have a body!"); graph.buildRootNode("ENTER " + methodDeclaration.getNameAsString(), methodDeclaration, new MethodNodeFactory()); graph.buildRootNode("ENTER " + methodDeclaration.getNameAsString(), methodDeclaration, TypeNodeFactory.fromType(NodeType.METHOD)); hangingNodes.add(graph.getRootNode().get()); methodDeclaration.getBody().get().accept(this, arg); Loading src/main/java/tfm/graphs/cfg/CFGBuilder.java +6 −6 Original line number Diff line number Diff line Loading @@ -9,9 +9,9 @@ import com.github.javaparser.ast.stmt.*; import com.github.javaparser.ast.visitor.VoidVisitor; import com.github.javaparser.ast.visitor.VoidVisitorAdapter; import tfm.nodes.GraphNode; import tfm.nodes.factories.InVariableNodeFactory; import tfm.nodes.factories.MethodNodeFactory; import tfm.nodes.factories.OutVariableNodeFactory; import tfm.nodes.NodeFactory; import tfm.nodes.TypeNodeFactory; import tfm.nodes.type.NodeType; import tfm.utils.ASTUtils; import java.util.*; Loading Loading @@ -291,7 +291,7 @@ public class CFGBuilder extends VoidVisitorAdapter<Void> { if (!methodDeclaration.getBody().isPresent()) throw new IllegalStateException("The method must have a body!"); graph.buildRootNode("ENTER " + methodDeclaration.getNameAsString(), methodDeclaration, new MethodNodeFactory()); graph.buildRootNode("ENTER " + methodDeclaration.getNameAsString(), methodDeclaration, TypeNodeFactory.fromType(NodeType.METHOD)); // Compute variable in and out expressions (necessary to compute data dependence in SDG) List<ExpressionStmt> inVariableExpressions = new ArrayList<>(); Loading Loading @@ -329,7 +329,7 @@ public class CFGBuilder extends VoidVisitorAdapter<Void> { // Add in variable nodes for (ExpressionStmt expressionStmt : inVariableExpressions) { GraphNode<ExpressionStmt> node = this.graph.addNode(expressionStmt.toString(), expressionStmt, new InVariableNodeFactory()); GraphNode<ExpressionStmt> node = this.graph.addNode(expressionStmt.toString(), expressionStmt, TypeNodeFactory.fromType(NodeType.VARIABLE_IN)); connectTo(node); } Loading @@ -339,7 +339,7 @@ public class CFGBuilder extends VoidVisitorAdapter<Void> { // Add out variable nodes for (ExpressionStmt expressionStmt : outVariableExpressions) { GraphNode<ExpressionStmt> node = this.graph.addNode(expressionStmt.toString(), expressionStmt, new OutVariableNodeFactory()); GraphNode<ExpressionStmt> node = this.graph.addNode(expressionStmt.toString(), expressionStmt, TypeNodeFactory.fromType(NodeType.VARIABLE_OUT)); connectTo(node); } Loading Loading
.gitignore +1 −0 Original line number Diff line number Diff line Loading @@ -3,3 +3,4 @@ target/ out/ .settings .attach*
src/main/java/tfm/graphs/Graph.java +1 −1 Original line number Diff line number Diff line Loading @@ -6,7 +6,7 @@ import org.jgrapht.graph.DirectedPseudograph; import org.jgrapht.io.DOTExporter; import tfm.arcs.Arc; import tfm.nodes.GraphNode; import tfm.nodes.factories.NodeFactory; import tfm.nodes.NodeFactory; import tfm.utils.ASTUtils; import java.util.*; Loading
src/main/java/tfm/graphs/GraphWithRootNode.java +1 −1 Original line number Diff line number Diff line Loading @@ -4,7 +4,7 @@ import com.github.javaparser.ast.Node; import com.github.javaparser.ast.body.MethodDeclaration; import org.jetbrains.annotations.NotNull; import tfm.nodes.GraphNode; import tfm.nodes.factories.NodeFactory; import tfm.nodes.NodeFactory; import java.util.Objects; import java.util.Optional; Loading
src/main/java/tfm/graphs/augmented/ACFGBuilder.java +3 −2 Original line number Diff line number Diff line Loading @@ -8,7 +8,8 @@ import com.github.javaparser.ast.stmt.*; import com.github.javaparser.ast.visitor.VoidVisitor; import tfm.graphs.cfg.CFGBuilder; import tfm.nodes.GraphNode; import tfm.nodes.factories.MethodNodeFactory; import tfm.nodes.TypeNodeFactory; import tfm.nodes.type.NodeType; import tfm.utils.ASTUtils; import java.util.LinkedList; Loading Loading @@ -238,7 +239,7 @@ public class ACFGBuilder extends CFGBuilder { if (!methodDeclaration.getBody().isPresent()) throw new IllegalStateException("The method must have a body!"); graph.buildRootNode("ENTER " + methodDeclaration.getNameAsString(), methodDeclaration, new MethodNodeFactory()); graph.buildRootNode("ENTER " + methodDeclaration.getNameAsString(), methodDeclaration, TypeNodeFactory.fromType(NodeType.METHOD)); hangingNodes.add(graph.getRootNode().get()); methodDeclaration.getBody().get().accept(this, arg); Loading
src/main/java/tfm/graphs/cfg/CFGBuilder.java +6 −6 Original line number Diff line number Diff line Loading @@ -9,9 +9,9 @@ import com.github.javaparser.ast.stmt.*; import com.github.javaparser.ast.visitor.VoidVisitor; import com.github.javaparser.ast.visitor.VoidVisitorAdapter; import tfm.nodes.GraphNode; import tfm.nodes.factories.InVariableNodeFactory; import tfm.nodes.factories.MethodNodeFactory; import tfm.nodes.factories.OutVariableNodeFactory; import tfm.nodes.NodeFactory; import tfm.nodes.TypeNodeFactory; import tfm.nodes.type.NodeType; import tfm.utils.ASTUtils; import java.util.*; Loading Loading @@ -291,7 +291,7 @@ public class CFGBuilder extends VoidVisitorAdapter<Void> { if (!methodDeclaration.getBody().isPresent()) throw new IllegalStateException("The method must have a body!"); graph.buildRootNode("ENTER " + methodDeclaration.getNameAsString(), methodDeclaration, new MethodNodeFactory()); graph.buildRootNode("ENTER " + methodDeclaration.getNameAsString(), methodDeclaration, TypeNodeFactory.fromType(NodeType.METHOD)); // Compute variable in and out expressions (necessary to compute data dependence in SDG) List<ExpressionStmt> inVariableExpressions = new ArrayList<>(); Loading Loading @@ -329,7 +329,7 @@ public class CFGBuilder extends VoidVisitorAdapter<Void> { // Add in variable nodes for (ExpressionStmt expressionStmt : inVariableExpressions) { GraphNode<ExpressionStmt> node = this.graph.addNode(expressionStmt.toString(), expressionStmt, new InVariableNodeFactory()); GraphNode<ExpressionStmt> node = this.graph.addNode(expressionStmt.toString(), expressionStmt, TypeNodeFactory.fromType(NodeType.VARIABLE_IN)); connectTo(node); } Loading @@ -339,7 +339,7 @@ public class CFGBuilder extends VoidVisitorAdapter<Void> { // Add out variable nodes for (ExpressionStmt expressionStmt : outVariableExpressions) { GraphNode<ExpressionStmt> node = this.graph.addNode(expressionStmt.toString(), expressionStmt, new OutVariableNodeFactory()); GraphNode<ExpressionStmt> node = this.graph.addNode(expressionStmt.toString(), expressionStmt, TypeNodeFactory.fromType(NodeType.VARIABLE_OUT)); connectTo(node); } Loading