├── .gitattributes ├── .gitignore ├── .scalafmt.conf ├── README.md ├── examples ├── 7x7.tip ├── a1.tip ├── a2.tip ├── a3.tip ├── a4.tip ├── a6.tip ├── a7.tip ├── andersen.tip ├── apply1.tip ├── apply2.tip ├── available.tip ├── block.tip ├── block_decl.tip ├── cfa.tip ├── cfg.tip ├── cmpfunc.tip ├── code.tip ├── comp.tip ├── constants1.tip ├── constants2.tip ├── copyconst.tip ├── div.tip ├── equal.tip ├── err_assignfunc.tip ├── err_cmpfunc.tip ├── err_cmpfunc2.tip ├── err_cmpfunc3.tip ├── err_decl_use.tip ├── err_doubledecl1.tip ├── err_doubledecl2.tip ├── err_funass.tip ├── err_funass2.tip ├── err_func.tip ├── err_locals.tip ├── err_notdecl.tip ├── err_notlocal.tip ├── err_notlocal2.tip ├── err_unify1.tip ├── err_unify2.tip ├── error.tip ├── ex1.tip ├── ex5.tip ├── factorial_iterative.tip ├── factorial_recursive.tip ├── fib.tip ├── foo.tip ├── func.tip ├── if_short_if.tip ├── input1.tip ├── interpreter_test.tip ├── interval0.tip ├── interval1.tip ├── interval2.tip ├── interval3.tip ├── liveness.tip ├── locals.tip ├── loop.tip ├── malloc.tip ├── map.tip ├── mccarthy91.tip ├── mono.tip ├── mono2.tip ├── mpolyrec.tip ├── norm_while.tip ├── normalised.tip ├── nullpointer.tip ├── onelevel.tip ├── parametrized_main.tip ├── parsing.tip ├── pointers.tip ├── poly.tip ├── poly2.tip ├── poly3.tip ├── poly4.tip ├── ptr1.tip ├── ptr2.tip ├── ptr3.tip ├── ptr4.tip ├── ptr5.tip ├── ptr6.tip ├── ptr7.tip ├── reaching.tip ├── rec.tip ├── record1.tip ├── record2.tip ├── record3.tip ├── record4.tip ├── record5.tip ├── record6.tip ├── rectype.tip ├── shape.tip ├── signs.tip ├── signs_fun.tip ├── signs_fun_cfa.tip ├── simple1.tip ├── slicing.tip ├── steensgaard1.tip ├── steensgaard2.tip ├── steensgaard3.tip ├── succ.tip ├── symbolic1.tip ├── symbolic2.tip ├── t1.tip ├── t2.tip ├── testdiv.tip ├── verybusy.tip └── while_short_if.tip ├── ideafiles ├── codeStyles │ ├── Project.xml │ └── codeStyleConfig.xml └── inspectionProfiles │ └── Project_Default.xml ├── project └── plugins.sbt ├── src └── tip │ ├── Tip.scala │ ├── analysis │ ├── Analysis.scala │ ├── AndersenAnalysis.scala │ ├── AvailableExpAnalysis.scala │ ├── CallContext.scala │ ├── ConstantPropagationAnalysis.scala │ ├── ControlFlowAnalysis.scala │ ├── CopyConstantPropagationAnalysis.scala │ ├── DeclarationAnalysis.scala │ ├── Dependencies.scala │ ├── FlowSensitiveAnalysis.scala │ ├── IntervalAnalysis.scala │ ├── LiveVarsAnalysis.scala │ ├── PossiblyUninitializedVarsAnalysis.scala │ ├── SignAnalysis.scala │ ├── SimpleSignAnalysis.scala │ ├── SteensgaardAnalysis.scala │ ├── TaintAnalysis.scala │ ├── TypeAnalysis.scala │ └── ValueAnalysis.scala │ ├── ast │ ├── Ast.scala │ ├── AstNodeData.scala │ ├── AstOps.scala │ ├── AstPrinters.scala │ ├── DepthFirstAstVisitor.scala │ ├── TipNormalizers.scala │ └── TipSublanguages.scala │ ├── cfg │ ├── CfgNode.scala │ ├── CfgOps.scala │ ├── FragmentCfg.scala │ ├── InterproceduralProgramCfg.scala │ └── IntraproceduralProgramCfg.scala │ ├── concolic │ ├── ConcolicEngine.scala │ ├── ExecutionTree.scala │ ├── SMTSolver.scala │ ├── SymbolicInterpreter.scala │ └── SymbolicValues.scala │ ├── interpreter │ ├── ConcreteValues.scala │ ├── Interpreter.scala │ └── ValueSpecification.scala │ ├── lattices │ ├── ConstantPropagationLattice.scala │ ├── EdgeEnvLattice.scala │ ├── EdgeFunctionLattice.scala │ ├── GenericLattices.scala │ ├── IntervalLattice.scala │ ├── LatticeWithOps.scala │ └── SignLattice.scala │ ├── parser │ └── TipParser.scala │ ├── solvers │ ├── FixpointSolvers.scala │ ├── IDEAnalysis.scala │ ├── IDESolver.scala │ ├── SimpleCubicSolver.scala │ ├── SpecialCubicSolver.scala │ ├── SummarySolver.scala │ ├── UnificationTerms.scala │ └── UnionFindSolver.scala │ ├── types │ └── Types.scala │ └── util │ ├── DotTools.scala │ ├── Log.scala │ ├── MapUtils.scala │ ├── Output.scala │ └── TipProgramException.scala ├── tip └── tip.bat /.gitattributes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/.gitattributes -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/.gitignore -------------------------------------------------------------------------------- /.scalafmt.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/.scalafmt.conf -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/README.md -------------------------------------------------------------------------------- /examples/7x7.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/7x7.tip -------------------------------------------------------------------------------- /examples/a1.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/a1.tip -------------------------------------------------------------------------------- /examples/a2.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/a2.tip -------------------------------------------------------------------------------- /examples/a3.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/a3.tip -------------------------------------------------------------------------------- /examples/a4.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/a4.tip -------------------------------------------------------------------------------- /examples/a6.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/a6.tip -------------------------------------------------------------------------------- /examples/a7.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/a7.tip -------------------------------------------------------------------------------- /examples/andersen.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/andersen.tip -------------------------------------------------------------------------------- /examples/apply1.tip: -------------------------------------------------------------------------------- 1 | apply(f,a){ 2 | return (f)(a); 3 | } 4 | -------------------------------------------------------------------------------- /examples/apply2.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/apply2.tip -------------------------------------------------------------------------------- /examples/available.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/available.tip -------------------------------------------------------------------------------- /examples/block.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/block.tip -------------------------------------------------------------------------------- /examples/block_decl.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/block_decl.tip -------------------------------------------------------------------------------- /examples/cfa.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/cfa.tip -------------------------------------------------------------------------------- /examples/cfg.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/cfg.tip -------------------------------------------------------------------------------- /examples/cmpfunc.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/cmpfunc.tip -------------------------------------------------------------------------------- /examples/code.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/code.tip -------------------------------------------------------------------------------- /examples/comp.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/comp.tip -------------------------------------------------------------------------------- /examples/constants1.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/constants1.tip -------------------------------------------------------------------------------- /examples/constants2.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/constants2.tip -------------------------------------------------------------------------------- /examples/copyconst.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/copyconst.tip -------------------------------------------------------------------------------- /examples/div.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/div.tip -------------------------------------------------------------------------------- /examples/equal.tip: -------------------------------------------------------------------------------- 1 | equal(a,b){ 2 | return a==b; 3 | } 4 | -------------------------------------------------------------------------------- /examples/err_assignfunc.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/err_assignfunc.tip -------------------------------------------------------------------------------- /examples/err_cmpfunc.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/err_cmpfunc.tip -------------------------------------------------------------------------------- /examples/err_cmpfunc2.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/err_cmpfunc2.tip -------------------------------------------------------------------------------- /examples/err_cmpfunc3.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/err_cmpfunc3.tip -------------------------------------------------------------------------------- /examples/err_decl_use.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/err_decl_use.tip -------------------------------------------------------------------------------- /examples/err_doubledecl1.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/err_doubledecl1.tip -------------------------------------------------------------------------------- /examples/err_doubledecl2.tip: -------------------------------------------------------------------------------- 1 | f(x) { 2 | var x, z; 3 | return 0; 4 | } -------------------------------------------------------------------------------- /examples/err_funass.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/err_funass.tip -------------------------------------------------------------------------------- /examples/err_funass2.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/err_funass2.tip -------------------------------------------------------------------------------- /examples/err_func.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/err_func.tip -------------------------------------------------------------------------------- /examples/err_locals.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/err_locals.tip -------------------------------------------------------------------------------- /examples/err_notdecl.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/err_notdecl.tip -------------------------------------------------------------------------------- /examples/err_notlocal.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/err_notlocal.tip -------------------------------------------------------------------------------- /examples/err_notlocal2.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/err_notlocal2.tip -------------------------------------------------------------------------------- /examples/err_unify1.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/err_unify1.tip -------------------------------------------------------------------------------- /examples/err_unify2.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/err_unify2.tip -------------------------------------------------------------------------------- /examples/error.tip: -------------------------------------------------------------------------------- 1 | main() { 2 | error 1+2; 3 | return 0; 4 | } -------------------------------------------------------------------------------- /examples/ex1.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/ex1.tip -------------------------------------------------------------------------------- /examples/ex5.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/ex5.tip -------------------------------------------------------------------------------- /examples/factorial_iterative.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/factorial_iterative.tip -------------------------------------------------------------------------------- /examples/factorial_recursive.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/factorial_recursive.tip -------------------------------------------------------------------------------- /examples/fib.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/fib.tip -------------------------------------------------------------------------------- /examples/foo.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/foo.tip -------------------------------------------------------------------------------- /examples/func.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/func.tip -------------------------------------------------------------------------------- /examples/if_short_if.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/if_short_if.tip -------------------------------------------------------------------------------- /examples/input1.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/input1.tip -------------------------------------------------------------------------------- /examples/interpreter_test.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/interpreter_test.tip -------------------------------------------------------------------------------- /examples/interval0.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/interval0.tip -------------------------------------------------------------------------------- /examples/interval1.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/interval1.tip -------------------------------------------------------------------------------- /examples/interval2.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/interval2.tip -------------------------------------------------------------------------------- /examples/interval3.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/interval3.tip -------------------------------------------------------------------------------- /examples/liveness.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/liveness.tip -------------------------------------------------------------------------------- /examples/locals.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/locals.tip -------------------------------------------------------------------------------- /examples/loop.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/loop.tip -------------------------------------------------------------------------------- /examples/malloc.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/malloc.tip -------------------------------------------------------------------------------- /examples/map.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/map.tip -------------------------------------------------------------------------------- /examples/mccarthy91.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/mccarthy91.tip -------------------------------------------------------------------------------- /examples/mono.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/mono.tip -------------------------------------------------------------------------------- /examples/mono2.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/mono2.tip -------------------------------------------------------------------------------- /examples/mpolyrec.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/mpolyrec.tip -------------------------------------------------------------------------------- /examples/norm_while.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/norm_while.tip -------------------------------------------------------------------------------- /examples/normalised.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/normalised.tip -------------------------------------------------------------------------------- /examples/nullpointer.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/nullpointer.tip -------------------------------------------------------------------------------- /examples/onelevel.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/onelevel.tip -------------------------------------------------------------------------------- /examples/parametrized_main.tip: -------------------------------------------------------------------------------- 1 | main(x, y) { 2 | return x; 3 | } -------------------------------------------------------------------------------- /examples/parsing.tip: -------------------------------------------------------------------------------- 1 | main(){ 2 | r=(f)(a); 3 | return 1; 4 | } -------------------------------------------------------------------------------- /examples/pointers.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/pointers.tip -------------------------------------------------------------------------------- /examples/poly.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/poly.tip -------------------------------------------------------------------------------- /examples/poly2.tip: -------------------------------------------------------------------------------- 1 | poly(p,q){ 2 | return q; 3 | } 4 | -------------------------------------------------------------------------------- /examples/poly3.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/poly3.tip -------------------------------------------------------------------------------- /examples/poly4.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/poly4.tip -------------------------------------------------------------------------------- /examples/ptr1.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/ptr1.tip -------------------------------------------------------------------------------- /examples/ptr2.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/ptr2.tip -------------------------------------------------------------------------------- /examples/ptr3.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/ptr3.tip -------------------------------------------------------------------------------- /examples/ptr4.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/ptr4.tip -------------------------------------------------------------------------------- /examples/ptr5.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/ptr5.tip -------------------------------------------------------------------------------- /examples/ptr6.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/ptr6.tip -------------------------------------------------------------------------------- /examples/ptr7.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/ptr7.tip -------------------------------------------------------------------------------- /examples/reaching.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/reaching.tip -------------------------------------------------------------------------------- /examples/rec.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/rec.tip -------------------------------------------------------------------------------- /examples/record1.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/record1.tip -------------------------------------------------------------------------------- /examples/record2.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/record2.tip -------------------------------------------------------------------------------- /examples/record3.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/record3.tip -------------------------------------------------------------------------------- /examples/record4.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/record4.tip -------------------------------------------------------------------------------- /examples/record5.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/record5.tip -------------------------------------------------------------------------------- /examples/record6.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/record6.tip -------------------------------------------------------------------------------- /examples/rectype.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/rectype.tip -------------------------------------------------------------------------------- /examples/shape.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/shape.tip -------------------------------------------------------------------------------- /examples/signs.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/signs.tip -------------------------------------------------------------------------------- /examples/signs_fun.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/signs_fun.tip -------------------------------------------------------------------------------- /examples/signs_fun_cfa.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/signs_fun_cfa.tip -------------------------------------------------------------------------------- /examples/simple1.tip: -------------------------------------------------------------------------------- 1 | f(){ 2 | return 1; 3 | } -------------------------------------------------------------------------------- /examples/slicing.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/slicing.tip -------------------------------------------------------------------------------- /examples/steensgaard1.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/steensgaard1.tip -------------------------------------------------------------------------------- /examples/steensgaard2.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/steensgaard2.tip -------------------------------------------------------------------------------- /examples/steensgaard3.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/steensgaard3.tip -------------------------------------------------------------------------------- /examples/succ.tip: -------------------------------------------------------------------------------- 1 | succ(i){ 2 | return i+1; 3 | } -------------------------------------------------------------------------------- /examples/symbolic1.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/symbolic1.tip -------------------------------------------------------------------------------- /examples/symbolic2.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/symbolic2.tip -------------------------------------------------------------------------------- /examples/t1.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/t1.tip -------------------------------------------------------------------------------- /examples/t2.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/t2.tip -------------------------------------------------------------------------------- /examples/testdiv.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/testdiv.tip -------------------------------------------------------------------------------- /examples/verybusy.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/verybusy.tip -------------------------------------------------------------------------------- /examples/while_short_if.tip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/examples/while_short_if.tip -------------------------------------------------------------------------------- /ideafiles/codeStyles/Project.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/ideafiles/codeStyles/Project.xml -------------------------------------------------------------------------------- /ideafiles/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/ideafiles/codeStyles/codeStyleConfig.xml -------------------------------------------------------------------------------- /ideafiles/inspectionProfiles/Project_Default.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/ideafiles/inspectionProfiles/Project_Default.xml -------------------------------------------------------------------------------- /project/plugins.sbt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/project/plugins.sbt -------------------------------------------------------------------------------- /src/tip/Tip.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/Tip.scala -------------------------------------------------------------------------------- /src/tip/analysis/Analysis.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/analysis/Analysis.scala -------------------------------------------------------------------------------- /src/tip/analysis/AndersenAnalysis.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/analysis/AndersenAnalysis.scala -------------------------------------------------------------------------------- /src/tip/analysis/AvailableExpAnalysis.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/analysis/AvailableExpAnalysis.scala -------------------------------------------------------------------------------- /src/tip/analysis/CallContext.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/analysis/CallContext.scala -------------------------------------------------------------------------------- /src/tip/analysis/ConstantPropagationAnalysis.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/analysis/ConstantPropagationAnalysis.scala -------------------------------------------------------------------------------- /src/tip/analysis/ControlFlowAnalysis.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/analysis/ControlFlowAnalysis.scala -------------------------------------------------------------------------------- /src/tip/analysis/CopyConstantPropagationAnalysis.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/analysis/CopyConstantPropagationAnalysis.scala -------------------------------------------------------------------------------- /src/tip/analysis/DeclarationAnalysis.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/analysis/DeclarationAnalysis.scala -------------------------------------------------------------------------------- /src/tip/analysis/Dependencies.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/analysis/Dependencies.scala -------------------------------------------------------------------------------- /src/tip/analysis/FlowSensitiveAnalysis.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/analysis/FlowSensitiveAnalysis.scala -------------------------------------------------------------------------------- /src/tip/analysis/IntervalAnalysis.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/analysis/IntervalAnalysis.scala -------------------------------------------------------------------------------- /src/tip/analysis/LiveVarsAnalysis.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/analysis/LiveVarsAnalysis.scala -------------------------------------------------------------------------------- /src/tip/analysis/PossiblyUninitializedVarsAnalysis.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/analysis/PossiblyUninitializedVarsAnalysis.scala -------------------------------------------------------------------------------- /src/tip/analysis/SignAnalysis.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/analysis/SignAnalysis.scala -------------------------------------------------------------------------------- /src/tip/analysis/SimpleSignAnalysis.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/analysis/SimpleSignAnalysis.scala -------------------------------------------------------------------------------- /src/tip/analysis/SteensgaardAnalysis.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/analysis/SteensgaardAnalysis.scala -------------------------------------------------------------------------------- /src/tip/analysis/TaintAnalysis.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/analysis/TaintAnalysis.scala -------------------------------------------------------------------------------- /src/tip/analysis/TypeAnalysis.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/analysis/TypeAnalysis.scala -------------------------------------------------------------------------------- /src/tip/analysis/ValueAnalysis.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/analysis/ValueAnalysis.scala -------------------------------------------------------------------------------- /src/tip/ast/Ast.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/ast/Ast.scala -------------------------------------------------------------------------------- /src/tip/ast/AstNodeData.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/ast/AstNodeData.scala -------------------------------------------------------------------------------- /src/tip/ast/AstOps.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/ast/AstOps.scala -------------------------------------------------------------------------------- /src/tip/ast/AstPrinters.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/ast/AstPrinters.scala -------------------------------------------------------------------------------- /src/tip/ast/DepthFirstAstVisitor.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/ast/DepthFirstAstVisitor.scala -------------------------------------------------------------------------------- /src/tip/ast/TipNormalizers.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/ast/TipNormalizers.scala -------------------------------------------------------------------------------- /src/tip/ast/TipSublanguages.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/ast/TipSublanguages.scala -------------------------------------------------------------------------------- /src/tip/cfg/CfgNode.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/cfg/CfgNode.scala -------------------------------------------------------------------------------- /src/tip/cfg/CfgOps.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/cfg/CfgOps.scala -------------------------------------------------------------------------------- /src/tip/cfg/FragmentCfg.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/cfg/FragmentCfg.scala -------------------------------------------------------------------------------- /src/tip/cfg/InterproceduralProgramCfg.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/cfg/InterproceduralProgramCfg.scala -------------------------------------------------------------------------------- /src/tip/cfg/IntraproceduralProgramCfg.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/cfg/IntraproceduralProgramCfg.scala -------------------------------------------------------------------------------- /src/tip/concolic/ConcolicEngine.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/concolic/ConcolicEngine.scala -------------------------------------------------------------------------------- /src/tip/concolic/ExecutionTree.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/concolic/ExecutionTree.scala -------------------------------------------------------------------------------- /src/tip/concolic/SMTSolver.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/concolic/SMTSolver.scala -------------------------------------------------------------------------------- /src/tip/concolic/SymbolicInterpreter.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/concolic/SymbolicInterpreter.scala -------------------------------------------------------------------------------- /src/tip/concolic/SymbolicValues.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/concolic/SymbolicValues.scala -------------------------------------------------------------------------------- /src/tip/interpreter/ConcreteValues.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/interpreter/ConcreteValues.scala -------------------------------------------------------------------------------- /src/tip/interpreter/Interpreter.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/interpreter/Interpreter.scala -------------------------------------------------------------------------------- /src/tip/interpreter/ValueSpecification.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/interpreter/ValueSpecification.scala -------------------------------------------------------------------------------- /src/tip/lattices/ConstantPropagationLattice.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/lattices/ConstantPropagationLattice.scala -------------------------------------------------------------------------------- /src/tip/lattices/EdgeEnvLattice.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/lattices/EdgeEnvLattice.scala -------------------------------------------------------------------------------- /src/tip/lattices/EdgeFunctionLattice.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/lattices/EdgeFunctionLattice.scala -------------------------------------------------------------------------------- /src/tip/lattices/GenericLattices.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/lattices/GenericLattices.scala -------------------------------------------------------------------------------- /src/tip/lattices/IntervalLattice.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/lattices/IntervalLattice.scala -------------------------------------------------------------------------------- /src/tip/lattices/LatticeWithOps.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/lattices/LatticeWithOps.scala -------------------------------------------------------------------------------- /src/tip/lattices/SignLattice.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/lattices/SignLattice.scala -------------------------------------------------------------------------------- /src/tip/parser/TipParser.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/parser/TipParser.scala -------------------------------------------------------------------------------- /src/tip/solvers/FixpointSolvers.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/solvers/FixpointSolvers.scala -------------------------------------------------------------------------------- /src/tip/solvers/IDEAnalysis.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/solvers/IDEAnalysis.scala -------------------------------------------------------------------------------- /src/tip/solvers/IDESolver.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/solvers/IDESolver.scala -------------------------------------------------------------------------------- /src/tip/solvers/SimpleCubicSolver.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/solvers/SimpleCubicSolver.scala -------------------------------------------------------------------------------- /src/tip/solvers/SpecialCubicSolver.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/solvers/SpecialCubicSolver.scala -------------------------------------------------------------------------------- /src/tip/solvers/SummarySolver.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/solvers/SummarySolver.scala -------------------------------------------------------------------------------- /src/tip/solvers/UnificationTerms.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/solvers/UnificationTerms.scala -------------------------------------------------------------------------------- /src/tip/solvers/UnionFindSolver.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/solvers/UnionFindSolver.scala -------------------------------------------------------------------------------- /src/tip/types/Types.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/types/Types.scala -------------------------------------------------------------------------------- /src/tip/util/DotTools.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/util/DotTools.scala -------------------------------------------------------------------------------- /src/tip/util/Log.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/util/Log.scala -------------------------------------------------------------------------------- /src/tip/util/MapUtils.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/util/MapUtils.scala -------------------------------------------------------------------------------- /src/tip/util/Output.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/util/Output.scala -------------------------------------------------------------------------------- /src/tip/util/TipProgramException.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cs-au-dk/TIP/HEAD/src/tip/util/TipProgramException.scala -------------------------------------------------------------------------------- /tip: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | sbt "runMain tip.Tip $*" -------------------------------------------------------------------------------- /tip.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | chcp 65001 > nul 3 | set JAVA_OPTS=-Dfile.encoding=UTF-8 4 | sbt "runMain tip.Tip %*" 5 | --------------------------------------------------------------------------------