Commit 2a71e019 authored by Carlos Galindo's avatar Carlos Galindo
Browse files

README, LICENSE and import optimization

parent df37869c
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ e-Knife for Java, a program slicer based on Expression Dependence Graphs.
  ~ Copyright (c) 2023. David Insa, Sergio Pérez, Josep Silva, Salvador Tamarit.
  ~
  ~ This program is free software: you can redistribute it and/or modify it under
  ~ the terms of the GNU Affero General Public License as published by the Free
  ~ Software Foundation, either version 3 of the License, or (at your option)
  ~ any later version.
  ~
  ~ This program is distributed in the hope that it will be useful, but WITHOUT
  ~ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  ~ or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Affero General
  ~ Public License for more details.
  ~
  ~ You should have received a copy of the GNU Affero General Public License
  ~ along with this program.  If not, see <https://www.gnu.org/licenses/>.
  -->

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+22 −8
Original line number Diff line number Diff line
/*
 * e-Knife for Java, a program slicer based on Expression Dependence Graphs.
 * Copyright (c) 2023. David Insa, Sergio Pérez, Josep Silva, Salvador Tamarit.
 *
 * This program is free software: you can redistribute it and/or modify it under
 * the terms of the GNU Affero General Public License as published by the Free
 * Software Foundation, either version 3 of the License, or (at your option)
 * any later version.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Affero General
 * Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <https://www.gnu.org/licenses/>.
 */

package edg;

import edg.edge.EdgeGenerator;
import edg.graph.*;
import edg.traverser.EDGTraverser;

import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;

import edg.edge.EdgeGenerator;
import edg.graph.EDG;
import edg.graph.EdgeInfo;
import edg.graph.Node;
import edg.graph.NodeInfo;
import edg.graph.VariableInfo;
import edg.traverser.EDGTraverser;

// TODO Caracteristicas de los lenguajes: single assignment, orden metodos y atributos, bloque aisla contextos
// TODO Hay que crear las siguientes expresiones: compound pattern
public class ASTBuilder
+23 −5
Original line number Diff line number Diff line
package edg;
/*
 * e-Knife for Java, a program slicer based on Expression Dependence Graphs.
 * Copyright (c) 2023. David Insa, Sergio Pérez, Josep Silva, Salvador Tamarit.
 *
 * This program is free software: you can redistribute it and/or modify it under
 * the terms of the GNU Affero General Public License as published by the Free
 * Software Foundation, either version 3 of the License, or (at your option)
 * any later version.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Affero General
 * Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <https://www.gnu.org/licenses/>.
 */

import java.io.File;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
package edg;

import edg.constraint.EdgeConstraint;
import edg.graph.EDG;
@@ -12,6 +25,11 @@ import edg.graph.EdgeInfo;
import edg.graph.Node;
import misc.Misc;

import java.io.File;
import java.util.Arrays;
import java.util.List;
import java.util.Map;

public class DotFactory
{
	public static void createDot(File outputFile, EDG edg)
+21 −8
Original line number Diff line number Diff line
package edg;

import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Stack;
/*
 * e-Knife for Java, a program slicer based on Expression Dependence Graphs.
 * Copyright (c) 2023. David Insa, Sergio Pérez, Josep Silva, Salvador Tamarit.
 *
 * This program is free software: you can redistribute it and/or modify it under
 * the terms of the GNU Affero General Public License as published by the Free
 * Software Foundation, either version 3 of the License, or (at your option)
 * any later version.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Affero General
 * Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <https://www.gnu.org/licenses/>.
 */

package edg;

import edg.ASTBuilder.Where;
import edg.graph.EDG;
import edg.graph.NodeInfo;
import edg.graph.Node;
import edg.graph.NodeInfo;
import edg.traverser.EDGTraverser;

import java.util.*;

public abstract class EDGFactory
{
	private EDG edg;
+21 −10
Original line number Diff line number Diff line
package edg;
/*
 * e-Knife for Java, a program slicer based on Expression Dependence Graphs.
 * Copyright (c) 2023. David Insa, Sergio Pérez, Josep Silva, Salvador Tamarit.
 *
 * This program is free software: you can redistribute it and/or modify it under
 * the terms of the GNU Affero General Public License as published by the Free
 * Software Foundation, either version 3 of the License, or (at your option)
 * any later version.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Affero General
 * Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <https://www.gnu.org/licenses/>.
 */

import java.util.List;
package edg;

import edg.graph.Node;
import edg.graph.NodeInfo;
import edg.constraint.AccessConstraint;
import edg.constraint.DataConstructorConstraint;
import edg.constraint.EdgeConstraint;
import edg.edge.ControlEdgeGenerator;
import edg.edge.ExceptionEdgeGenerator;
import edg.edge.FlowEdgeGeneratorNew;
import edg.edge.InterproceduralEdgeGeneratorNew;
import edg.edge.SummaryEdgeGeneratorNew;

import edg.graph.EDG;
import edg.graph.Edge;
import edg.graph.EdgeInfo;
import edg.graph.*;
import edg.traverser.EDGTraverser;
import edg.traverser.EDGTraverserNew;
import edg.graph.LAST;

import java.util.List;

public class EDGFactoryNew
{
Loading