├── .gitignore
├── LICENSE
├── README.md
├── com.ibm.wala.cast.java
├── .classpath
├── .gitignore
├── .launchConfigurations
│ └── WALA-CAst-Java-Library-Downloads.launch
├── .project
├── .settings
│ ├── org.eclipse.jdt.core.prefs
│ ├── org.eclipse.jdt.launching.prefs
│ └── org.eclipse.jdt.ui.prefs
├── META-INF
│ └── MANIFEST.MF
├── build.properties
├── pom.xml
└── src
│ └── com
│ └── ibm
│ └── wala
│ └── cast
│ └── java
│ ├── JavaSourcePlugin.java
│ ├── analysis
│ └── typeInference
│ │ └── AstJavaTypeInference.java
│ ├── client
│ ├── JavaSourceAnalysisEngine.java
│ └── impl
│ │ ├── ZeroCFABuilderFactory.java
│ │ └── ZeroOneContainerCFABuilderFactory.java
│ ├── examples
│ └── ast
│ │ └── SynchronizedBlockDuplicator.java
│ ├── ipa
│ ├── callgraph
│ │ ├── AstJavaCFABuilder.java
│ │ ├── AstJavaSSAPropagationCallGraphBuilder.java
│ │ ├── AstJavaZeroOneContainerCFABuilder.java
│ │ ├── AstJavaZeroXCFABuilder.java
│ │ ├── JavaScopeMappingInstanceKeys.java
│ │ ├── JavaSourceAnalysisScope.java
│ │ └── ZeroXCFAJavaBuilder.java
│ ├── modref
│ │ └── AstJavaModRef.java
│ └── slicer
│ │ └── AstJavaSlicer.java
│ ├── loader
│ ├── JavaSourceLoaderImpl.java
│ └── Util.java
│ ├── ssa
│ ├── AstJavaAbstractInstructionVisitor.java
│ ├── AstJavaInstructionFactory.java
│ ├── AstJavaInstructionVisitor.java
│ ├── AstJavaInvokeInstruction.java
│ ├── AstJavaNewEnclosingInstruction.java
│ └── EnclosingObjectReference.java
│ ├── translator
│ ├── Java2IRTranslator.java
│ ├── JavaCAst2IRTranslator.java
│ ├── JavaProcedureEntity.java
│ └── SourceModuleTranslator.java
│ └── types
│ ├── JavaPrimitiveTypeMap.java
│ └── JavaType.java
├── com.ibm.wala.cast
├── .classpath
├── .externalToolBuilders
│ └── make WALA.CAst.launch
├── .gitignore
├── .project
├── .settings
│ ├── org.eclipse.jdt.core.prefs
│ ├── org.eclipse.jdt.launching.prefs
│ └── org.eclipse.jdt.ui.prefs
├── META-INF
│ └── MANIFEST.MF
├── build.properties
├── build.xml
├── data
│ ├── the-cast-system.eps
│ ├── the-cast-system.jpeg
│ └── the-cast-system.xcf
├── lib
│ └── commons-io-2.4.jar
├── pom.xml
└── source
│ ├── c
│ ├── Makefile
│ ├── Makefile.configuration.sample
│ ├── cbuild.sh
│ ├── include
│ │ ├── CAstWrapper.h
│ │ ├── Exceptions.h
│ │ ├── cast_constants.h
│ │ ├── cast_control_flow_map.h
│ │ ├── cast_operators.h
│ │ └── cast_qualifiers.h
│ └── jni
│ │ ├── CAstWrapper.cpp
│ │ ├── Exceptions.cpp
│ │ └── Java_com_ibm_wala_cast_ir_translator_NativeBridge.cpp
│ └── java
│ └── com
│ └── ibm
│ └── wala
│ └── cast
│ ├── analysis
│ └── typeInference
│ │ └── AstTypeInference.java
│ ├── ipa
│ ├── callgraph
│ │ ├── ArgumentInstanceContext.java
│ │ ├── AstCFAPointerKeys.java
│ │ ├── AstCallGraph.java
│ │ ├── AstContextInsensitiveSSAContextInterpreter.java
│ │ ├── AstGlobalPointerKey.java
│ │ ├── AstHeapModel.java
│ │ ├── AstPointerKeyFactory.java
│ │ ├── AstSSAPropagationCallGraphBuilder.java
│ │ ├── CAstAnalysisScope.java
│ │ ├── CAstCallGraphUtil.java
│ │ ├── CrossLanguageCallGraph.java
│ │ ├── CrossLanguageClassTargetSelector.java
│ │ ├── CrossLanguageContextSelector.java
│ │ ├── CrossLanguageInstanceKeys.java
│ │ ├── CrossLanguageMethodTargetSelector.java
│ │ ├── CrossLanguageSSAPropagationCallGraphBuilder.java
│ │ ├── DelegatingAstPointerKeys.java
│ │ ├── MiscellaneousHacksContextSelector.java
│ │ ├── ObjectPropertyCatalogKey.java
│ │ ├── OneLevelForLexicalAccessFunctions.java
│ │ ├── ReflectedFieldPointerKey.java
│ │ ├── ScopeMappingInstanceKeys.java
│ │ ├── ScriptEntryPoints.java
│ │ └── StandardFunctionTargetSelector.java
│ ├── cha
│ │ └── CrossLanguageClassHierarchy.java
│ ├── lexical
│ │ └── LexicalModRef.java
│ └── modref
│ │ └── AstModRef.java
│ ├── ir
│ ├── cfg
│ │ ├── AstInducedCFG.java
│ │ ├── DelegatingCFG.java
│ │ └── Util.java
│ ├── ssa
│ │ ├── AbstractReflectiveGet.java
│ │ ├── AbstractReflectivePut.java
│ │ ├── AbstractSSAConversion.java
│ │ ├── AssignInstruction.java
│ │ ├── AstAbstractInstructionVisitor.java
│ │ ├── AstAssertInstruction.java
│ │ ├── AstConstants.java
│ │ ├── AstEchoInstruction.java
│ │ ├── AstGlobalRead.java
│ │ ├── AstGlobalWrite.java
│ │ ├── AstIRFactory.java
│ │ ├── AstInstructionFactory.java
│ │ ├── AstInstructionVisitor.java
│ │ ├── AstIsDefinedInstruction.java
│ │ ├── AstLexicalAccess.java
│ │ ├── AstLexicalRead.java
│ │ ├── AstLexicalWrite.java
│ │ ├── AstPreInstructionVisitor.java
│ │ ├── EachElementGetInstruction.java
│ │ ├── EachElementHasNextInstruction.java
│ │ ├── FixedParametersInvokeInstruction.java
│ │ ├── MultiReturnValueInvokeInstruction.java
│ │ ├── SSAConversion.java
│ │ └── analysis
│ │ │ └── LiveAnalysis.java
│ └── translator
│ │ ├── AbstractClassEntity.java
│ │ ├── AbstractCodeEntity.java
│ │ ├── AbstractDataEntity.java
│ │ ├── AbstractEntity.java
│ │ ├── AbstractFieldEntity.java
│ │ ├── AbstractGlobalEntity.java
│ │ ├── AbstractScriptEntity.java
│ │ ├── ArrayOpHandler.java
│ │ ├── AstTranslator.java
│ │ ├── ConstantFoldingRewriter.java
│ │ ├── ExposedNamesCollector.java
│ │ ├── TranslatorToCAst.java
│ │ └── TranslatorToIR.java
│ ├── loader
│ ├── AstClass.java
│ ├── AstDynamicField.java
│ ├── AstDynamicPropertyClass.java
│ ├── AstField.java
│ ├── AstFunctionClass.java
│ ├── AstMethod.java
│ ├── CAstAbstractLoader.java
│ ├── CAstAbstractModuleLoader.java
│ └── SingleClassLoaderFactory.java
│ ├── plugin
│ └── AstPlugin.java
│ ├── tree
│ ├── AstPlugin.java
│ ├── CAst.java
│ ├── CAstAnnotation.java
│ ├── CAstControlFlowMap.java
│ ├── CAstEntity.java
│ ├── CAstMemberReference.java
│ ├── CAstNode.java
│ ├── CAstNodeTypeMap.java
│ ├── CAstQualifier.java
│ ├── CAstReference.java
│ ├── CAstSourcePositionMap.java
│ ├── CAstSymbol.java
│ ├── CAstType.java
│ ├── CAstTypeDictionary.java
│ ├── impl
│ │ ├── AbstractSourcePosition.java
│ │ ├── CAstControlFlowRecorder.java
│ │ ├── CAstImpl.java
│ │ ├── CAstNodeTypeMapRecorder.java
│ │ ├── CAstOperator.java
│ │ ├── CAstSourcePositionRecorder.java
│ │ ├── CAstSymbolImpl.java
│ │ ├── CAstSymbolImplBase.java
│ │ ├── CAstTypeDictionaryImpl.java
│ │ ├── CAstValueImpl.java
│ │ ├── DelegatingEntity.java
│ │ └── LineNumberPosition.java
│ ├── pattern
│ │ ├── Alt.java
│ │ ├── AnyNode.java
│ │ ├── NodeOfKind.java
│ │ ├── NodePattern.java
│ │ ├── SomeConstant.java
│ │ └── SubtreeOfKind.java
│ ├── rewrite
│ │ ├── AstLoopUnwinder.java
│ │ ├── CAstBasicRewriter.java
│ │ ├── CAstCloner.java
│ │ ├── CAstRewriter.java
│ │ └── CAstRewriterFactory.java
│ └── visit
│ │ ├── CAstVisitor.java
│ │ └── DelegatingCAstVisitor.java
│ ├── types
│ ├── AstMethodReference.java
│ └── AstTypeReference.java
│ └── util
│ ├── CAstFunctions.java
│ ├── CAstPattern.java
│ ├── CAstPrinter.java
│ ├── CAstToDOM.java
│ ├── SourceBuffer.java
│ └── TargetLanguageSelector.java
├── com.ibm.wala.core
├── .classpath
├── .gitignore
├── .project
├── .settings
│ ├── org.eclipse.jdt.core.prefs
│ ├── org.eclipse.jdt.launching.prefs
│ └── org.eclipse.jdt.ui.prefs
├── META-INF
│ └── MANIFEST.MF
├── akka-actor-2.0.2.jar
├── akka-actor_2.12-2.4.16.jar
├── antbuild.properties
├── build.properties
├── build.xml
├── config-1.3.1.jar
├── dat
│ ├── J2SEClassHierarchyExclusions.txt
│ ├── SyntheticJ2SEModel.txt
│ ├── WalaUtilMessages.properties
│ ├── codetemplates.xml
│ ├── dictionary.txt
│ ├── formatter.xml
│ ├── log.properties
│ ├── natives.xml
│ ├── natives_no_model.xml
│ ├── primordial.txt
│ ├── wala.properties
│ └── wala.properties.sample
├── javaCompiler...args
├── lib
│ ├── poi-3.14-20160307.jar
│ ├── poi-ooxml-3.9.jar
│ └── primordial.jar.model
├── plugin.properties
├── pom.xml
├── scala-java8-compat_2.12-0.8.0.jar
├── scala-library-2.12.1.jar
├── scala-library-2.9.2.jar
└── src
│ └── com
│ └── ibm
│ └── wala
│ ├── akkaTaskScheduler
│ ├── PTAHub.java
│ ├── PTAWorker.java
│ ├── ResultFromRR.java
│ ├── ResultFromSpecial.java
│ ├── SchedulerForResetSetAndRecompute.java
│ ├── SchedulerForSpecial.java
│ ├── WorkContentForCheckChange.java
│ └── WorkContentForSpecial.java
│ ├── analysis
│ ├── pointers
│ │ ├── BasicHeapGraph.java
│ │ ├── HeapGraph.java
│ │ ├── HeapGraphImpl.java
│ │ └── package.html
│ ├── reflection
│ │ ├── AbstractReflectionInterpreter.java
│ │ ├── ClassFactoryContextInterpreter.java
│ │ ├── ClassFactoryContextSelector.java
│ │ ├── ClassNewInstanceContextInterpreter.java
│ │ ├── ClassNewInstanceContextSelector.java
│ │ ├── CloneInterpreter.java
│ │ ├── FactoryBypassInterpreter.java
│ │ ├── FactoryContextSelector.java
│ │ ├── GetClassContextInterpeter.java
│ │ ├── GetClassContextSelector.java
│ │ ├── GetMethodContext.java
│ │ ├── GetMethodContextInterpreter.java
│ │ ├── GetMethodContextSelector.java
│ │ ├── IllegalArgumentExceptionContext.java
│ │ ├── InstanceKeyWithNode.java
│ │ ├── JavaLangClassContextInterpreter.java
│ │ ├── JavaLangClassContextSelector.java
│ │ ├── JavaTypeContext.java
│ │ ├── ReflectionContextInterpreter.java
│ │ ├── ReflectionContextSelector.java
│ │ ├── ReflectiveInvocationInterpreter.java
│ │ ├── ReflectiveInvocationSelector.java
│ │ ├── java7
│ │ │ └── MethodHandles.java
│ │ └── package.html
│ ├── stackMachine
│ │ ├── AbstractIntStackMachine.java
│ │ └── package.html
│ └── typeInference
│ │ ├── ConeType.java
│ │ ├── JavaPrimitiveType.java
│ │ ├── PointType.java
│ │ ├── PrimitiveType.java
│ │ ├── SetType.java
│ │ ├── TypeAbstraction.java
│ │ ├── TypeInference.java
│ │ ├── TypeVariable.java
│ │ └── package.html
│ ├── cfg
│ ├── AbstractCFG.java
│ ├── BytecodeCFG.java
│ ├── CFGSanitizer.java
│ ├── ControlFlowGraph.java
│ ├── IBasicBlock.java
│ ├── InducedCFG.java
│ ├── ShrikeCFG.java
│ ├── Util.java
│ ├── cdg
│ │ ├── ControlDependenceGraph.java
│ │ └── package.html
│ ├── exc
│ │ ├── ExceptionPruningAnalysis.java
│ │ ├── InterprocAnalysisResult.java
│ │ ├── NullPointerAnalysis.java
│ │ ├── inter
│ │ │ ├── AnalysisUtil.java
│ │ │ ├── DelegatingMethodState.java
│ │ │ ├── InterprocAnalysisResultWrapper.java
│ │ │ ├── InterprocMethodState.java
│ │ │ ├── InterprocNullPointerAnalysis.java
│ │ │ └── IntraprocAnalysisState.java
│ │ └── intra
│ │ │ ├── ExplodedCFGNullPointerAnalysis.java
│ │ │ ├── IntraprocNullPointerAnalysis.java
│ │ │ ├── MethodState.java
│ │ │ ├── MutableCFG.java
│ │ │ ├── NegativeGraphFilter.java
│ │ │ ├── NullPointerFrameWork.java
│ │ │ ├── NullPointerState.java
│ │ │ ├── NullPointerTransferFunctionProvider.java
│ │ │ ├── ParameterState.java
│ │ │ └── SSACFGNullPointerAnalysis.java
│ └── package.html
│ ├── classLoader
│ ├── AbstractNestedJarFileModule.java
│ ├── AbstractURLModule.java
│ ├── ArrayClass.java
│ ├── ArrayClassLoader.java
│ ├── BinaryDirectoryTreeModule.java
│ ├── BytecodeClass.java
│ ├── BytecodeLanguage.java
│ ├── CallSiteReference.java
│ ├── ClassFileModule.java
│ ├── ClassLoaderFactory.java
│ ├── ClassLoaderFactoryImpl.java
│ ├── ClassLoaderImpl.java
│ ├── CodeScanner.java
│ ├── CompoundModule.java
│ ├── DirectoryTreeModule.java
│ ├── FieldImpl.java
│ ├── FileModule.java
│ ├── IBytecodeMethod.java
│ ├── IClass.java
│ ├── IClassLoader.java
│ ├── IField.java
│ ├── IMember.java
│ ├── IMethod.java
│ ├── JVMClass.java
│ ├── JarFileEntry.java
│ ├── JarFileModule.java
│ ├── JarStreamModule.java
│ ├── JavaLanguage.java
│ ├── Language.java
│ ├── LanguageImpl.java
│ ├── Module.java
│ ├── ModuleEntry.java
│ ├── NestedJarFileModule.java
│ ├── NewSiteReference.java
│ ├── ProgramCounter.java
│ ├── ResourceJarFileModule.java
│ ├── ShrikeBTMethod.java
│ ├── ShrikeCTMethod.java
│ ├── ShrikeClass.java
│ ├── ShrikeIRFactory.java
│ ├── SourceDirectoryTreeModule.java
│ ├── SourceFileModule.java
│ ├── SourceModule.java
│ ├── SourceURLModule.java
│ ├── SyntheticClass.java
│ ├── SyntheticMethod.java
│ └── package.html
│ ├── client
│ ├── AbstractAnalysisEngine.java
│ ├── AbstractEngineStopwatch.java
│ ├── AnalysisEngine.java
│ ├── EngineStopwatch.java
│ └── package.html
│ ├── core
│ └── plugin
│ │ └── package.html
│ ├── dataflow
│ ├── IFDS
│ │ ├── BackwardsSupergraph.java
│ │ ├── BoundedPartiallyBalancedSolver.java
│ │ ├── BoundedTabulationSolver.java
│ │ ├── CallFlowEdges.java
│ │ ├── IBinaryReturnFlowFunction.java
│ │ ├── ICFGSupergraph.java
│ │ ├── IFlowFunction.java
│ │ ├── IFlowFunctionMap.java
│ │ ├── IMergeFunction.java
│ │ ├── IPartiallyBalancedFlowFunctions.java
│ │ ├── IReversibleFlowFunction.java
│ │ ├── ISupergraph.java
│ │ ├── ITabulationWorklist.java
│ │ ├── IUnaryFlowFunction.java
│ │ ├── IdentityFlowFunction.java
│ │ ├── IdentityFlowFunctions.java
│ │ ├── KillEverything.java
│ │ ├── LocalPathEdges.java
│ │ ├── LocalSummaryEdges.java
│ │ ├── PartiallyBalancedTabulationProblem.java
│ │ ├── PartiallyBalancedTabulationSolver.java
│ │ ├── PathEdge.java
│ │ ├── SingletonFlowFunction.java
│ │ ├── TabulationCancelException.java
│ │ ├── TabulationDomain.java
│ │ ├── TabulationProblem.java
│ │ ├── TabulationResult.java
│ │ ├── TabulationSolver.java
│ │ ├── UnorderedDomain.java
│ │ ├── VectorGenFlowFunction.java
│ │ ├── VectorKillFlowFunction.java
│ │ └── package.html
│ └── ssa
│ │ └── SSAInference.java
│ ├── demandpa
│ ├── alg
│ │ ├── AbstractDemandPointsTo.java
│ │ ├── BudgetExceededException.java
│ │ ├── CallStack.java
│ │ ├── ContextSensitiveStateMachine.java
│ │ ├── DemandRefinementPointsTo.java
│ │ ├── IDemandPointerAnalysis.java
│ │ ├── InstanceFieldKeyAndState.java
│ │ ├── InstanceKeyAndState.java
│ │ ├── IntraProcFilter.java
│ │ ├── PointerKeyAndState.java
│ │ ├── SimpleDemandPointsTo.java
│ │ ├── ThisFilteringHeapModel.java
│ │ ├── WithState.java
│ │ ├── refinepolicy
│ │ │ ├── AbstractRefinementPolicy.java
│ │ │ ├── AlwaysRefineCGPolicy.java
│ │ │ ├── AlwaysRefineFieldsPolicy.java
│ │ │ ├── CallGraphRefinePolicy.java
│ │ │ ├── ContainersFieldPolicy.java
│ │ │ ├── DelegatingFieldRefinePolicy.java
│ │ │ ├── FieldRefinePolicy.java
│ │ │ ├── ManualCGRefinePolicy.java
│ │ │ ├── ManualFieldPolicy.java
│ │ │ ├── ManualRefinementPolicy.java
│ │ │ ├── NeverRefineCGPolicy.java
│ │ │ ├── NeverRefineFieldsPolicy.java
│ │ │ ├── OnlyArraysPolicy.java
│ │ │ ├── RefinementPolicy.java
│ │ │ ├── RefinementPolicyFactory.java
│ │ │ ├── SinglePassRefinementPolicy.java
│ │ │ ├── TunedFieldRefinementPolicy.java
│ │ │ └── TunedRefinementPolicy.java
│ │ └── statemachine
│ │ │ ├── DummyStateMachine.java
│ │ │ ├── StateMachine.java
│ │ │ ├── StateMachineFactory.java
│ │ │ └── StatesMergedException.java
│ ├── flowgraph
│ │ ├── AbstractDemandFlowGraph.java
│ │ ├── AbstractFlowGraph.java
│ │ ├── AbstractFlowLabelVisitor.java
│ │ ├── AssignBarLabel.java
│ │ ├── AssignGlobalBarLabel.java
│ │ ├── AssignGlobalLabel.java
│ │ ├── AssignLabel.java
│ │ ├── CallLabel.java
│ │ ├── DemandPointerFlowGraph.java
│ │ ├── DemandValueFlowGraph.java
│ │ ├── GetFieldBarLabel.java
│ │ ├── GetFieldLabel.java
│ │ ├── IFlowGraph.java
│ │ ├── IFlowLabel.java
│ │ ├── IFlowLabelWithFilter.java
│ │ ├── MatchBarLabel.java
│ │ ├── MatchLabel.java
│ │ ├── NewBarLabel.java
│ │ ├── NewLabel.java
│ │ ├── ParamBarLabel.java
│ │ ├── ParamLabel.java
│ │ ├── PointerKeyAndCallSite.java
│ │ ├── PutFieldBarLabel.java
│ │ ├── PutFieldLabel.java
│ │ ├── ReturnBarLabel.java
│ │ ├── ReturnLabel.java
│ │ └── SimpleDemandPointerFlowGraph.java
│ └── util
│ │ ├── ArrayContents.java
│ │ ├── CallGraphMapUtil.java
│ │ ├── MemoryAccess.java
│ │ ├── MemoryAccessMap.java
│ │ ├── PABasedMemoryAccessMap.java
│ │ ├── PointerParamValueNumIterator.java
│ │ └── SimpleMemoryAccessMap.java
│ ├── escape
│ ├── FILiveObjectAnalysis.java
│ ├── ILiveObjectAnalysis.java
│ ├── IMethodEscapeAnalysis.java
│ ├── INodeEscapeAnalysis.java
│ ├── LocalLiveRangeAnalysis.java
│ └── TrivialMethodEscape.java
│ ├── ipa
│ ├── callgraph
│ │ ├── AnalysisCache.java
│ │ ├── AnalysisOptions.java
│ │ ├── AnalysisScope.java
│ │ ├── CGNode.java
│ │ ├── CallGraph.java
│ │ ├── CallGraphBuilder.java
│ │ ├── CallGraphBuilderCancelException.java
│ │ ├── CallGraphStats.java
│ │ ├── CallGraphTransitiveClosure.java
│ │ ├── ClassTargetSelector.java
│ │ ├── Context.java
│ │ ├── ContextItem.java
│ │ ├── ContextKey.java
│ │ ├── ContextSelector.java
│ │ ├── ContextUtil.java
│ │ ├── DelegatingContext.java
│ │ ├── Entrypoint.java
│ │ ├── MethodTargetSelector.java
│ │ ├── ShallowAnalysisScope.java
│ │ ├── cha
│ │ │ ├── CHACallGraph.java
│ │ │ ├── CHAContextInterpreter.java
│ │ │ └── ContextInsensitiveCHAContextInterpreter.java
│ │ ├── impl
│ │ │ ├── AbstractRootMethod.java
│ │ │ ├── AllApplicationEntrypoints.java
│ │ │ ├── ArgumentTypeEntrypoint.java
│ │ │ ├── BasicCallGraph.java
│ │ │ ├── ClassHierarchyClassTargetSelector.java
│ │ │ ├── ClassHierarchyMethodTargetSelector.java
│ │ │ ├── ComposedEntrypoints.java
│ │ │ ├── ContextInsensitiveSelector.java
│ │ │ ├── DefaultContextSelector.java
│ │ │ ├── DefaultEntrypoint.java
│ │ │ ├── DelegatingContextSelector.java
│ │ │ ├── Everywhere.java
│ │ │ ├── ExplicitCallGraph.java
│ │ │ ├── FakeRootClass.java
│ │ │ ├── FakeRootMethod.java
│ │ │ ├── FakeWorldClinitMethod.java
│ │ │ ├── PartialCallGraph.java
│ │ │ ├── SubtypesEntrypoint.java
│ │ │ ├── UnionContextSelector.java
│ │ │ ├── Util.java
│ │ │ └── package.html
│ │ ├── package.html
│ │ ├── propagation
│ │ │ ├── AbstractFieldPointerKey.java
│ │ │ ├── AbstractLocalPointerKey.java
│ │ │ ├── AbstractPointerAnalysis.java
│ │ │ ├── AbstractPointerKey.java
│ │ │ ├── AbstractPointsToSolver.java
│ │ │ ├── AbstractTypeInNode.java
│ │ │ ├── AllocationSite.java
│ │ │ ├── AllocationSiteInNode.java
│ │ │ ├── AllocationSiteInNodeFactory.java
│ │ │ ├── ArrayContentsKey.java
│ │ │ ├── AssignEquation.java
│ │ │ ├── AssignOperator.java
│ │ │ ├── ClassBasedInstanceKeys.java
│ │ │ ├── CloneContextSelector.java
│ │ │ ├── ConcreteTypeKey.java
│ │ │ ├── ConstantKey.java
│ │ │ ├── ContainerUtil.java
│ │ │ ├── FilteredPointerKey.java
│ │ │ ├── HeapModel.java
│ │ │ ├── IPointerOperator.java
│ │ │ ├── IPointsToSolver.java
│ │ │ ├── InstanceFieldKey.java
│ │ │ ├── InstanceFieldKeyWithFilter.java
│ │ │ ├── InstanceFieldPointerKey.java
│ │ │ ├── InstanceKey.java
│ │ │ ├── InstanceKeyFactory.java
│ │ │ ├── LocalPointerKey.java
│ │ │ ├── LocalPointerKeyWithFilter.java
│ │ │ ├── MultiNewArrayInNode.java
│ │ │ ├── NodeKey.java
│ │ │ ├── NormalAllocationInNode.java
│ │ │ ├── PointerAnalysis.java
│ │ │ ├── PointerAnalysisImpl.java
│ │ │ ├── PointerKey.java
│ │ │ ├── PointerKeyComparator.java
│ │ │ ├── PointerKeyFactory.java
│ │ │ ├── PointsToMap.java
│ │ │ ├── PointsToSetVariable.java
│ │ │ ├── PropagationCallGraphBuilder.java
│ │ │ ├── PropagationGraph.java
│ │ │ ├── PropagationSystem.java
│ │ │ ├── ReceiverInstanceContext.java
│ │ │ ├── ReceiverTypeContextSelector.java
│ │ │ ├── ReflectionHandler.java
│ │ │ ├── ReturnValueKey.java
│ │ │ ├── ReturnValueKeyWithFilter.java
│ │ │ ├── SSAContextInterpreter.java
│ │ │ ├── SSAPropagationCallGraphBuilder.java
│ │ │ ├── SelectiveCPAContext.java
│ │ │ ├── SmushedAllocationSiteInNode.java
│ │ │ ├── SmushedAllocationSiteInstanceKeys.java
│ │ │ ├── StandardSolver.java
│ │ │ ├── StaticFieldKey.java
│ │ │ ├── StringConstantCharArray.java
│ │ │ ├── TargetMethodContextSelector.java
│ │ │ ├── UnarySideEffect.java
│ │ │ ├── ZeroLengthArrayInNode.java
│ │ │ ├── cfa
│ │ │ │ ├── CallString.java
│ │ │ │ ├── CallStringContext.java
│ │ │ │ ├── CallStringContextSelector.java
│ │ │ │ ├── CallerContext.java
│ │ │ │ ├── CallerContextPair.java
│ │ │ │ ├── CallerSiteContext.java
│ │ │ │ ├── CallerSiteContextPair.java
│ │ │ │ ├── ContainerContextSelector.java
│ │ │ │ ├── ContextInsensitiveSSAInterpreter.java
│ │ │ │ ├── DefaultPointerKeyFactory.java
│ │ │ │ ├── DefaultSSAInterpreter.java
│ │ │ │ ├── DelegatingSSAContextInterpreter.java
│ │ │ │ ├── ExceptionReturnValueKey.java
│ │ │ │ ├── FallbackContextInterpreter.java
│ │ │ │ ├── OneLevelSiteContextSelector.java
│ │ │ │ ├── ZeroXCFABuilder.java
│ │ │ │ ├── ZeroXContainerCFABuilder.java
│ │ │ │ ├── ZeroXInstanceKeys.java
│ │ │ │ ├── nCFABuilder.java
│ │ │ │ ├── nCFAContextSelector.java
│ │ │ │ └── package.html
│ │ │ ├── package.html
│ │ │ └── rta
│ │ │ │ ├── AbstractRTABuilder.java
│ │ │ │ ├── BasicRTABuilder.java
│ │ │ │ ├── CallSite.java
│ │ │ │ ├── ContextInsensitiveRTAInterpreter.java
│ │ │ │ ├── DefaultRTAInterpreter.java
│ │ │ │ ├── DelegatingExplicitCallGraph.java
│ │ │ │ ├── DelegatingRTAContextInterpreter.java
│ │ │ │ ├── RTAContextInterpreter.java
│ │ │ │ ├── RTASelectorKey.java
│ │ │ │ ├── TypeBasedHeapModel.java
│ │ │ │ ├── TypeBasedPointerAnalysis.java
│ │ │ │ └── package.html
│ │ ├── pruned
│ │ │ ├── ApplicationLoaderPolicy.java
│ │ │ ├── CallGraphPruning.java
│ │ │ ├── DoNotPrune.java
│ │ │ ├── PrunedCallGraph.java
│ │ │ └── PruningPolicy.java
│ │ └── threadpool
│ │ │ └── ThreadHub.java
│ ├── cfg
│ │ ├── AbstractInterproceduralCFG.java
│ │ ├── BasicBlockInContext.java
│ │ ├── EdgeFilter.java
│ │ ├── ExceptionPrunedCFG.java
│ │ ├── ExplodedInterproceduralCFG.java
│ │ ├── InterproceduralCFG.java
│ │ ├── PrunedCFG.java
│ │ └── package.html
│ ├── cha
│ │ ├── CancelCHAConstructionException.java
│ │ ├── ClassHierarchy.java
│ │ ├── ClassHierarchyException.java
│ │ ├── ClassHierarchyStats.java
│ │ ├── ClassHierarchyUtil.java
│ │ ├── ClassHierarchyWarning.java
│ │ ├── IClassHierarchy.java
│ │ ├── IClassHierarchyDweller.java
│ │ └── package.html
│ ├── modref
│ │ ├── ArrayLengthKey.java
│ │ ├── DelegatingExtendedHeapModel.java
│ │ ├── ExtendedHeapModel.java
│ │ ├── GenReach.java
│ │ ├── ModRef.java
│ │ └── ModRefFieldAccess.java
│ ├── slicer
│ │ ├── ExceptionalReturnCallee.java
│ │ ├── ExceptionalReturnCaller.java
│ │ ├── GetCaughtExceptionStatement.java
│ │ ├── HeapExclusions.java
│ │ ├── HeapReachingDefs.java
│ │ ├── HeapStatement.java
│ │ ├── ISDG.java
│ │ ├── MethodEntryStatement.java
│ │ ├── MethodExitStatement.java
│ │ ├── NormalReturnCallee.java
│ │ ├── NormalReturnCaller.java
│ │ ├── NormalStatement.java
│ │ ├── PDG.java
│ │ ├── ParamCallee.java
│ │ ├── ParamCaller.java
│ │ ├── PhiStatement.java
│ │ ├── PiStatement.java
│ │ ├── ReachabilityFunctions.java
│ │ ├── SDG.java
│ │ ├── SDGSupergraph.java
│ │ ├── SliceFunctions.java
│ │ ├── Slicer.java
│ │ ├── Statement.java
│ │ ├── StatementWithInstructionIndex.java
│ │ ├── ValueNumberCarrier.java
│ │ └── thin
│ │ │ ├── CISDG.java
│ │ │ ├── CISlicer.java
│ │ │ └── ThinSlicer.java
│ └── summaries
│ │ ├── BypassClassTargetSelector.java
│ │ ├── BypassMethodTargetSelector.java
│ │ ├── BypassSyntheticClass.java
│ │ ├── BypassSyntheticClassLoader.java
│ │ ├── MethodBypass.java
│ │ ├── MethodSummary.java
│ │ ├── ReflectionSummary.java
│ │ ├── SummarizedMethod.java
│ │ ├── SummarizedMethodWithNames.java
│ │ ├── SyntheticIR.java
│ │ ├── SyntheticIRFactory.java
│ │ ├── VolatileMethodSummary.java
│ │ ├── XMLMethodSummaryReader.java
│ │ └── package.html
│ ├── model
│ ├── SyntheticFactory.java
│ └── java
│ │ └── lang
│ │ ├── System.java
│ │ ├── Thread.java
│ │ └── reflect
│ │ └── Array.java
│ ├── properties
│ ├── DefaultPropertiesValues.java
│ └── WalaProperties.java
│ ├── scc
│ ├── Bag.java
│ ├── Digraph.java
│ ├── DirectedDFS.java
│ ├── In.java
│ ├── TarjanSCC.java
│ └── TransitiveClosure.java
│ ├── ssa
│ ├── AuxiliaryCache.java
│ ├── CompoundPiPolicy.java
│ ├── ConstantValue.java
│ ├── DefUse.java
│ ├── DefaultIRFactory.java
│ ├── IR.java
│ ├── IRFactory.java
│ ├── ISSABasicBlock.java
│ ├── IVisitorWithAddresses.java
│ ├── InstanceOfPiPolicy.java
│ ├── NullTestPiPolicy.java
│ ├── PhiValue.java
│ ├── ReflectiveMemberAccess.java
│ ├── SSAAbstractInvokeInstruction.java
│ ├── SSAAbstractThrowInstruction.java
│ ├── SSAAbstractUnaryInstruction.java
│ ├── SSAAddressOfInstruction.java
│ ├── SSAArrayLengthInstruction.java
│ ├── SSAArrayLoadInstruction.java
│ ├── SSAArrayReferenceInstruction.java
│ ├── SSAArrayStoreInstruction.java
│ ├── SSABinaryOpInstruction.java
│ ├── SSABuilder.java
│ ├── SSACFG.java
│ ├── SSACache.java
│ ├── SSACheckCastInstruction.java
│ ├── SSAComparisonInstruction.java
│ ├── SSAConditionalBranchInstruction.java
│ ├── SSAConversionInstruction.java
│ ├── SSAFieldAccessInstruction.java
│ ├── SSAGetCaughtExceptionInstruction.java
│ ├── SSAGetInstruction.java
│ ├── SSAGotoInstruction.java
│ ├── SSAIndirectionData.java
│ ├── SSAInstanceofInstruction.java
│ ├── SSAInstruction.java
│ ├── SSAInstructionFactory.java
│ ├── SSAInvokeDynamicInstruction.java
│ ├── SSAInvokeInstruction.java
│ ├── SSALoadIndirectInstruction.java
│ ├── SSALoadMetadataInstruction.java
│ ├── SSAMonitorInstruction.java
│ ├── SSANewInstruction.java
│ ├── SSAOptions.java
│ ├── SSAPhiInstruction.java
│ ├── SSAPiInstruction.java
│ ├── SSAPiNodePolicy.java
│ ├── SSAPutInstruction.java
│ ├── SSAReturnInstruction.java
│ ├── SSAStoreIndirectInstruction.java
│ ├── SSASwitchInstruction.java
│ ├── SSAThrowInstruction.java
│ ├── SSAUnaryOpInstruction.java
│ ├── ShrikeIndirectionData.java
│ ├── SymbolTable.java
│ ├── Value.java
│ ├── analysis
│ │ ├── DeadAssignmentElimination.java
│ │ ├── ExplodedControlFlowGraph.java
│ │ ├── IExplodedBasicBlock.java
│ │ └── package.html
│ └── package.html
│ ├── types
│ ├── ClassLoaderReference.java
│ ├── Descriptor.java
│ ├── FieldReference.java
│ ├── MemberReference.java
│ ├── MethodReference.java
│ ├── Selector.java
│ ├── TypeName.java
│ ├── TypeReference.java
│ ├── annotations
│ │ ├── Annotation.java
│ │ └── Annotations.java
│ ├── generics
│ │ ├── ArrayTypeSignature.java
│ │ ├── BaseType.java
│ │ ├── ClassSignature.java
│ │ ├── ClassTypeSignature.java
│ │ ├── FormalTypeParameter.java
│ │ ├── MethodTypeSignature.java
│ │ ├── Signature.java
│ │ ├── TypeArgument.java
│ │ ├── TypeSignature.java
│ │ └── TypeVariableSignature.java
│ └── package.html
│ ├── util
│ ├── CancelRuntimeException.java
│ ├── PrimitiveAssignability.java
│ ├── ProgressMaster.java
│ ├── bytecode
│ │ ├── BytecodeStream.java
│ │ └── package.html
│ ├── config
│ │ ├── AnalysisScopeReader.java
│ │ └── package.html
│ ├── io
│ │ ├── FileProvider.java
│ │ └── FileSuffixes.java
│ ├── package.html
│ ├── ref
│ │ ├── CacheReference.java
│ │ └── ReferenceCleanser.java
│ ├── scope
│ │ └── JUnitEntryPoints.java
│ ├── shrike
│ │ ├── Exceptions.java
│ │ ├── ShrikeClassReaderHandle.java
│ │ └── ShrikeUtil.java
│ ├── ssa
│ │ ├── ClassLookupException.java
│ │ ├── IInstantiator.java
│ │ ├── ParameterAccessor.java
│ │ ├── SSAValue.java
│ │ ├── SSAValueManager.java
│ │ ├── TypeSafeInstructionFactory.java
│ │ └── package-info.java
│ ├── strings
│ │ ├── Atom.java
│ │ ├── ImmutableByteArray.java
│ │ ├── StringStuff.java
│ │ └── UTF8Convert.java
│ └── warnings
│ │ ├── Warning.java
│ │ ├── Warnings.java
│ │ └── package.html
│ └── viz
│ ├── PDFViewUtil.java
│ └── viewer
│ ├── CgPanel.java
│ ├── ChaPanel.java
│ ├── DualTreeCellRenderer.java
│ ├── IrAndSourceViewer.java
│ ├── IrViewer.java
│ ├── PaPanel.java
│ ├── SourceViewer.java
│ ├── WalaViewer.java
│ └── images
│ ├── ik_closed.png
│ ├── ik_leaf.png
│ ├── ik_open.png
│ ├── pk_closed.png
│ ├── pk_leaf.png
│ └── pk_open.png
├── com.ibm.wala.eclipse
├── .classpath
├── .gitignore
├── .project
├── .settings
│ ├── org.eclipse.jdt.core.prefs
│ └── org.eclipse.jdt.ui.prefs
├── META-INF
│ └── MANIFEST.MF
├── build.properties
├── build.xml
├── data
│ └── EclipseDefaultExclusions.txt
├── icons
│ └── Wala-icon.jpg
├── javaCompiler...args
├── plugin.xml
└── src
│ └── com
│ └── ibm
│ └── wala
│ └── eclipse
│ ├── Activator.java
│ ├── cg
│ ├── model
│ │ ├── AnalysisUtils.java
│ │ ├── KObjectSensitiveContextSelector.java
│ │ ├── ReceiverString.java
│ │ ├── ReceiverStringContext.java
│ │ ├── WalaCGModel.java
│ │ ├── WalaJarFileCGModel.java
│ │ ├── WalaJarFileCGModelWithMain.java
│ │ ├── WalaProjectCGModel.java
│ │ ├── WalaProjectCGModelWithMain.java
│ │ ├── WalaProjectCGModelWithType.java
│ │ └── WalaWebPageCGModel.java
│ └── views
│ │ ├── CGContentProvider.java
│ │ ├── CGJavaLabelProvider.java
│ │ ├── CGView.java
│ │ └── SelectWalaCGAction.java
│ └── util
│ └── WalaToJavaEltConverter.java
├── com.ibm.wala.ide.jdt
├── .classpath
├── .gitignore
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
├── META-INF
│ └── MANIFEST.MF
├── build.properties
├── pom.xml
└── source
│ └── com
│ └── ibm
│ └── wala
│ ├── cast
│ └── java
│ │ ├── client
│ │ └── JDTJavaSourceAnalysisEngine.java
│ │ └── translator
│ │ └── jdt
│ │ ├── FakeExceptionTypeBinding.java
│ │ ├── JDT2CAstUtils.java
│ │ ├── JDTClassLoaderFactory.java
│ │ ├── JDTIdentityMapper.java
│ │ ├── JDTJava2CAstTranslator.java
│ │ ├── JDTSourceLoaderImpl.java
│ │ ├── JDTSourceModuleTranslator.java
│ │ └── JDTTypeDictionary.java
│ ├── eclipse
│ └── headless
│ │ └── Main.java
│ └── ide
│ ├── AbstractJavaAnalysisAction.java
│ ├── jdt
│ └── Activator.java
│ └── util
│ ├── ASTNodeFinder.java
│ ├── JavaEclipseProjectPath.java
│ ├── JdtPosition.java
│ └── JdtUtil.java
├── com.ibm.wala.ide
├── .classpath
├── .project
├── .settings
│ ├── org.eclipse.jdt.core.prefs
│ ├── org.eclipse.jdt.launching.prefs
│ └── org.eclipse.jdt.ui.prefs
├── META-INF
│ └── MANIFEST.MF
├── build.properties
├── plugin.properties
├── pom.xml
└── src
│ └── com
│ └── ibm
│ └── wala
│ └── ide
│ ├── classloader
│ ├── EclipseSourceDirectoryTreeModule.java
│ └── EclipseSourceFileModule.java
│ ├── client
│ ├── EclipseProjectAnalysisEngine.java
│ └── EclipseProjectSourceAnalysisEngine.java
│ ├── plugin
│ └── CorePlugin.java
│ ├── ui
│ ├── AbstractJFaceRunner.java
│ ├── IFDSExplorer.java
│ ├── SWTTreeViewer.java
│ ├── ViewIFDSLocalAction.java
│ └── ViewIRAction.java
│ └── util
│ ├── EclipseAnalysisScopeReader.java
│ ├── EclipseFileProvider.java
│ ├── EclipseProjectPath.java
│ ├── HeadlessUtil.java
│ └── ProgressMonitorDelegate.java
├── com.ibm.wala.shrike
├── .classpath
├── .gitignore
├── .project
├── .settings
│ ├── org.eclipse.jdt.core.prefs
│ ├── org.eclipse.jdt.launching.prefs
│ └── org.eclipse.jdt.ui.prefs
├── META-INF
│ └── MANIFEST.MF
├── build.properties
├── build.xml
├── exportPlugin.xml
├── javaCompiler...args
├── plugin.properties
├── pom.xml
├── releng
│ └── versionMap-1.0.0.txt
└── src
│ └── com
│ └── ibm
│ └── wala
│ ├── shrike
│ ├── bench
│ │ ├── AddBytecodeDebug.java
│ │ ├── Bench.java
│ │ ├── InterfaceAnalyzer.java
│ │ ├── Mangler.java
│ │ ├── Slots.java
│ │ └── Statistics.java
│ ├── cg
│ │ ├── DynamicCallGraph.java
│ │ └── Runtime.java
│ └── copywriter
│ │ └── CopyWriter.java
│ ├── shrikeBT
│ ├── ArrayLengthInstruction.java
│ ├── ArrayLoadInstruction.java
│ ├── ArrayStoreInstruction.java
│ ├── BinaryOpInstruction.java
│ ├── BytecodeConstants.java
│ ├── CheckCastInstruction.java
│ ├── ComparisonInstruction.java
│ ├── Compiler.java
│ ├── ConditionalBranchInstruction.java
│ ├── ConstantInstruction.java
│ ├── ConstantPoolReader.java
│ ├── Constants.java
│ ├── ConversionInstruction.java
│ ├── Decoder.java
│ ├── Disassembler.java
│ ├── DupInstruction.java
│ ├── ExceptionHandler.java
│ ├── GetInstruction.java
│ ├── GotoInstruction.java
│ ├── IArrayLoadInstruction.java
│ ├── IArrayStoreInstruction.java
│ ├── IBinaryOpInstruction.java
│ ├── IComparisonInstruction.java
│ ├── IConditionalBranchInstruction.java
│ ├── IConversionInstruction.java
│ ├── IGetInstruction.java
│ ├── IInstanceofInstruction.java
│ ├── IInstruction.java
│ ├── IInvokeInstruction.java
│ ├── ILoadIndirectInstruction.java
│ ├── ILoadInstruction.java
│ ├── IMemoryOperation.java
│ ├── IPutInstruction.java
│ ├── IShiftInstruction.java
│ ├── IStoreIndirectInstruction.java
│ ├── IStoreInstruction.java
│ ├── ITypeTestInstruction.java
│ ├── IUnaryOpInstruction.java
│ ├── IndirectionData.java
│ ├── InstanceofInstruction.java
│ ├── Instruction.java
│ ├── InvokeDynamicInstruction.java
│ ├── InvokeInstruction.java
│ ├── LoadInstruction.java
│ ├── MethodData.java
│ ├── MethodEditor.java
│ ├── MonitorInstruction.java
│ ├── NewInstruction.java
│ ├── PopInstruction.java
│ ├── PutInstruction.java
│ ├── ReturnInstruction.java
│ ├── ShiftInstruction.java
│ ├── StoreInstruction.java
│ ├── SwapInstruction.java
│ ├── SwitchInstruction.java
│ ├── ThrowInstruction.java
│ ├── UnaryOpInstruction.java
│ ├── Util.java
│ ├── analysis
│ │ ├── Analyzer.java
│ │ ├── ClassHierarchy.java
│ │ ├── ClassHierarchyProvider.java
│ │ ├── ClassHierarchyStore.java
│ │ └── Verifier.java
│ ├── info
│ │ ├── InstructionTypeCounter.java
│ │ ├── LocalAllocator.java
│ │ └── ThisAssignmentChecker.java
│ ├── shrikeCT
│ │ ├── CTCompiler.java
│ │ ├── CTDecoder.java
│ │ ├── CTUtils.java
│ │ ├── ClassInstrumenter.java
│ │ ├── OfflineInstrumenter.java
│ │ └── tools
│ │ │ ├── AddSerialVersion.java
│ │ │ ├── BatchVerifier.java
│ │ │ ├── BootstrapDumper.java
│ │ │ ├── ClassPrinter.java
│ │ │ ├── ClassSearcher.java
│ │ │ └── MethodTracer.java
│ └── tools
│ │ ├── MethodOptimizer.java
│ │ └── OfflineInstrumenterBase.java
│ ├── shrikeCT
│ ├── AnnotationsReader.java
│ ├── AttributeReader.java
│ ├── BootstrapMethodsReader.java
│ ├── ClassConstants.java
│ ├── ClassReader.java
│ ├── ClassWriter.java
│ ├── CodeReader.java
│ ├── CodeWriter.java
│ ├── ConstantPoolParser.java
│ ├── ConstantValueReader.java
│ ├── ConstantValueWriter.java
│ ├── ExceptionsReader.java
│ ├── ExceptionsWriter.java
│ ├── InnerClassesReader.java
│ ├── InnerClassesWriter.java
│ ├── InvalidClassFileException.java
│ ├── LineNumberTableReader.java
│ ├── LineNumberTableWriter.java
│ ├── LocalVariableTableReader.java
│ ├── LocalVariableTableWriter.java
│ ├── SignatureReader.java
│ ├── SourceDebugExtensionReader.java
│ ├── SourceDebugExtensionWriter.java
│ ├── SourceFileReader.java
│ ├── SourceFileWriter.java
│ ├── SourcePositionTableReader.java
│ ├── StackMapConstants.java
│ ├── StackMapTableReader.java
│ └── StackMapTableWriter.java
│ └── sourcepos
│ ├── CRTData.java
│ ├── CRTFlags.java
│ ├── CRTable.java
│ ├── Debug.java
│ ├── InvalidCRTDataException.java
│ ├── InvalidPositionException.java
│ ├── InvalidRangeException.java
│ ├── InvalidSourceInfoException.java
│ ├── MethodPositions.java
│ ├── Position.java
│ ├── PositionsAttribute.java
│ └── Range.java
├── com.ibm.wala.util
├── .classpath
├── .gitignore
├── .project
├── .settings
│ ├── org.eclipse.jdt.core.prefs
│ ├── org.eclipse.jdt.launching.prefs
│ └── org.eclipse.jdt.ui.prefs
├── META-INF
│ └── MANIFEST.MF
├── build.properties
├── mvncentral.xml
├── pom.xml
└── src
│ └── com
│ └── ibm
│ └── wala
│ ├── dataflow
│ └── graph
│ │ ├── AbstractMeetOperator.java
│ │ ├── BasicFramework.java
│ │ ├── BitVectorFilter.java
│ │ ├── BitVectorFramework.java
│ │ ├── BitVectorIdentity.java
│ │ ├── BitVectorIntersection.java
│ │ ├── BitVectorKillAll.java
│ │ ├── BitVectorKillGen.java
│ │ ├── BitVectorMinusVector.java
│ │ ├── BitVectorOr.java
│ │ ├── BitVectorSolver.java
│ │ ├── BitVectorUnion.java
│ │ ├── BitVectorUnionConstant.java
│ │ ├── BitVectorUnionVector.java
│ │ ├── BooleanIdentity.java
│ │ ├── BooleanSolver.java
│ │ ├── BooleanUnion.java
│ │ ├── DataflowSolver.java
│ │ ├── IKilldallFramework.java
│ │ ├── ITransferFunctionProvider.java
│ │ ├── UnaryBitVectorUnion.java
│ │ └── package.html
│ ├── fixedpoint
│ └── impl
│ │ ├── AbstractFixedPointSolver.java
│ │ ├── BasicNullaryStatement.java
│ │ ├── DefaultFixedPointSolver.java
│ │ ├── DefaultFixedPointSystem.java
│ │ ├── GeneralStatement.java
│ │ ├── NullaryOperator.java
│ │ ├── NullaryStatement.java
│ │ └── Worklist.java
│ ├── fixpoint
│ ├── AbstractOperator.java
│ ├── AbstractStatement.java
│ ├── AbstractVariable.java
│ ├── BasicUnaryStatement.java
│ ├── BitVectorVariable.java
│ ├── BooleanVariable.java
│ ├── FixedPointConstants.java
│ ├── IFixedPointSolver.java
│ ├── IFixedPointStatement.java
│ ├── IFixedPointSystem.java
│ ├── IVariable.java
│ ├── IntSetVariable.java
│ ├── TrueOperator.java
│ ├── UnaryOperator.java
│ ├── UnaryOr.java
│ ├── UnaryStatement.java
│ └── package.html
│ ├── util
│ ├── CancelException.java
│ ├── MonitorUtil.java
│ ├── NullProgressMonitor.java
│ ├── PlatformUtil.java
│ ├── Predicate.java
│ ├── WalaException.java
│ ├── WalaRuntimeException.java
│ ├── collections
│ │ ├── AbstractMultiMap.java
│ │ ├── ArrayIterator.java
│ │ ├── ArrayNonNullIterator.java
│ │ ├── ArraySet.java
│ │ ├── ArraySetMultiMap.java
│ │ ├── BimodalMap.java
│ │ ├── CollectionFilter.java
│ │ ├── ComposedIterator.java
│ │ ├── CompoundIntIterator.java
│ │ ├── CompoundIterator.java
│ │ ├── EmptyIntIterator.java
│ │ ├── EmptyIterator.java
│ │ ├── Factory.java
│ │ ├── FifoQueue.java
│ │ ├── FifoQueueNoDuplicates.java
│ │ ├── Filter.java
│ │ ├── FilterIterator.java
│ │ ├── FilterPredicate.java
│ │ ├── Filtersection.java
│ │ ├── HashCodeComparator.java
│ │ ├── HashMapFactory.java
│ │ ├── HashSetFactory.java
│ │ ├── HashSetMultiMap.java
│ │ ├── Heap.java
│ │ ├── IVector.java
│ │ ├── ImmutableStack.java
│ │ ├── IndiscriminateFilter.java
│ │ ├── IntMapIterator.java
│ │ ├── IntStack.java
│ │ ├── Iterator2Collection.java
│ │ ├── Iterator2Iterable.java
│ │ ├── Iterator2List.java
│ │ ├── Iterator2Set.java
│ │ ├── IteratorPlusOne.java
│ │ ├── IteratorPlusTwo.java
│ │ ├── IteratorUtil.java
│ │ ├── MapIterator.java
│ │ ├── MapUtil.java
│ │ ├── MultiMap.java
│ │ ├── NonNullSingletonIterator.java
│ │ ├── ObjectArrayMapping.java
│ │ ├── ObjectVisitor.java
│ │ ├── OrFilter.java
│ │ ├── Pair.java
│ │ ├── ParanoidHashMap.java
│ │ ├── ParanoidHashSet.java
│ │ ├── ReverseIterator.java
│ │ ├── SimpleVector.java
│ │ ├── SmallMap.java
│ │ ├── SparseVector.java
│ │ ├── ToStringComparator.java
│ │ ├── TwoLevelVector.java
│ │ ├── Util.java
│ │ └── package.html
│ ├── config
│ │ ├── FileOfClasses.java
│ │ └── SetOfClasses.java
│ ├── debug
│ │ ├── Assertions.java
│ │ ├── LoggingStopwatch.java
│ │ ├── UnimplementedError.java
│ │ ├── VerboseAction.java
│ │ └── package.html
│ ├── functions
│ │ ├── Function.java
│ │ ├── IntFunction.java
│ │ └── VoidFunction.java
│ ├── graph
│ │ ├── AbstractGraph.java
│ │ ├── AbstractNumberedGraph.java
│ │ ├── Acyclic.java
│ │ ├── BasicTree.java
│ │ ├── EdgeFilteredNumberedGraph.java
│ │ ├── EdgeManager.java
│ │ ├── GXL.java
│ │ ├── Graph.java
│ │ ├── GraphIntegrity.java
│ │ ├── GraphPrint.java
│ │ ├── GraphReachability.java
│ │ ├── GraphSlicer.java
│ │ ├── GraphUtil.java
│ │ ├── INodeWithNumber.java
│ │ ├── INodeWithNumberedEdges.java
│ │ ├── InferGraphRoots.java
│ │ ├── NodeManager.java
│ │ ├── NumberedEdgeManager.java
│ │ ├── NumberedGraph.java
│ │ ├── NumberedNodeManager.java
│ │ ├── OrderedMultiGraph.java
│ │ ├── Path.java
│ │ ├── dominators
│ │ │ ├── DominanceFrontiers.java
│ │ │ ├── Dominators.java
│ │ │ ├── GenericDominators.java
│ │ │ └── NumberedDominators.java
│ │ ├── impl
│ │ │ ├── BasicNodeManager.java
│ │ │ ├── BasicOrderedMultiGraph.java
│ │ │ ├── DelegatingGraph.java
│ │ │ ├── DelegatingNumberedEdgeManager.java
│ │ │ ├── DelegatingNumberedGraph.java
│ │ │ ├── DelegatingNumberedNodeManager.java
│ │ │ ├── ExtensionGraph.java
│ │ │ ├── GraphInverter.java
│ │ │ ├── InvertedGraph.java
│ │ │ ├── InvertedNumberedGraph.java
│ │ │ ├── InvertingEdgeManager.java
│ │ │ ├── InvertingNumberedEdgeManager.java
│ │ │ ├── NodeWithNumber.java
│ │ │ ├── NodeWithNumberedEdges.java
│ │ │ ├── NumberedNodeIterator.java
│ │ │ ├── SlowNumberedNodeManager.java
│ │ │ ├── SlowSparseNumberedGraph.java
│ │ │ ├── SparseNumberedEdgeManager.java
│ │ │ ├── SparseNumberedGraph.java
│ │ │ └── package.html
│ │ ├── labeled
│ │ │ ├── AbstractLabeledGraph.java
│ │ │ ├── AbstractNumberedLabeledGraph.java
│ │ │ ├── LabeledEdgeManager.java
│ │ │ ├── LabeledGraph.java
│ │ │ ├── NumberedLabeledEdgeManager.java
│ │ │ ├── SlowSparseNumberedLabeledGraph.java
│ │ │ └── SparseNumberedLabeledEdgeManager.java
│ │ ├── package.html
│ │ └── traverse
│ │ │ ├── BFSIterator.java
│ │ │ ├── BFSPathFinder.java
│ │ │ ├── BoundedBFSIterator.java
│ │ │ ├── DFS.java
│ │ │ ├── DFSAllPathsFinder.java
│ │ │ ├── DFSDiscoverTimeIterator.java
│ │ │ ├── DFSFinishTimeIterator.java
│ │ │ ├── DFSPathFinder.java
│ │ │ ├── FloydWarshall.java
│ │ │ ├── GraphDFSDiscoverTimeIterator.java
│ │ │ ├── NumberedDFSDiscoverTimeIterator.java
│ │ │ ├── NumberedDFSFinishTimeIterator.java
│ │ │ ├── SCCIterator.java
│ │ │ ├── SlowDFSDiscoverTimeIterator.java
│ │ │ ├── SlowDFSFinishTimeIterator.java
│ │ │ ├── Topological.java
│ │ │ ├── WelshPowell.java
│ │ │ └── package.html
│ ├── heapTrace
│ │ ├── HeapTracer.java
│ │ └── package.html
│ ├── intset
│ │ ├── BasicNaturalRelation.java
│ │ ├── BimodalMutableIntSet.java
│ │ ├── BimodalMutableIntSetFactory.java
│ │ ├── BitSet.java
│ │ ├── BitVector.java
│ │ ├── BitVectorBase.java
│ │ ├── BitVectorIntSet.java
│ │ ├── BitVectorIntSetFactory.java
│ │ ├── BitVectorRepository.java
│ │ ├── Bits.java
│ │ ├── DebuggingMutableIntSet.java
│ │ ├── DebuggingMutableIntSetFactory.java
│ │ ├── EmptyIntSet.java
│ │ ├── FixedSizeBitVector.java
│ │ ├── IBinaryNaturalRelation.java
│ │ ├── IntIterator.java
│ │ ├── IntPair.java
│ │ ├── IntSet.java
│ │ ├── IntSetAction.java
│ │ ├── IntSetUtil.java
│ │ ├── IntVector.java
│ │ ├── IntegerUnionFind.java
│ │ ├── LongIterator.java
│ │ ├── LongSet.java
│ │ ├── LongSetAction.java
│ │ ├── LongSetUtil.java
│ │ ├── MultiModalIntVector.java
│ │ ├── MutableIntSet.java
│ │ ├── MutableIntSetFactory.java
│ │ ├── MutableLongSet.java
│ │ ├── MutableLongSetFactory.java
│ │ ├── MutableMapping.java
│ │ ├── MutableSharedBitVectorIntSet.java
│ │ ├── MutableSharedBitVectorIntSetFactory.java
│ │ ├── MutableSparseIntSet.java
│ │ ├── MutableSparseIntSetFactory.java
│ │ ├── MutableSparseLongSet.java
│ │ ├── MutableSparseLongSetFactory.java
│ │ ├── NumberUtility.java
│ │ ├── OffsetBitVector.java
│ │ ├── OffsetOrdinalSetMapping.java
│ │ ├── OrdinalSet.java
│ │ ├── OrdinalSetMapping.java
│ │ ├── SemiSparseMutableIntSet.java
│ │ ├── SemiSparseMutableIntSetFactory.java
│ │ ├── SimpleIntVector.java
│ │ ├── SparseIntSet.java
│ │ ├── SparseIntVector.java
│ │ ├── SparseLongIntVector.java
│ │ ├── SparseLongSet.java
│ │ ├── TunedMutableSparseIntSet.java
│ │ ├── TunedSimpleIntVector.java
│ │ ├── TwoLevelIntVector.java
│ │ └── package.html
│ ├── io
│ │ ├── CommandLine.java
│ │ ├── FileUtil.java
│ │ ├── Streams.java
│ │ └── TemporaryFile.java
│ ├── math
│ │ ├── Factorial.java
│ │ ├── Logs.java
│ │ ├── LongUtil.java
│ │ └── package.html
│ ├── perf
│ │ ├── Stopwatch.java
│ │ └── StopwatchGC.java
│ ├── processes
│ │ ├── BasicLauncher.java
│ │ ├── JavaLauncher.java
│ │ └── Launcher.java
│ └── tables
│ │ ├── Query.java
│ │ ├── StringTable.java
│ │ └── Table.java
│ └── viz
│ ├── DotUtil.java
│ ├── NodeDecorator.java
│ └── PDFViewLauncher.java
└── edu.tamu.cse.aser.sword
├── .classpath
├── .project
├── .settings
├── org.eclipse.jdt.core.prefs
└── org.eclipse.m2e.core.prefs
├── META-INF
└── MANIFEST.MF
├── akka-actor_2.12-2.4.16.jar
├── avrora_report
├── avrora_traver_cls
├── bin
├── .gitignore
├── EclipseDefaultExclusions.backup.txt
├── EclipseDefaultExclusions.txt
├── entries.txt
├── hello.txt
├── test.txt
└── test2.txt
├── build.properties
├── commons-cli-1.4.jar
├── config-1.3.1.jar
├── data
├── EclipseDefaultExclusions.backup.txt
├── EclipseDefaultExclusions.txt
├── entries.txt
├── hello.txt
├── test.txt
└── test2.txt
├── elevator_report
├── elevator_traver_cls
├── icons
├── Lock-icon.png
├── annotationsView.png
├── arrow.gif
├── blank.gif
├── bug.gif
├── buggy-tiny-blue.png
├── buggy-tiny-gray.png
├── buggy-tiny-green.png
├── buggy-tiny-orange.png
├── buggy-tiny-yellow.png
├── buggy-tiny-yellow2.png
├── buggy-tiny.png
├── buggy-tiny.xcf
├── bugview.gif
├── circle-running-icon.png
├── confidence-high.png
├── confidence-ignore.png
├── confidence-low.png
├── confidence-normal.png
├── datasheet.gif
├── detailsView.png
├── doc_icon.png
├── export_bugs.png
├── file_icon.png
├── folder_icon.gif
├── folder_icon.png
├── forward_nav.gif
├── parallel.png
├── read-icon.png
├── refresh.gif
├── runFindbugs.png
├── shuffle.png
├── treeView.png
├── warning.png
└── write-icon.png
├── jface-3.6.1.M20100825-0800.jar
├── log_d4_tradesoap
├── log_sword_sunflow
├── lusearch_report
├── lusearch_traver_cls
├── org.eclipse.jface-3.1.0.jar
├── plugin.xml
├── pom.xml
├── scala-java8-compat_2.12-0.8.0.jar
├── scala-library-2.12.1.jar
├── sor_report
├── sor_traver_cls
├── src
└── edu
│ └── tamu
│ └── aser
│ └── tide
│ ├── akkasys
│ ├── BugHub.java
│ ├── BugWorker.java
│ ├── CheckDatarace.java
│ ├── CheckDeadlock.java
│ ├── DistributeDatarace.java
│ ├── DistributeDeadlock.java
│ ├── FindSharedVarJob.java
│ ├── FindSharedVariable.java
│ ├── RemoveLocalJob.java
│ ├── RemoveLocalVar.java
│ └── ReturnResult.java
│ ├── cli
│ └── Main.java
│ ├── engine
│ ├── AnalysisUtils.java
│ ├── AstCGNodeEcho.java
│ ├── BugResolutionGenerator.java
│ ├── ITIDEBug.java
│ ├── Loop.java
│ ├── TIDECGModel.java
│ ├── TIDEDeadlock.java
│ ├── TIDEEngine.java
│ └── TIDERace.java
│ ├── marker
│ ├── BugMarker.java
│ ├── DLMarkerUpdater.java
│ └── RaceMarkerUpdater.java
│ ├── nodes
│ ├── DLPair.java
│ ├── DLockNode.java
│ ├── DUnlockNode.java
│ ├── INode.java
│ ├── JoinNode.java
│ ├── LockPair.java
│ ├── MemNode.java
│ ├── MethodNode.java
│ ├── ReadNode.java
│ ├── StartNode.java
│ ├── SyncNode.java
│ └── WriteNode.java
│ ├── plugin
│ ├── Activator.java
│ ├── ChangedItem.java
│ ├── MyJavaElementChangeReporter.java
│ ├── MyPropTester.java
│ └── handlers
│ │ └── ConvertHandler.java
│ ├── shb
│ ├── SHBEdge.java
│ ├── SHBGraph.java
│ ├── SHBGraph_bakup.java
│ └── Trace.java
│ ├── tests
│ ├── Data.java
│ ├── Data_init.java
│ └── Test.java
│ └── views
│ ├── BugContentProvider.java
│ ├── BugDetail.java
│ ├── BugLabelProvider.java
│ ├── CReadNode.java
│ ├── CSuperWriteNode.java
│ ├── CWriteNode.java
│ ├── ConcurrentRWList.java
│ ├── ConcurrentReadList.java
│ ├── ConcurrentRelation.java
│ ├── ConcurrentWriteList.java
│ ├── DeadlockDetail.java
│ ├── DeadlockNode.java
│ ├── EchoDLView.java
│ ├── EchoRaceView.java
│ ├── EchoReadWriteView.java
│ ├── EventNode.java
│ ├── FixNode.java
│ ├── ITreeNode.java
│ ├── NewestBugLabelProvider.java
│ ├── RWRelationNode.java
│ ├── RaceDetail.java
│ ├── RaceNode.java
│ ├── RelationDetail.java
│ ├── SaveExcludeAction.java
│ ├── SubTraceNode.java
│ ├── TraceNode.java
│ └── TreeNode.java
├── sunflow_report
├── sunflow_traver_cls
├── swt.jar
├── tsp_report
├── tsp_traver_cls
└── weblech_traver_cls
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | *.metadata
3 | *.class
4 | .metadata/*
5 | .recommenders/*
6 | pta-each-iter
7 | pta-origin-each-iter
8 | traces.txt
9 | com.ibm.wala.cast.test/
10 | com.ibm.wala.core.tests/
11 | com.ibm.wala.core.testdata/
12 | edu.tamu.cse.aser.echo/bin/
13 | com.ibm.wala.cast/bin/
14 | com.ibm.wala.cast.java/bin/
15 | com.ibm.wala.cast.test/bin/
16 | com.ibm.wala.core/bin/
17 | com.ibm.wala.core.tests/bin/
18 | com.ibm.wala.core.testdata/bin/
19 | com.ibm.wala.eclipse/bin/
20 | com.ibm.wala.ide/bin/
21 | com.ibm.wala.ide.jdt/bin/
22 | com.ibm.wala.shrike/bin/
23 | com.ibm.wala.util/bin/
24 | edu.tamu.cse.aser.echo/.DS_Store
25 | RemoteSystemsTempFiles/
26 | Eclipse.app/
27 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2018 parasol-aser
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/com.ibm.wala.cast.java/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/com.ibm.wala.cast.java/.gitignore:
--------------------------------------------------------------------------------
1 | /bin/
2 |
--------------------------------------------------------------------------------
/com.ibm.wala.cast.java/.launchConfigurations/WALA-CAst-Java-Library-Downloads.launch:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/com.ibm.wala.cast.java/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | com.ibm.wala.cast.java
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.jdt.core.javabuilder
10 |
11 |
12 |
13 |
14 | org.eclipse.pde.ManifestBuilder
15 |
16 |
17 |
18 |
19 | org.eclipse.pde.SchemaBuilder
20 |
21 |
22 |
23 |
24 |
25 | org.eclipse.pde.PluginNature
26 | org.eclipse.jdt.core.javanature
27 |
28 |
29 |
--------------------------------------------------------------------------------
/com.ibm.wala.cast.java/.settings/org.eclipse.jdt.launching.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=ignore
3 |
--------------------------------------------------------------------------------
/com.ibm.wala.cast.java/.settings/org.eclipse.jdt.ui.prefs:
--------------------------------------------------------------------------------
1 | #Thu Jan 03 11:24:43 EST 2008
2 | eclipse.preferences.version=1
3 | formatter_profile=_WALA
4 | formatter_settings_version=11
5 | instance/org.eclipse.core.net/org.eclipse.core.net.hasMigrated=true
6 |
--------------------------------------------------------------------------------
/com.ibm.wala.cast.java/META-INF/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Bundle-ManifestVersion: 2
3 | Bundle-Name: Java Source WALA Front End
4 | Bundle-SymbolicName: com.ibm.wala.cast.java
5 | Bundle-Version: 1.3.4.qualifier
6 | Bundle-Activator: com.ibm.wala.cast.java.JavaSourcePlugin
7 | Bundle-Vendor: rfuhrer@watson.ibm.com
8 | Require-Bundle: com.ibm.wala.cast,
9 | com.ibm.wala.core,
10 | com.ibm.wala.shrike,
11 | org.eclipse.core.runtime
12 | Bundle-ActivationPolicy: lazy
13 | Export-Package: com.ibm.wala.cast.java,
14 | com.ibm.wala.cast.java.analysis.typeInference,
15 | com.ibm.wala.cast.java.client,
16 | com.ibm.wala.cast.java.client.impl,
17 | com.ibm.wala.cast.java.examples.ast,
18 | com.ibm.wala.cast.java.ipa.callgraph,
19 | com.ibm.wala.cast.java.ipa.modref,
20 | com.ibm.wala.cast.java.ipa.slicer,
21 | com.ibm.wala.cast.java.loader,
22 | com.ibm.wala.cast.java.ssa,
23 | com.ibm.wala.cast.java.translator,
24 | com.ibm.wala.cast.java.types
25 | Bundle-ClassPath: .
26 | Bundle-RequiredExecutionEnvironment: JavaSE-1.7
27 |
--------------------------------------------------------------------------------
/com.ibm.wala.cast.java/build.properties:
--------------------------------------------------------------------------------
1 | source.. = src/
2 | output.. = bin/
3 | bin.includes = META-INF/,\
4 | .
5 |
--------------------------------------------------------------------------------
/com.ibm.wala.cast.java/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 | 4.0.0
5 |
6 | WALA
7 | com.ibm.wala
8 | 1.3.4-SNAPSHOT
9 |
10 | com.ibm.wala.cast.java
11 | eclipse-plugin
12 |
13 |
--------------------------------------------------------------------------------
/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/ssa/AstJavaAbstractInstructionVisitor.java:
--------------------------------------------------------------------------------
1 | /******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *****************************************************************************/
11 | package com.ibm.wala.cast.java.ssa;
12 |
13 | import com.ibm.wala.cast.ir.ssa.AstAbstractInstructionVisitor;
14 |
15 | public class AstJavaAbstractInstructionVisitor
16 | extends AstAbstractInstructionVisitor
17 | implements AstJavaInstructionVisitor
18 | {
19 |
20 | @Override
21 | public void visitJavaInvoke(AstJavaInvokeInstruction instruction) {
22 |
23 | }
24 |
25 | @Override
26 | public void visitEnclosingObjectReference(EnclosingObjectReference inst) {
27 |
28 | }
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/ssa/AstJavaInstructionVisitor.java:
--------------------------------------------------------------------------------
1 | /******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *****************************************************************************/
11 | package com.ibm.wala.cast.java.ssa;
12 |
13 | import com.ibm.wala.cast.ir.ssa.AstInstructionVisitor;
14 |
15 | public interface AstJavaInstructionVisitor extends AstInstructionVisitor {
16 |
17 | public void visitJavaInvoke(AstJavaInvokeInstruction instruction);
18 |
19 | public void visitEnclosingObjectReference(EnclosingObjectReference inst);
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/translator/JavaProcedureEntity.java:
--------------------------------------------------------------------------------
1 | /******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *****************************************************************************/
11 | package com.ibm.wala.cast.java.translator;
12 |
13 | import com.ibm.wala.cast.tree.CAstEntity;
14 |
15 | public interface JavaProcedureEntity extends CAstEntity {
16 |
17 | @Override
18 | public String getSignature();
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/translator/SourceModuleTranslator.java:
--------------------------------------------------------------------------------
1 | /******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *****************************************************************************/
11 | /*
12 | * Created on Oct 6, 2005
13 | */
14 | package com.ibm.wala.cast.java.translator;
15 |
16 | import java.util.Set;
17 |
18 | import com.ibm.wala.classLoader.ModuleEntry;
19 |
20 | /**
21 | * An interface used by the JavaSourceLoaderImpl to encapsulate the loading of source
22 | * entities on the compile-time classpath into the DOMO analysis infrastructure.
23 | * @author rfuhrer
24 | */
25 | public interface SourceModuleTranslator {
26 | void loadAllSources(Set modules);
27 | }
28 |
--------------------------------------------------------------------------------
/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/types/JavaType.java:
--------------------------------------------------------------------------------
1 | /******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *****************************************************************************/
11 | /*
12 | * Created on Sep 21, 2005
13 | */
14 | package com.ibm.wala.cast.java.types;
15 |
16 | import com.ibm.wala.cast.tree.CAstType;
17 |
18 | public interface JavaType extends CAstType.Class {
19 | @Override
20 | boolean isInterface();
21 | }
22 |
--------------------------------------------------------------------------------
/com.ibm.wala.cast/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/com.ibm.wala.cast/.externalToolBuilders/make WALA.CAst.launch:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/com.ibm.wala.cast/.gitignore:
--------------------------------------------------------------------------------
1 | /bin/
2 |
--------------------------------------------------------------------------------
/com.ibm.wala.cast/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | com.ibm.wala.cast
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.jdt.core.javabuilder
10 |
11 |
12 |
13 |
14 | org.eclipse.pde.ManifestBuilder
15 |
16 |
17 |
18 |
19 | org.eclipse.pde.SchemaBuilder
20 |
21 |
22 |
23 |
24 | org.eclipse.ui.externaltools.ExternalToolBuilder
25 | full,incremental,
26 |
27 |
28 | LaunchConfigHandle
29 | <project>/.externalToolBuilders/make WALA.CAst.launch
30 |
31 |
32 |
33 |
34 |
35 | org.eclipse.pde.PluginNature
36 | org.eclipse.jdt.core.javanature
37 |
38 |
39 |
--------------------------------------------------------------------------------
/com.ibm.wala.cast/.settings/org.eclipse.jdt.launching.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=ignore
3 |
--------------------------------------------------------------------------------
/com.ibm.wala.cast/.settings/org.eclipse.jdt.ui.prefs:
--------------------------------------------------------------------------------
1 | #Thu Jan 03 11:24:41 EST 2008
2 | eclipse.preferences.version=1
3 | formatter_profile=_WALA
4 | formatter_settings_version=11
5 | instance/org.eclipse.core.net/org.eclipse.core.net.hasMigrated=true
6 |
--------------------------------------------------------------------------------
/com.ibm.wala.cast/META-INF/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Bundle-ManifestVersion: 2
3 | Bundle-Name: WALA CAst core Plug-in
4 | Bundle-SymbolicName: com.ibm.wala.cast
5 | Bundle-Version: 1.3.4.qualifier
6 | Bundle-Activator: com.ibm.wala.cast.plugin.AstPlugin
7 | Bundle-Vendor: IBM
8 | Require-Bundle: com.ibm.wala.core,
9 | com.ibm.wala.shrike,
10 | org.eclipse.core.runtime
11 | Bundle-ActivationPolicy: lazy
12 | Bundle-ClassPath: .,
13 | lib/commons-io-2.4.jar
14 | Export-Package: com.ibm.wala.cast.analysis.typeInference,
15 | com.ibm.wala.cast.ipa.callgraph,
16 | com.ibm.wala.cast.ipa.cha,
17 | com.ibm.wala.cast.ipa.lexical,
18 | com.ibm.wala.cast.ipa.modref,
19 | com.ibm.wala.cast.ir.cfg,
20 | com.ibm.wala.cast.ir.ssa,
21 | com.ibm.wala.cast.ir.ssa.analysis,
22 | com.ibm.wala.cast.ir.translator,
23 | com.ibm.wala.cast.loader,
24 | com.ibm.wala.cast.plugin,
25 | com.ibm.wala.cast.tree,
26 | com.ibm.wala.cast.tree.impl,
27 | com.ibm.wala.cast.tree.pattern,
28 | com.ibm.wala.cast.tree.rewrite,
29 | com.ibm.wala.cast.tree.visit,
30 | com.ibm.wala.cast.types,
31 | com.ibm.wala.cast.util,
32 | org.apache.commons.io,
33 | org.apache.commons.io.input
34 | Bundle-RequiredExecutionEnvironment: JavaSE-1.7
35 |
36 |
--------------------------------------------------------------------------------
/com.ibm.wala.cast/build.properties:
--------------------------------------------------------------------------------
1 | source.. = source/java/
2 | output.. = bin/
3 | bin.includes = META-INF/,\
4 | lib/commons-io-2.4.jar,\
5 | .
6 |
--------------------------------------------------------------------------------
/com.ibm.wala.cast/data/the-cast-system.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/com.ibm.wala.cast/data/the-cast-system.jpeg
--------------------------------------------------------------------------------
/com.ibm.wala.cast/data/the-cast-system.xcf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/com.ibm.wala.cast/data/the-cast-system.xcf
--------------------------------------------------------------------------------
/com.ibm.wala.cast/lib/commons-io-2.4.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/com.ibm.wala.cast/lib/commons-io-2.4.jar
--------------------------------------------------------------------------------
/com.ibm.wala.cast/source/c/Makefile.configuration.sample:
--------------------------------------------------------------------------------
1 | #
2 | # global configuration. adjust for your system.
3 | #
4 |
5 | # The root of the java SDK to use (must end in /)
6 | JAVA_SDK = /System/Library/Frameworks/JavaVM.framework/Home/
7 |
8 | # Path .class files of the com.ibm.domo.ast Java code (must end in /)
9 | DOMO_AST_BIN = /com.ibm.wala.cast/bin/
10 |
11 | # Extra stuff needed in the classpath of javah (must start with path separator)
12 | JAVAH_CLASS_PATH = :/com.ibm.wala.cast/bin/
13 |
14 | # enable debugging flags
15 | TRACE =
16 |
--------------------------------------------------------------------------------
/com.ibm.wala.cast/source/c/cbuild.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | if (uname | grep -i "cygwin"); then
4 | # This should be the default for most of cases;
5 | # adjust to your environment if necessary.
6 | MSVC="C:\Program Files\Microsoft Visual Studio 8\VC"
7 | ARCH=x86
8 |
9 | cmd.exe /c "call \"$MSVC\\vcvarsall.bat\" $ARCH && make"
10 | else
11 | make
12 | fi
13 |
--------------------------------------------------------------------------------
/com.ibm.wala.cast/source/c/include/cast_control_flow_map.h:
--------------------------------------------------------------------------------
1 | #if defined( _INCLUDE_CFM )
2 | #define _CAstControlFlowMap( __id, __type ) static jobject __id;
3 |
4 | #elif defined( _CPP_CFM )
5 | #define _CAstControlFlowMap( __id, __type ) jobject CAstWrapper::__id;
6 |
7 | #elif defined( _CODE_CFM )
8 | #define _CAstControlFlowMap( __id, __type ) \
9 | { \
10 | jfieldID f##__id = env->GetStaticFieldID(CAstControlFlowMap, #__id, __type); \
11 | THROW_ANY_EXCEPTION(exp); \
12 | jobject o##__id = env->GetStaticObjectField(CAstControlFlowMap, f##__id); \
13 | CAstWrapper::__id = env->NewGlobalRef(o##__id); \
14 | THROW_ANY_EXCEPTION(exp); \
15 | }
16 |
17 | #else
18 | #error "bad use of CAst control flow map"
19 |
20 | #endif
21 |
22 | _CAstControlFlowMap(SWITCH_DEFAULT, "Ljava/lang/Object;")
23 | _CAstControlFlowMap(EXCEPTION_TO_EXIT, "Lcom/ibm/wala/cast/tree/CAstNode;")
24 |
25 | #undef _CODE_CFM
26 | #undef _CPP_CFM
27 | #undef _INCLUDE_CFM
28 | #undef _CAstControlFlowMap
29 |
30 |
--------------------------------------------------------------------------------
/com.ibm.wala.cast/source/c/include/cast_qualifiers.h:
--------------------------------------------------------------------------------
1 | #if defined( _INCLUDE_QUALIFIERS )
2 | #define _CAstQualifier( __id ) static jobject __id;
3 |
4 | #elif defined( _CPP_QUALIFIERS )
5 | #define _CAstQualifier( __id ) jobject CAstWrapper::__id;
6 |
7 | #elif defined( _CODE_QUALIFIERS )
8 | #define _CAstQualifier( __id ) \
9 | { \
10 | jfieldID f##__id = env->GetStaticFieldID(CAstQualifier, #__id, "Lcom/ibm/wala/cast/tree/CAstQualifier;"); \
11 | jobject o##__id = env->GetStaticObjectField(CAstQualifier, f##__id); \
12 | CAstWrapper::__id = env->NewGlobalRef(o##__id); \
13 | THROW_ANY_EXCEPTION(exp); \
14 | }
15 |
16 | #else
17 | #error "bad use of CAst qualifiers"
18 |
19 | #endif
20 |
21 | _CAstQualifier(STRICTFP)
22 | _CAstQualifier(VOLATILE)
23 | _CAstQualifier(ABSTRACT)
24 | _CAstQualifier(INTERFACE)
25 | _CAstQualifier(NATIVE)
26 | _CAstQualifier(TRANSIENT)
27 | _CAstQualifier(SYNCHRONIZED)
28 | _CAstQualifier(FINAL)
29 | _CAstQualifier(STATIC)
30 | _CAstQualifier(PRIVATE)
31 | _CAstQualifier(PROTECTED)
32 | _CAstQualifier(PUBLIC)
33 | _CAstQualifier(CONST)
34 |
35 | #undef _CODE_QUALIFIERS
36 | #undef _CPP_QUALIFIERS
37 | #undef _INCLUDE_QUALIFIERS
38 | #undef _CAstQualifier
39 |
40 |
--------------------------------------------------------------------------------
/com.ibm.wala.cast/source/c/jni/Java_com_ibm_wala_cast_ir_translator_NativeBridge.cpp:
--------------------------------------------------------------------------------
1 |
2 | #include
3 |
4 | #include "CAstWrapper.h"
5 | #include "Exceptions.h"
6 | #include "com_ibm_wala_cast_ir_translator_NativeBridge.h"
7 |
8 | extern "C" {
9 |
10 | JNIEXPORT void JNICALL
11 | Java_com_ibm_wala_cast_ir_translator_NativeBridge_initialize(
12 | JNIEnv *env,
13 | jclass cls)
14 | {
15 | TRY(exp, env)
16 |
17 | jclass CAstNode = env->FindClass( "com/ibm/wala/cast/tree/CAstNode" );
18 | THROW_ANY_EXCEPTION(exp);
19 | jclass CAstOperator = env->FindClass( "com/ibm/wala/cast/tree/impl/CAstOperator" );
20 | THROW_ANY_EXCEPTION(exp);
21 | jclass CAstQualifier = env->FindClass( "com/ibm/wala/cast/tree/CAstQualifier" );
22 | THROW_ANY_EXCEPTION(exp);
23 | jclass CAstControlFlowMap = env->FindClass( "com/ibm/wala/cast/tree/CAstControlFlowMap" );
24 | THROW_ANY_EXCEPTION(exp);
25 |
26 | #define _CODE_CONSTANTS
27 | #include "cast_constants.h"
28 |
29 | #define _CODE_OPERATORS
30 | #include "cast_operators.h"
31 |
32 | #define _CODE_QUALIFIERS
33 | #include "cast_qualifiers.h"
34 |
35 | #define _CODE_CFM
36 | #include "cast_control_flow_map.h"
37 |
38 | CATCH()
39 | }
40 |
41 | }
42 |
--------------------------------------------------------------------------------
/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/AstCFAPointerKeys.java:
--------------------------------------------------------------------------------
1 | /******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *****************************************************************************/
11 | package com.ibm.wala.cast.ipa.callgraph;
12 |
13 | import com.ibm.wala.ipa.callgraph.propagation.cfa.DefaultPointerKeyFactory;
14 |
15 | public class AstCFAPointerKeys extends DelegatingAstPointerKeys {
16 |
17 | public AstCFAPointerKeys() {
18 | super(new DefaultPointerKeyFactory());
19 | }
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/AstHeapModel.java:
--------------------------------------------------------------------------------
1 | /******************************************************************************
2 | * Copyright (c) 2002 - 2014 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *****************************************************************************/
11 |
12 | package com.ibm.wala.cast.ipa.callgraph;
13 |
14 | import com.ibm.wala.ipa.modref.ExtendedHeapModel;
15 |
16 | public interface AstHeapModel extends ExtendedHeapModel, AstPointerKeyFactory {
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/cfg/Util.java:
--------------------------------------------------------------------------------
1 | /******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *****************************************************************************/
11 | package com.ibm.wala.cast.ir.cfg;
12 |
13 | import java.util.Iterator;
14 |
15 | import com.ibm.wala.cfg.ControlFlowGraph;
16 | import com.ibm.wala.cfg.IBasicBlock;
17 | import com.ibm.wala.util.debug.Assertions;
18 |
19 | public class Util {
20 |
21 | public static > int whichPred(ControlFlowGraph CFG, T Y, T X) {
22 | int i = 0;
23 | for (Iterator> N = CFG.getPredNodes(Y); N.hasNext(); i++)
24 | if (N.next() == X)
25 | return i;
26 |
27 | Assertions.UNREACHABLE();
28 | return -1;
29 | }
30 |
31 | }
32 |
--------------------------------------------------------------------------------
/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/ssa/AstPreInstructionVisitor.java:
--------------------------------------------------------------------------------
1 | /******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *****************************************************************************/
11 | package com.ibm.wala.cast.ir.ssa;
12 |
13 | public interface AstPreInstructionVisitor extends AstInstructionVisitor {
14 |
15 | public void visitAssign(AssignInstruction inst);
16 |
17 | }
18 |
19 |
--------------------------------------------------------------------------------
/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/translator/ArrayOpHandler.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2013 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.cast.ir.translator;
12 |
13 | import com.ibm.wala.cast.ir.translator.AstTranslator.WalkContext;
14 | import com.ibm.wala.cast.tree.CAstNode;
15 |
16 | public interface ArrayOpHandler {
17 | void doArrayRead(WalkContext context, int result, int arrayValue, CAstNode arrayRef, int[] dimValues);
18 |
19 | void doArrayWrite(WalkContext context, int arrayValue, CAstNode arrayRef, int[] dimValues, int rval);
20 | }
21 |
--------------------------------------------------------------------------------
/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/CAstAnnotation.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2013 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.cast.tree;
12 |
13 | import java.util.Map;
14 |
15 | public interface CAstAnnotation {
16 |
17 | CAstType getType();
18 |
19 | Map getArguments();
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/CAstNodeTypeMap.java:
--------------------------------------------------------------------------------
1 | /******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *****************************************************************************/
11 | /*
12 | * Created on Aug 30, 2005
13 | */
14 | package com.ibm.wala.cast.tree;
15 |
16 | import java.util.Collection;
17 |
18 | public interface CAstNodeTypeMap {
19 |
20 | Collection getMappedNodes();
21 |
22 | CAstType getNodeType(CAstNode node);
23 | }
24 |
--------------------------------------------------------------------------------
/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/CAstReference.java:
--------------------------------------------------------------------------------
1 | /******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *****************************************************************************/
11 | package com.ibm.wala.cast.tree;
12 |
13 | /**
14 | * This interface is used to denote various kinds of references in
15 | * CAst structures. It can be used to denote types for languages like
16 | * Java and PHP that have non-trivial mappings from names to actual
17 | * entities.
18 | *
19 | * @author Julian Dolby (dolby@us.ibm.com)
20 | */
21 | public interface CAstReference {
22 |
23 | CAstType type();
24 |
25 | };
26 |
--------------------------------------------------------------------------------
/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/CAstSymbol.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2013 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.cast.tree;
12 |
13 | public interface CAstSymbol {
14 |
15 | public static Object NULL_DEFAULT_VALUE = new Object() {
16 | @Override
17 | public String toString() {
18 | return "NULL DEFAULT VALUE";
19 | }
20 | };
21 |
22 | public String name();
23 |
24 | /**
25 | * like final in Java; can only be declared / assigned once
26 | */
27 | public boolean isFinal();
28 |
29 | public boolean isCaseInsensitive();
30 |
31 | public Object defaultInitValue();
32 |
33 | public boolean isInternalName();
34 |
35 | public CAstType type();
36 | }
37 |
38 |
--------------------------------------------------------------------------------
/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/CAstTypeDictionary.java:
--------------------------------------------------------------------------------
1 | /******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *****************************************************************************/
11 | /*
12 | * Created on Aug 31, 2005
13 | */
14 | package com.ibm.wala.cast.tree;
15 |
16 | import java.util.Iterator;
17 |
18 | public interface CAstTypeDictionary/**/ extends Iterable {
19 |
20 | CAstType getCAstTypeFor(Object/*ASTType*/ type);
21 |
22 | CAstReference resolveReference(CAstReference ref);
23 |
24 | @Override
25 | Iterator iterator();
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/pattern/Alt.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2013 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.cast.tree.pattern;
12 |
13 | import com.ibm.wala.cast.tree.CAstNode;
14 |
15 | /**
16 | * Pattern to match one of two alternatives.
17 | *
18 | * @author mschaefer
19 | *
20 | */
21 | public class Alt implements NodePattern {
22 | private final NodePattern left, right;
23 |
24 | public Alt(NodePattern left, NodePattern right) {
25 | this.left = left;
26 | this.right = right;
27 | }
28 |
29 | @Override
30 | public boolean matches(CAstNode node) {
31 | return left.matches(node) || right.matches(node);
32 | }
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/pattern/AnyNode.java:
--------------------------------------------------------------------------------
1 | /******************************************************************************
2 | * Copyright (c) 2011 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *****************************************************************************/
11 |
12 | package com.ibm.wala.cast.tree.pattern;
13 |
14 | import com.ibm.wala.cast.tree.CAstNode;
15 |
16 | /**
17 | * A node pattern that matches any AST node.
18 | *
19 | * @author mschaefer
20 | *
21 | */
22 | public class AnyNode implements NodePattern {
23 | @Override
24 | public boolean matches(CAstNode node) {
25 | return true;
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/pattern/NodePattern.java:
--------------------------------------------------------------------------------
1 | /******************************************************************************
2 | * Copyright (c) 2011 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *****************************************************************************/
11 |
12 | package com.ibm.wala.cast.tree.pattern;
13 |
14 | import com.ibm.wala.cast.tree.CAstNode;
15 |
16 | /**
17 | * Interface for lightweight AST patterns.
18 | *
19 | * @author mschaefer
20 | *
21 | */
22 | public interface NodePattern {
23 | public abstract boolean matches(CAstNode node);
24 | }
--------------------------------------------------------------------------------
/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/pattern/SubtreeOfKind.java:
--------------------------------------------------------------------------------
1 | /******************************************************************************
2 | * Copyright (c) 2011 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *****************************************************************************/
11 |
12 | package com.ibm.wala.cast.tree.pattern;
13 |
14 | import com.ibm.wala.cast.tree.CAstNode;
15 |
16 | /**
17 | * A node pattern matching a node of a given kind, without regard to its children.
18 | *
19 | * @author mschaefer
20 | *
21 | */
22 | public class SubtreeOfKind extends NodeOfKind {
23 | public SubtreeOfKind(int kind) {
24 | super(kind);
25 | }
26 |
27 | @Override
28 | public boolean matches(CAstNode node) {
29 | return node != null && node.getKind() == this.kind;
30 | }
31 | }
--------------------------------------------------------------------------------
/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/rewrite/CAstRewriterFactory.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2013 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.cast.tree.rewrite;
12 |
13 | import com.ibm.wala.cast.tree.CAst;
14 |
15 | public interface
16 | CAstRewriterFactory,
17 | K extends CAstRewriter.CopyKey>
18 | {
19 |
20 | public CAstRewriter createCAstRewriter(CAst ast);
21 |
22 | }
23 |
--------------------------------------------------------------------------------
/com.ibm.wala.cast/source/java/com/ibm/wala/cast/util/TargetLanguageSelector.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2013 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.cast.util;
12 |
13 | import com.ibm.wala.util.strings.Atom;
14 |
15 | public interface TargetLanguageSelector {
16 |
17 | T get(Atom language, C construct);
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/.gitignore:
--------------------------------------------------------------------------------
1 | /bin/
2 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | com.ibm.wala.core
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.jdt.core.javabuilder
10 |
11 |
12 |
13 |
14 | org.eclipse.pde.ManifestBuilder
15 |
16 |
17 |
18 |
19 | org.eclipse.pde.SchemaBuilder
20 |
21 |
22 |
23 |
24 |
25 | org.eclipse.pde.PluginNature
26 | org.eclipse.jdt.core.javanature
27 |
28 |
29 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/.settings/org.eclipse.jdt.launching.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=ignore
3 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/akka-actor-2.0.2.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/com.ibm.wala.core/akka-actor-2.0.2.jar
--------------------------------------------------------------------------------
/com.ibm.wala.core/akka-actor_2.12-2.4.16.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/com.ibm.wala.core/akka-actor_2.12-2.4.16.jar
--------------------------------------------------------------------------------
/com.ibm.wala.core/antbuild.properties:
--------------------------------------------------------------------------------
1 | # Where Shrike is located
2 | shrike.root=../com.ibm.wala.shrike
3 |
4 | # Where Eclipse 3.5 is located
5 | eclipse35.root=../../../eclipse
--------------------------------------------------------------------------------
/com.ibm.wala.core/build.properties:
--------------------------------------------------------------------------------
1 | bin.includes = plugin.properties,\
2 | dat/natives.xml,\
3 | META-INF/,\
4 | .,\
5 | akka-actor_2.12-2.4.16.jar,\
6 | scala-java8-compat_2.12-0.8.0.jar,\
7 | scala-library-2.12.1.jar,\
8 | config-1.3.1.jar
9 | jars.compile.order = .
10 | output.. = bin/
11 | source.. = dat/,\
12 | src/,\
13 | lib/
14 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/config-1.3.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/com.ibm.wala.core/config-1.3.1.jar
--------------------------------------------------------------------------------
/com.ibm.wala.core/dat/J2SEClassHierarchyExclusions.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/com.ibm.wala.core/dat/J2SEClassHierarchyExclusions.txt
--------------------------------------------------------------------------------
/com.ibm.wala.core/dat/SyntheticJ2SEModel.txt:
--------------------------------------------------------------------------------
1 | Primordial,Java,jarFile,primordial.jar.model
2 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/dat/WalaUtilMessages.properties:
--------------------------------------------------------------------------------
1 | ########## General messages
2 |
3 | ########## Error messages
4 |
5 | AbstractPropertyReader.invalid_property_value=Value for property ''{0}'' is invalid.
6 | AbstractPropertyReader.location_error=Path for file ''{0}'' do not exist and can''t be constructed.
7 | AbstractPropertyReader.no_string_value=Property ''{0}'' is not mapped to a string as expected.
8 | AbstractPropertyReader.incorrect_boolean_value=Boolean property ''{0}'' should not be mapped to a string.
9 | AbstractPropertyReader.incorrect_int_value=Integer property ''{0}'' should be mapped to an Integer object.
10 | AbstractPropertyReader.int_conversion_failed=Integer property ''{0}'' cannot convert ''{1}'' to an integer.
11 |
12 | CancelCHAConstructionException.cancelation_message=ClassHierarchy construction has been cancelled by progress monitor.
13 |
14 | PersistentPropertiesManager.property_file_unreadable=Unable to read property file named ''{0}''.
15 | PersistentPropertiesManager.reading_failure=Failed to load ''{0}''.
--------------------------------------------------------------------------------
/com.ibm.wala.core/dat/log.properties:
--------------------------------------------------------------------------------
1 | # Handlers installed for the root logger
2 | handlers= java.util.logging.ConsoleHandler java.util.logging.FileHandler
3 |
4 | ### Configure FileHandler
5 | # Logging file name in temporary directory of the machine.
6 | java.util.logging.FileHandler.pattern = %t/safeLogFile%g.log
7 | # Write 100 kbytes before rotating this file
8 | java.util.logging.FileHandler.limit = 100000
9 | # Number of rotating files to be used
10 | java.util.logging.FileHandler.count = 3
11 | # Formatter to be used with this FileHandler
12 | java.util.logging.FileHandler.formatter = com.ibm.wala.util.logging.SimplifiedFormatter
13 |
14 | # Configure ConsoleHandler
15 | java.util.logging.ConsoleHandler.level = WARNING
16 | java.util.logging.ConsoleHandler.formatter = com.ibm.wala.util.logging.SimplifiedFormatter
--------------------------------------------------------------------------------
/com.ibm.wala.core/dat/primordial.txt:
--------------------------------------------------------------------------------
1 | Primordial,Java,stdlib,none
2 | Primordial,Java,jarFile,primordial.jar.model
3 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/lib/poi-3.14-20160307.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/com.ibm.wala.core/lib/poi-3.14-20160307.jar
--------------------------------------------------------------------------------
/com.ibm.wala.core/lib/poi-ooxml-3.9.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/com.ibm.wala.core/lib/poi-ooxml-3.9.jar
--------------------------------------------------------------------------------
/com.ibm.wala.core/lib/primordial.jar.model:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/com.ibm.wala.core/lib/primordial.jar.model
--------------------------------------------------------------------------------
/com.ibm.wala.core/plugin.properties:
--------------------------------------------------------------------------------
1 | PLUGINNAME=core WALA analysis engine
2 | VENDORNAME=IBM
3 | providerName =IBM
4 |
5 | # ====================================================================
6 |
7 |
8 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 | 4.0.0
5 |
6 | WALA
7 | com.ibm.wala
8 | 1.3.4-SNAPSHOT
9 |
10 | com.ibm.wala.core
11 | eclipse-plugin
12 |
13 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/scala-java8-compat_2.12-0.8.0.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/com.ibm.wala.core/scala-java8-compat_2.12-0.8.0.jar
--------------------------------------------------------------------------------
/com.ibm.wala.core/scala-library-2.12.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/com.ibm.wala.core/scala-library-2.12.1.jar
--------------------------------------------------------------------------------
/com.ibm.wala.core/scala-library-2.9.2.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/com.ibm.wala.core/scala-library-2.9.2.jar
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/analysis/pointers/package.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | This package defines utilities to help navigate pointer analysis results.
4 |
5 |
6 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/analysis/reflection/IllegalArgumentExceptionContext.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2007 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.analysis.reflection;
12 |
13 | import com.ibm.wala.ipa.callgraph.Context;
14 | import com.ibm.wala.ipa.callgraph.ContextItem;
15 | import com.ibm.wala.ipa.callgraph.ContextKey;
16 |
17 |
18 | public class IllegalArgumentExceptionContext implements Context {
19 |
20 | @Override
21 | public ContextItem get(ContextKey name) {
22 | return null;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/analysis/reflection/InstanceKeyWithNode.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.analysis.reflection;
12 |
13 | import com.ibm.wala.ipa.callgraph.CGNode;
14 | import com.ibm.wala.ipa.callgraph.propagation.InstanceKey;
15 |
16 | /**
17 | * An instance key which has an associated {@link CGNode}.
18 | */
19 | public interface InstanceKeyWithNode extends InstanceKey {
20 |
21 | /**
22 | * @return the node which created this instance.
23 | */
24 | CGNode getNode();
25 | }
26 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/analysis/reflection/package.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | This package provides functions to deal with reflection.
4 |
5 |
6 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/analysis/stackMachine/package.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | This package provides a layer to perform abstract interpretation over
4 | the JVM stack machine.
5 |
6 |
7 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/analysis/typeInference/package.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | This package provides intraprocedural type inference over the SSA form.
4 |
5 |
6 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/cfg/BytecodeCFG.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2007 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.cfg;
12 |
13 | import java.util.Set;
14 |
15 | import com.ibm.wala.shrikeBT.ExceptionHandler;
16 |
17 | public interface BytecodeCFG {
18 |
19 | public Set getExceptionHandlers();
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/cfg/cdg/package.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | This package supports a control-dependence graph.
4 |
5 |
6 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/cfg/package.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | This package provides control-flow graph utilities.
4 |
5 |
6 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/classLoader/BytecodeLanguage.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2007 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.classLoader;
12 |
13 | import java.util.Collection;
14 |
15 | import com.ibm.wala.shrikeBT.IInstruction;
16 | import com.ibm.wala.types.TypeReference;
17 |
18 | public interface BytecodeLanguage extends Language {
19 |
20 | Collection getImplicitExceptionTypes(IInstruction pei);
21 |
22 | }
23 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/classLoader/Module.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 |
12 | package com.ibm.wala.classLoader;
13 |
14 | import java.util.Iterator;
15 |
16 | /**
17 | * A {@link Module} represents a set of files to analyze. eg., a Jar file.
18 | * These are persistent (hung onto by {@link ClassLoaderImpl}) .. so,
19 | * a Module should not hold onto a lot of data.
20 | */
21 | public interface Module {
22 |
23 | /**
24 | * @return an Iterator of the ModuleEntries in this Module.
25 | */
26 | Iterator extends ModuleEntry> getEntries();
27 | }
28 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/classLoader/ResourceJarFileModule.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2007 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.classLoader;
12 |
13 | import java.io.IOException;
14 | import java.io.InputStream;
15 | import java.net.URL;
16 |
17 | public class ResourceJarFileModule extends AbstractNestedJarFileModule {
18 |
19 | private final URL resourceURL;
20 |
21 | public ResourceJarFileModule(URL resourceURL) {
22 | super(new SourceURLModule(resourceURL));
23 | this.resourceURL = resourceURL;
24 | }
25 |
26 |
27 | @Override
28 | protected InputStream getNestedContents() throws IOException {
29 | return resourceURL.openConnection().getInputStream();
30 | }
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/classLoader/SourceModule.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2007 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.classLoader;
12 |
13 | import java.io.Reader;
14 | import java.net.URL;
15 |
16 | public interface SourceModule extends Module, ModuleEntry {
17 |
18 | Reader getInputReader();
19 |
20 | URL getURL();
21 |
22 | }
23 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/classLoader/package.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | This package provides functionality related to class loading and
4 | management of loaded classes.
5 |
6 |
7 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/client/package.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | This package provides interfaces for some base utilities for use by WALA clients.
4 |
5 |
6 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/core/plugin/package.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | This package provides a plugin class for Eclipse integration.
4 |
5 |
6 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/dataflow/IFDS/IFlowFunction.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.dataflow.IFDS;
12 |
13 | /**
14 | * A flow function corresponding to an edge in the supergraph.
15 | *
16 | * This function should be distributive for use with the Tabulation algorithm.
17 | */
18 | public interface IFlowFunction {
19 | }
20 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/dataflow/IFDS/ITabulationWorklist.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2008 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.dataflow.IFDS;
12 |
13 | /**
14 | * @param represents type of nodes in the supergraph.
15 | */
16 | public interface ITabulationWorklist {
17 |
18 | /**
19 | * @return the first object in the priority queue
20 | */
21 | PathEdge take();
22 |
23 | public void insert(PathEdge elt);
24 |
25 | int size();
26 | }
27 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/dataflow/IFDS/IUnaryFlowFunction.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.dataflow.IFDS;
12 |
13 | import com.ibm.wala.util.intset.IntSet;
14 |
15 | /**
16 | * A flow function corresponding to an edge in the supergraph.
17 | *
18 | * This function should be distributive for use with the Tabulation algorithm.
19 | */
20 | public interface IUnaryFlowFunction extends IFlowFunction {
21 |
22 | /**
23 | * @param d1
24 | * @return set of d2 such that (d1,d2) is an edge in this distributive function's graph representation, or null if there are none
25 | */
26 | public IntSet getTargets(int d1);
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/dataflow/IFDS/UnorderedDomain.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.dataflow.IFDS;
12 |
13 | import com.ibm.wala.util.intset.MutableMapping;
14 |
15 | /**
16 | * A {@link TabulationDomain} with no build-in partial order defining priority.
17 | */
18 | public class UnorderedDomain extends MutableMapping implements TabulationDomain {
19 |
20 | /*
21 | * @see com.ibm.wala.dataflow.IFDS.TabulationDomain#isWeakerThan(int, int)
22 | */
23 | @Override
24 | public boolean hasPriorityOver(PathEdge p1, PathEdge p2) {
25 | return false;
26 | }
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/dataflow/IFDS/package.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | This package provides an RHS solver for IFDS problems.
4 |
5 |
6 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/demandpa/alg/refinepolicy/ContainersFieldPolicy.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2007 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.demandpa.alg.refinepolicy;
12 |
13 | import java.util.regex.Pattern;
14 |
15 | import com.ibm.wala.ipa.cha.IClassHierarchy;
16 |
17 | public class ContainersFieldPolicy extends ManualFieldPolicy {
18 |
19 | public ContainersFieldPolicy(IClassHierarchy cha) {
20 | super(cha, Pattern.compile("Ljava/util(?!(/logging)).*"));
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/demandpa/flowgraph/IFlowLabelWithFilter.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2007 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.demandpa.flowgraph;
12 |
13 | import com.ibm.wala.ipa.callgraph.propagation.FilteredPointerKey.TypeFilter;
14 |
15 | public interface IFlowLabelWithFilter extends IFlowLabel {
16 |
17 | public TypeFilter getFilter();
18 | }
19 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/impl/package.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | This package provides some implementations of basic functions needed for
4 | various call graph construction algorithms.
5 |
6 |
7 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/package.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | This package provides basic interfaces and functions for call graph
4 | construction.
5 |
6 |
7 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/AbstractLocalPointerKey.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.ipa.callgraph.propagation;
12 |
13 | import com.ibm.wala.ipa.callgraph.CGNode;
14 |
15 | /**
16 | * A {@link PointerKey} representing a local variable must carry at least a {@link CGNode}.
17 | *
18 | */
19 | public abstract class AbstractLocalPointerKey extends AbstractPointerKey {
20 |
21 | abstract public CGNode getNode();
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/AbstractPointerKey.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.ipa.callgraph.propagation;
12 |
13 | /**
14 | * This class exists to force {@link PointerKey} implementations to implement equals() and hashCode()s.
15 | *
16 | */
17 | public abstract class AbstractPointerKey implements PointerKey {
18 | @Override
19 | public abstract boolean equals(Object obj);
20 |
21 | @Override
22 | public abstract int hashCode();
23 | }
24 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/IPointerOperator.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.ipa.callgraph.propagation;
12 |
13 | /**
14 | * An operator in pointer analysis constraints.
15 | */
16 | public interface IPointerOperator {
17 |
18 | /**
19 | * Is the operator complex; i.e., might it give rise to new constraints?
20 | */
21 | boolean isComplex();
22 |
23 | }
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/IPointsToSolver.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.ipa.callgraph.propagation;
12 |
13 |
14 | import java.util.Map;
15 |
16 | import com.ibm.wala.ipa.callgraph.CGNode;
17 | import com.ibm.wala.util.CancelException;
18 | import com.ibm.wala.util.MonitorUtil.IProgressMonitor;
19 |
20 | /**
21 | * Basic interface for a pointer analysis solver.
22 | */
23 | public interface IPointsToSolver {
24 |
25 | public void solve(IProgressMonitor monitor) throws IllegalArgumentException, CancelException;
26 | public void solve(CGNode node, Map added, Map deleted);
27 | }
28 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/InstanceFieldPointerKey.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.ipa.callgraph.propagation;
12 |
13 | public interface InstanceFieldPointerKey extends PointerKey {
14 |
15 | /**
16 | * @return the instance key which is the "container" for this pointer
17 | */
18 | InstanceKey getInstanceKey();
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/cfa/package.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | This package provides RTA call graph
4 | construction.
5 |
6 |
7 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/package.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | This package provides the base layer for propagation-based call graph
4 | construction and pointer analysis.
5 |
6 |
7 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/rta/package.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | This package provides CFA-style call graph
4 | construction and pointer analysis.
5 |
6 |
7 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/pruned/DoNotPrune.java:
--------------------------------------------------------------------------------
1 | /******************************************************************************
2 | * Copyright (c) 2002 - 2014 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *****************************************************************************/
11 |
12 | package com.ibm.wala.ipa.callgraph.pruned;
13 |
14 | import com.ibm.wala.ipa.callgraph.CGNode;
15 |
16 | public class DoNotPrune implements PruningPolicy {
17 |
18 | public static DoNotPrune INSTANCE = new DoNotPrune();
19 | @Override
20 | public boolean check(CGNode n) {
21 | return true;
22 | }
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/pruned/PruningPolicy.java:
--------------------------------------------------------------------------------
1 | /******************************************************************************
2 | * Copyright (c) 2002 - 2014 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *****************************************************************************/
11 |
12 | package com.ibm.wala.ipa.callgraph.pruned;
13 |
14 | import com.ibm.wala.ipa.callgraph.CGNode;
15 |
16 | /**
17 | * Policy which decides which branch of a call graph is going to be pruned.
18 | * @author Martin Mohr
19 | *
20 | */
21 | public interface PruningPolicy {
22 | /**
23 | * Returns whether the given node shall be kept.
24 | * @param n node to be checked
25 | * @return {@code true}, if this node shall be kept, {@code false} otherwise
26 | */
27 | boolean check(CGNode n);
28 | }
29 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/ipa/cfg/package.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | This package supports interprocedural control-flow graphs, and control-flow
4 | graphs specialized for context.
5 |
6 |
7 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/ipa/cha/CancelCHAConstructionException.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 |
12 | package com.ibm.wala.ipa.cha;
13 |
14 | /**
15 | * Exception class that indicates that construction of class hierarchy has been cancelled by a progress monitor.
16 | */
17 | public final class CancelCHAConstructionException extends ClassHierarchyException {
18 |
19 | private static final long serialVersionUID = -1987107302523285889L;
20 |
21 | public CancelCHAConstructionException() {
22 | super("class hierarchy construction was cancelled");
23 | }
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/ipa/cha/ClassHierarchyException.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.ipa.cha;
12 |
13 | import com.ibm.wala.util.WalaException;
14 |
15 | /**
16 | * An exception that means something went wrong when constructing a {@link ClassHierarchy}.
17 | */
18 | public class ClassHierarchyException extends WalaException {
19 | public static final long serialVersionUID = 381093189198391L;
20 |
21 |
22 | public ClassHierarchyException(String string) {
23 | super(string);
24 | }
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/ipa/cha/IClassHierarchyDweller.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.ipa.cha;
12 |
13 | /**
14 | * Something that lives in a class hierarchy
15 | */
16 | public interface IClassHierarchyDweller {
17 | public IClassHierarchy getClassHierarchy();
18 | }
19 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/ipa/cha/package.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | This package provides functionality related to class hierarchies.
4 |
5 |
6 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/ipa/slicer/ExceptionalReturnCallee.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2007 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.ipa.slicer;
12 |
13 | import com.ibm.wala.ipa.callgraph.CGNode;
14 |
15 | /**
16 | * A {@link Statement} representing the exceptional return value in a callee,
17 | * immediately before returning to the caller.
18 | */
19 | public class ExceptionalReturnCallee extends Statement {
20 |
21 | public ExceptionalReturnCallee(CGNode node) {
22 | super(node);
23 | }
24 |
25 | @Override
26 | public Kind getKind() {
27 | return Kind.EXC_RET_CALLEE;
28 | }
29 | }
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/ipa/slicer/NormalReturnCallee.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2007 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.ipa.slicer;
12 |
13 | import com.ibm.wala.ipa.callgraph.CGNode;
14 |
15 | /**
16 | * A {@link Statement} representing the normal return value in a callee,
17 | * immediately before returning to the caller.
18 | */
19 | public class NormalReturnCallee extends Statement {
20 |
21 | public NormalReturnCallee(CGNode node) {
22 | super(node);
23 | }
24 |
25 | @Override
26 | public Kind getKind() {
27 | return Kind.NORMAL_RET_CALLEE;
28 | }
29 | }
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/ipa/slicer/ValueNumberCarrier.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2007 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.ipa.slicer;
12 |
13 | public interface ValueNumberCarrier {
14 | int getValueNumber();
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/ipa/summaries/package.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | This package provides class hierarchy analysis.
4 |
5 |
6 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/model/SyntheticFactory.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.model;
12 |
13 | /**
14 | * A bogus class to support returning "unknown" objects
15 | */
16 | public class SyntheticFactory {
17 |
18 | /**
19 | * This method should be hijacked.
20 | * @return some object by reflection
21 | */
22 | public static native Object getObject();
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/model/java/lang/Thread.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2008 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.model.java.lang;
12 |
13 |
14 | /**
15 | * A synthetic model of single-threaded behavior
16 | */
17 | public class Thread {
18 |
19 | static final java.lang.Thread singleThread = new java.lang.Thread();
20 |
21 | public static java.lang.Thread currentThread() {
22 | return singleThread;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/properties/DefaultPropertiesValues.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.properties;
12 |
13 | public final class DefaultPropertiesValues {
14 |
15 | //--- Common options
16 |
17 | public static final String DEFAULT_WALA_REPORT_FILENAME = "wala_report.txt"; //$NON-NLS-1$
18 | public static final String DEFAULT_OUTPUT_DIR = "results"; //$NON-NLS-1$
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/ssa/Value.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.ssa;
12 |
13 | /**
14 | * Representation of a particular value which appears in an SSA IR.
15 | *
16 | * Clients probably shouldn't use this; it's only public (for now) due to Java's package-based weak module system.
17 | */
18 | public interface Value {
19 |
20 | /**
21 | * Is this value a string constant?
22 | */
23 | public boolean isStringConstant();
24 |
25 | /**
26 | * Is this value a null constant?
27 | */
28 | public boolean isNullConstant();
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/ssa/analysis/package.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | This package provides analyses over the WALA SSA IR.
4 |
5 |
6 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/ssa/package.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | This package provides the WALA SSA IR.
4 |
5 |
6 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/types/package.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | This package provides abstractions for the Java type system.
4 |
5 |
6 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/util/bytecode/package.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | This package provides miscellaneous utilities for manipulating bytecode.
4 |
5 |
6 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/util/config/package.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | This package provides miscellaneous utilities for configuration of the analysis.
4 |
5 |
6 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/util/package.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | This package provides miscellaneous utilities.
4 |
5 |
6 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/util/warnings/package.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | This package provides miscellaneous utilities for tracking analysis warnings.
4 |
5 |
6 |
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/viz/viewer/images/ik_closed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/com.ibm.wala.core/src/com/ibm/wala/viz/viewer/images/ik_closed.png
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/viz/viewer/images/ik_leaf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/com.ibm.wala.core/src/com/ibm/wala/viz/viewer/images/ik_leaf.png
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/viz/viewer/images/ik_open.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/com.ibm.wala.core/src/com/ibm/wala/viz/viewer/images/ik_open.png
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/viz/viewer/images/pk_closed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/com.ibm.wala.core/src/com/ibm/wala/viz/viewer/images/pk_closed.png
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/viz/viewer/images/pk_leaf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/com.ibm.wala.core/src/com/ibm/wala/viz/viewer/images/pk_leaf.png
--------------------------------------------------------------------------------
/com.ibm.wala.core/src/com/ibm/wala/viz/viewer/images/pk_open.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/com.ibm.wala.core/src/com/ibm/wala/viz/viewer/images/pk_open.png
--------------------------------------------------------------------------------
/com.ibm.wala.eclipse/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/com.ibm.wala.eclipse/.gitignore:
--------------------------------------------------------------------------------
1 | /bin/
2 |
--------------------------------------------------------------------------------
/com.ibm.wala.eclipse/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | com.ibm.wala.eclipse
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.jdt.core.javabuilder
10 |
11 |
12 |
13 |
14 | org.eclipse.pde.ManifestBuilder
15 |
16 |
17 |
18 |
19 | org.eclipse.pde.SchemaBuilder
20 |
21 |
22 |
23 |
24 |
25 | org.eclipse.pde.PluginNature
26 | org.eclipse.jdt.core.javanature
27 |
28 |
29 |
--------------------------------------------------------------------------------
/com.ibm.wala.eclipse/META-INF/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Bundle-ManifestVersion: 2
3 | Bundle-Name: Eclipse Plug-in
4 | Bundle-SymbolicName: com.ibm.wala.eclipse;singleton:=true
5 | Bundle-Version: 1.0.0
6 | Bundle-Activator: com.ibm.wala.eclipse.Activator
7 | Bundle-Vendor: IBM
8 | Require-Bundle: org.eclipse.jdt.ui,
9 | org.eclipse.jdt.core;visibility:=reexport,
10 | org.eclipse.ui,
11 | org.eclipse.core.resources,
12 | com.ibm.wala.cast.java;visibility:=reexport,
13 | com.ibm.wala.core,
14 | com.ibm.wala.cast;bundle-version="1.0.0",
15 | org.eclipse.core.runtime;bundle-version="3.4.0",
16 | com.ibm.wala.shrike;bundle-version="1.1.3",
17 | com.ibm.wala.ide;bundle-version="1.1.3",
18 | org.eclipse.jface.text,
19 | com.ibm.wala.ide.jdt
20 | Bundle-ActivationPolicy: lazy
21 | Export-Package: com.ibm.wala.eclipse.cg.model,
22 | com.ibm.wala.eclipse.cg.views,
23 | com.ibm.wala.eclipse.util
24 | Bundle-RequiredExecutionEnvironment: J2SE-1.5
25 |
--------------------------------------------------------------------------------
/com.ibm.wala.eclipse/build.properties:
--------------------------------------------------------------------------------
1 | source.. = src/
2 | output.. = bin/
3 | bin.includes = META-INF/,\
4 | .,\
5 | plugin.xml
6 |
--------------------------------------------------------------------------------
/com.ibm.wala.eclipse/data/EclipseDefaultExclusions.txt:
--------------------------------------------------------------------------------
1 | java\/awt\/.*
2 | javax\/swing\/.*
3 | sun\/awt\/.*
4 | sun\/swing\/.*
5 | com\/sun\/.*
6 | sun\/.*
7 |
--------------------------------------------------------------------------------
/com.ibm.wala.eclipse/icons/Wala-icon.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/com.ibm.wala.eclipse/icons/Wala-icon.jpg
--------------------------------------------------------------------------------
/com.ibm.wala.eclipse/src/com/ibm/wala/eclipse/cg/model/WalaCGModel.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.eclipse.cg.model;
12 |
13 | import java.util.Collection;
14 |
15 | import com.ibm.wala.ipa.callgraph.CallGraph;
16 | import com.ibm.wala.util.CancelException;
17 | import com.ibm.wala.util.WalaException;
18 |
19 |
20 | public interface WalaCGModel {
21 |
22 | void buildGraph() throws WalaException, CancelException;
23 |
24 | CallGraph getGraph();
25 |
26 | Collection getRoots();
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/com.ibm.wala.ide.jdt/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/com.ibm.wala.ide.jdt/.gitignore:
--------------------------------------------------------------------------------
1 | /bin/
2 |
--------------------------------------------------------------------------------
/com.ibm.wala.ide.jdt/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | com.ibm.wala.ide.jdt
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.jdt.core.javabuilder
10 |
11 |
12 |
13 |
14 | org.eclipse.pde.ManifestBuilder
15 |
16 |
17 |
18 |
19 | org.eclipse.pde.SchemaBuilder
20 |
21 |
22 |
23 |
24 |
25 | org.eclipse.pde.PluginNature
26 | org.eclipse.jdt.core.javanature
27 |
28 |
29 |
--------------------------------------------------------------------------------
/com.ibm.wala.ide.jdt/META-INF/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Bundle-ManifestVersion: 2
3 | Bundle-Name: WALA IDE JDT components
4 | Bundle-SymbolicName: com.ibm.wala.ide.jdt
5 | Bundle-Version: 1.3.4.qualifier
6 | Bundle-Activator: com.ibm.wala.ide.jdt.Activator
7 | Bundle-Vendor: IBM
8 | Require-Bundle: org.eclipse.ui,
9 | org.eclipse.core.runtime,
10 | com.ibm.wala.cast,
11 | com.ibm.wala.cast.java,
12 | com.ibm.wala.core,
13 | com.ibm.wala.ide,
14 | com.ibm.wala.shrike,
15 | com.ibm.wala.util,
16 | org.eclipse.core.resources,
17 | org.eclipse.jdt.core,
18 | org.eclipse.pde.core,
19 | org.eclipse.ui.ide;bundle-version="3.8.2",
20 | org.eclipse.jdt.launching;bundle-version="3.6.101"
21 | Bundle-RequiredExecutionEnvironment: JavaSE-1.7
22 | Bundle-ActivationPolicy: lazy
23 | Export-Package: com.ibm.wala.cast.java.client,
24 | com.ibm.wala.cast.java.translator.jdt,
25 | com.ibm.wala.ide.jdt,
26 | com.ibm.wala.ide.util
27 |
--------------------------------------------------------------------------------
/com.ibm.wala.ide.jdt/build.properties:
--------------------------------------------------------------------------------
1 | source.. = source/
2 | output.. = bin/
3 | bin.includes = META-INF/,\
4 | .
5 |
--------------------------------------------------------------------------------
/com.ibm.wala.ide.jdt/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 | 4.0.0
5 |
6 | WALA
7 | com.ibm.wala
8 | 1.3.4-SNAPSHOT
9 |
10 | com.ibm.wala.ide.jdt
11 | eclipse-plugin
12 |
13 |
--------------------------------------------------------------------------------
/com.ibm.wala.ide/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/com.ibm.wala.ide/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | com.ibm.wala.ide
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.jdt.core.javabuilder
10 |
11 |
12 |
13 |
14 | org.eclipse.pde.ManifestBuilder
15 |
16 |
17 |
18 |
19 | org.eclipse.pde.SchemaBuilder
20 |
21 |
22 |
23 |
24 |
25 | org.eclipse.pde.PluginNature
26 | org.eclipse.jdt.core.javanature
27 |
28 |
29 |
--------------------------------------------------------------------------------
/com.ibm.wala.ide/.settings/org.eclipse.jdt.launching.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=ignore
3 |
--------------------------------------------------------------------------------
/com.ibm.wala.ide/.settings/org.eclipse.jdt.ui.prefs:
--------------------------------------------------------------------------------
1 | #Mon Jun 22 18:06:02 EDT 2009
2 | eclipse.preferences.version=1
3 | formatter_profile=_WALA
4 | formatter_settings_version=11
5 | org.eclipse.jdt.ui.text.custom_code_templates=
6 |
--------------------------------------------------------------------------------
/com.ibm.wala.ide/META-INF/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Bundle-ManifestVersion: 2
3 | Eclipse-LazyStart: true
4 | Bundle-Name: %pluginName
5 | Bundle-SymbolicName: com.ibm.wala.ide
6 | Bundle-Version: 1.3.4.qualifier
7 | Bundle-Activator: com.ibm.wala.ide.plugin.CorePlugin
8 | Bundle-Vendor: %providerName
9 | Bundle-Localization: plugin
10 | Require-Bundle: com.ibm.wala.core,
11 | com.ibm.wala.shrike,
12 | org.eclipse.pde.core,
13 | org.eclipse.jface,
14 | org.eclipse.ui,
15 | org.eclipse.core.resources,
16 | org.eclipse.core.runtime,
17 | org.eclipse.jdt.core,
18 | org.eclipse.ui.ide;bundle-version="3.8.2"
19 | Bundle-ActivationPolicy: lazy
20 | Bundle-RequiredExecutionEnvironment: JavaSE-1.7
21 | Export-Package: com.ibm.wala.ide.classloader,
22 | com.ibm.wala.ide.client,
23 | com.ibm.wala.ide.plugin,
24 | com.ibm.wala.ide.ui,
25 | com.ibm.wala.ide.util
26 |
--------------------------------------------------------------------------------
/com.ibm.wala.ide/build.properties:
--------------------------------------------------------------------------------
1 | bin.includes = META-INF/,\
2 | .,\
3 | plugin.properties
4 | jars.compile.order = .
5 | source.. = src/
6 | output.. = bin/
7 |
--------------------------------------------------------------------------------
/com.ibm.wala.ide/plugin.properties:
--------------------------------------------------------------------------------
1 | PLUGINNAME= WALA analysis engine - IDE support
2 | VENDORNAME=IBM
3 | providerName =IBM
4 |
5 | # ====================================================================
6 |
7 |
8 |
--------------------------------------------------------------------------------
/com.ibm.wala.ide/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 | 4.0.0
5 |
6 | WALA
7 | com.ibm.wala
8 | 1.3.4-SNAPSHOT
9 |
10 | com.ibm.wala.ide
11 | eclipse-plugin
12 |
13 |
--------------------------------------------------------------------------------
/com.ibm.wala.shrike/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/com.ibm.wala.shrike/.gitignore:
--------------------------------------------------------------------------------
1 | /bin/
2 |
--------------------------------------------------------------------------------
/com.ibm.wala.shrike/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | com.ibm.wala.shrike
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.jdt.core.javabuilder
10 |
11 |
12 |
13 |
14 | org.eclipse.pde.ManifestBuilder
15 |
16 |
17 |
18 |
19 | org.eclipse.pde.SchemaBuilder
20 |
21 |
22 |
23 |
24 |
25 | org.eclipse.pde.PluginNature
26 | org.eclipse.jdt.core.javanature
27 |
28 |
29 |
--------------------------------------------------------------------------------
/com.ibm.wala.shrike/.settings/org.eclipse.jdt.launching.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=ignore
3 |
--------------------------------------------------------------------------------
/com.ibm.wala.shrike/.settings/org.eclipse.jdt.ui.prefs:
--------------------------------------------------------------------------------
1 | #Thu Jan 03 11:24:41 EST 2008
2 | eclipse.preferences.version=1
3 | formatter_profile=_WALA
4 | formatter_settings_version=11
5 | instance/org.eclipse.core.net/org.eclipse.core.net.hasMigrated=true
6 |
--------------------------------------------------------------------------------
/com.ibm.wala.shrike/META-INF/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Bundle-ManifestVersion: 2
3 | Bundle-Name: %pluginName
4 | Bundle-SymbolicName: com.ibm.wala.shrike
5 | Bundle-Version: 1.3.4.qualifier
6 | Bundle-Vendor: %providerName
7 | Bundle-ActivationPolicy: lazy
8 | Bundle-Localization: plugin
9 | Export-Package: com.ibm.wala.shrike.bench,
10 | com.ibm.wala.shrike.cg,
11 | com.ibm.wala.shrike.copywriter,
12 | com.ibm.wala.shrikeBT,
13 | com.ibm.wala.shrikeBT.analysis,
14 | com.ibm.wala.shrikeBT.info,
15 | com.ibm.wala.shrikeBT.shrikeCT,
16 | com.ibm.wala.shrikeBT.shrikeCT.tools,
17 | com.ibm.wala.shrikeBT.tools,
18 | com.ibm.wala.shrikeCT
19 | Bundle-RequiredExecutionEnvironment: JavaSE-1.7
20 | Require-Bundle: com.ibm.wala.util
21 |
--------------------------------------------------------------------------------
/com.ibm.wala.shrike/build.properties:
--------------------------------------------------------------------------------
1 | bin.includes = META-INF/,\
2 | .,\
3 | plugin.properties
4 | jars.compile.order = .
5 | source.. = src/
6 | output.. = bin/
7 |
--------------------------------------------------------------------------------
/com.ibm.wala.shrike/plugin.properties:
--------------------------------------------------------------------------------
1 | pluginName = Wala Framework - J2EE Library
2 | providerName = WALA
--------------------------------------------------------------------------------
/com.ibm.wala.shrike/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 | 4.0.0
5 |
6 | WALA
7 | com.ibm.wala
8 | 1.3.4-SNAPSHOT
9 |
10 | com.ibm.wala.shrike
11 | eclipse-plugin
12 |
13 |
--------------------------------------------------------------------------------
/com.ibm.wala.shrike/releng/versionMap-1.0.0.txt:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
--------------------------------------------------------------------------------
/com.ibm.wala.shrike/src/com/ibm/wala/shrike/bench/Slots.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2002,2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.shrike.bench;
12 |
13 | /**
14 | * @author roca@us.ibm.com
15 | */
16 | public class Slots {
17 | public static Object o;
18 |
19 | public static int i;
20 | }
--------------------------------------------------------------------------------
/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/IArrayLoadInstruction.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2013 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.shrikeBT;
12 |
13 | public interface IArrayLoadInstruction extends IInstruction, IMemoryOperation {
14 |
15 | String getType();
16 |
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/IArrayStoreInstruction.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2013 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.shrikeBT;
12 |
13 | public interface IArrayStoreInstruction extends IInstruction {
14 |
15 | String getType();
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/IBinaryOpInstruction.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2013 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.shrikeBT;
12 |
13 | public interface IBinaryOpInstruction extends IInstruction {
14 |
15 | public interface IOperator {
16 | }
17 |
18 | IBinaryOpInstruction.IOperator getOperator();
19 |
20 | String getType();
21 |
22 | public enum Operator implements IBinaryOpInstruction.IOperator {
23 | ADD, SUB, MUL, DIV, REM, AND, OR, XOR;
24 |
25 | @Override
26 | public String toString() {
27 | return super.toString().toLowerCase();
28 | }
29 | }
30 |
31 | public boolean throwsExceptionOnOverflow();
32 |
33 | public boolean isUnsigned();
34 |
35 | }
36 |
--------------------------------------------------------------------------------
/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/IComparisonInstruction.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2013 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.shrikeBT;
12 |
13 | public interface IComparisonInstruction extends IInstruction {
14 |
15 | public enum Operator {
16 | CMP, CMPL, CMPG;
17 |
18 | @Override
19 | public String toString() {
20 | return super.toString().toLowerCase();
21 | }
22 | }
23 |
24 | Operator getOperator();
25 |
26 | String getType();
27 |
28 | }
--------------------------------------------------------------------------------
/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/IConditionalBranchInstruction.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2013 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.shrikeBT;
12 |
13 | public interface IConditionalBranchInstruction extends IInstruction {
14 |
15 | public interface IOperator {
16 | }
17 |
18 | public enum Operator implements IConditionalBranchInstruction.IOperator {
19 | EQ, NE, LT, GE, GT, LE;
20 |
21 | @Override
22 | public String toString() {
23 | return super.toString().toLowerCase();
24 | }
25 | }
26 |
27 | int getTarget();
28 |
29 | IOperator getOperator();
30 |
31 | String getType();
32 | }
33 |
--------------------------------------------------------------------------------
/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/IConversionInstruction.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2013 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.shrikeBT;
12 |
13 | public interface IConversionInstruction extends IInstruction {
14 |
15 | String getFromType();
16 |
17 | String getToType();
18 |
19 | boolean throwsExceptionOnOverflow();
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/IGetInstruction.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2013 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.shrikeBT;
12 |
13 | public interface IGetInstruction extends IInstruction, IMemoryOperation {
14 |
15 | public String getClassType();
16 |
17 | public String getFieldName();
18 |
19 | public String getFieldType();
20 |
21 | public boolean isStatic();
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/IInstanceofInstruction.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2013 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.shrikeBT;
12 |
13 | public interface IInstanceofInstruction extends IInstruction {
14 |
15 | boolean firstClassType();
16 |
17 | String getType();
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/ILoadIndirectInstruction.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2013 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.shrikeBT;
12 |
13 | public interface ILoadIndirectInstruction extends IInstruction {
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/ILoadInstruction.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2013 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.shrikeBT;
12 |
13 | public interface ILoadInstruction extends IInstruction, IMemoryOperation {
14 |
15 | int getVarIndex();
16 |
17 | String getType();
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/IMemoryOperation.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2013 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.shrikeBT;
12 |
13 | public interface IMemoryOperation {
14 |
15 | /**
16 | * Denotes whether this instruction is taking the address of whatever
17 | * location it refers to.
18 | * @return whether this instruction is taking the address of a location
19 | */
20 | public boolean isAddressOf();
21 |
22 | }
23 |
--------------------------------------------------------------------------------
/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/IPutInstruction.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2013 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.shrikeBT;
12 |
13 | public interface IPutInstruction extends IInstruction {
14 |
15 | public String getClassType();
16 |
17 | public String getFieldType();
18 |
19 | public String getFieldName();
20 |
21 | public boolean isStatic();
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/IShiftInstruction.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2013 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.shrikeBT;
12 |
13 | public interface IShiftInstruction extends IInstruction {
14 |
15 | public enum Operator implements IBinaryOpInstruction.IOperator {
16 | SHL, SHR, USHR;
17 | }
18 |
19 | Operator getOperator();
20 |
21 | String getType();
22 |
23 | boolean isUnsigned();
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/IStoreIndirectInstruction.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2013 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.shrikeBT;
12 |
13 | public interface IStoreIndirectInstruction extends IInstruction {
14 |
15 | String getType();
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/IStoreInstruction.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2013 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.shrikeBT;
12 |
13 | public interface IStoreInstruction extends IInstruction {
14 |
15 | int getVarIndex();
16 |
17 | String getType();
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/ITypeTestInstruction.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2013 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.shrikeBT;
12 |
13 | public interface ITypeTestInstruction extends IInstruction {
14 |
15 | boolean firstClassTypes();
16 |
17 | String[] getTypes();
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/IUnaryOpInstruction.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2013 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.shrikeBT;
12 |
13 | public interface IUnaryOpInstruction extends IInstruction {
14 |
15 | public interface IOperator {
16 | }
17 |
18 | public static enum Operator implements IOperator {
19 | NEG;
20 |
21 | @Override
22 | public String toString() {
23 | return super.toString().toLowerCase();
24 | }
25 | }
26 |
27 | IOperator getOperator();
28 |
29 | String getType();
30 | }
31 |
--------------------------------------------------------------------------------
/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/IndirectionData.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2013 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.shrikeBT;
12 |
13 | public interface IndirectionData {
14 |
15 | int[] indirectlyReadLocals(int instructionIndex);
16 |
17 | int[] indirectlyWrittenLocals(int instructionIndex);
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/com.ibm.wala.shrike/src/com/ibm/wala/shrikeCT/SourceDebugExtensionReader.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2002,2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.shrikeCT;
12 |
13 | public class SourceDebugExtensionReader extends AttributeReader {
14 | public SourceDebugExtensionReader(ClassReader.AttrIterator iter) throws InvalidClassFileException {
15 | super(iter, "SourceDebugExtension");
16 |
17 | checkSize(attr, 6);
18 |
19 | }
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/com.ibm.wala.shrike/src/com/ibm/wala/shrikeCT/SourceFileReader.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2002,2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.shrikeCT;
12 |
13 | /**
14 | * This class reads SourceFile attributes.
15 | */
16 | public final class SourceFileReader extends AttributeReader {
17 | /**
18 | * Build a reader for the attribute 'iter'.
19 | */
20 | public SourceFileReader(ClassReader.AttrIterator iter) throws InvalidClassFileException {
21 | super(iter, "SourceFile");
22 |
23 | checkSizeEquals(attr + 6, 2);
24 | }
25 |
26 | /**
27 | * @return the index of the constant pool item holding the value
28 | */
29 | public int getSourceFileCPIndex() {
30 | return cr.getUShort(attr + 6);
31 | }
32 | }
--------------------------------------------------------------------------------
/com.ibm.wala.util/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/.gitignore:
--------------------------------------------------------------------------------
1 | /walaUtil.jar
2 | /bin/
3 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | com.ibm.wala.util
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.jdt.core.javabuilder
10 |
11 |
12 |
13 |
14 | org.eclipse.pde.ManifestBuilder
15 |
16 |
17 |
18 |
19 | org.eclipse.pde.SchemaBuilder
20 |
21 |
22 |
23 |
24 |
25 | org.eclipse.jdt.core.javanature
26 | org.eclipse.pde.PluginNature
27 |
28 |
29 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/.settings/org.eclipse.jdt.launching.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=ignore
3 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/.settings/org.eclipse.jdt.ui.prefs:
--------------------------------------------------------------------------------
1 | #Thu Feb 03 10:11:52 EST 2011
2 | eclipse.preferences.version=1
3 | formatter_profile=_WALA
4 | formatter_settings_version=11
5 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/META-INF/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Bundle-ManifestVersion: 2
3 | Bundle-Name: WALA Util
4 | Bundle-SymbolicName: com.ibm.wala.util
5 | Bundle-Version: 1.3.4.qualifier
6 | Export-Package: com.ibm.wala.dataflow.graph,
7 | com.ibm.wala.fixedpoint.impl,
8 | com.ibm.wala.fixpoint,
9 | com.ibm.wala.util,
10 | com.ibm.wala.util.collections,
11 | com.ibm.wala.util.config,
12 | com.ibm.wala.util.debug,
13 | com.ibm.wala.util.functions,
14 | com.ibm.wala.util.graph,
15 | com.ibm.wala.util.graph.dominators,
16 | com.ibm.wala.util.graph.impl,
17 | com.ibm.wala.util.graph.labeled,
18 | com.ibm.wala.util.graph.traverse,
19 | com.ibm.wala.util.heapTrace,
20 | com.ibm.wala.util.intset,
21 | com.ibm.wala.util.io,
22 | com.ibm.wala.util.math,
23 | com.ibm.wala.util.perf,
24 | com.ibm.wala.util.processes,
25 | com.ibm.wala.util.tables,
26 | com.ibm.wala.viz
27 | Bundle-ClassPath: walaUtil.jar
28 | Bundle-Vendor: IBM
29 | Bundle-RequiredExecutionEnvironment: JavaSE-1.6
30 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/build.properties:
--------------------------------------------------------------------------------
1 | bin.includes = META-INF/,\
2 | .,\
3 | walaUtil.jar
4 | source.walaUtil.jar = src/
5 | jars.compile.order = .
6 | source.. = src/
7 | output.. = bin/
8 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 | 4.0.0
5 |
6 | WALA
7 | com.ibm.wala
8 | 1.3.4-SNAPSHOT
9 |
10 | com.ibm.wala.util
11 | eclipse-plugin
12 |
13 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/src/com/ibm/wala/dataflow/graph/AbstractMeetOperator.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.dataflow.graph;
12 |
13 | import com.ibm.wala.fixpoint.AbstractOperator;
14 | import com.ibm.wala.fixpoint.IVariable;
15 |
16 | /**
17 | * Abstract superclass for meet operators
18 | */
19 | @SuppressWarnings("rawtypes")
20 | public abstract class AbstractMeetOperator extends AbstractOperator {
21 |
22 | /**
23 | * subclasses can override if needed
24 | * @return true iff this meet is a noop when applied to one argument
25 | */
26 | public boolean isUnaryNoOp() {
27 | return true;
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/src/com/ibm/wala/dataflow/graph/package.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | This package provides a Killdall-style dataflow layer for a system
4 | of equations induced over a graph.
5 |
6 |
7 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/src/com/ibm/wala/fixpoint/package.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | This package provides general utilities for fixed-point solvers.
4 |
5 |
6 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/src/com/ibm/wala/util/CancelException.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2007 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.util;
12 |
13 | /**
14 | * An exception for when work is canceled in eclipse. This version forces every API that uses it to declare it. Use
15 | * {@link CancelRuntimeException} to avoid the need to declare a cancel exception.
16 | */
17 | public class CancelException extends Exception {
18 |
19 | protected CancelException(String msg) {
20 | super(msg);
21 | }
22 |
23 | public CancelException(Exception cause) {
24 | super(cause);
25 | }
26 |
27 | public static CancelException make(String msg) {
28 | return new CancelException(msg);
29 | }
30 |
31 | }
32 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/src/com/ibm/wala/util/WalaException.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.util;
12 |
13 | /**
14 | * An exception to raise for some WALA failure
15 | */
16 | public class WalaException extends Exception {
17 |
18 | private static final long serialVersionUID = 3959226859263419122L;
19 | /**
20 | * @param s a message describing the failure
21 | */
22 | public WalaException(String s, Throwable cause) {
23 | super(s, cause);
24 | }
25 | /**
26 | * @param string a message describing the failure
27 | */
28 | public WalaException(String string) {
29 | super(string);
30 | }
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/src/com/ibm/wala/util/WalaRuntimeException.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2008 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.util;
12 |
13 | /**
14 | * Runtime exception for some WALA failure.
15 | *
16 | */
17 | public class WalaRuntimeException extends RuntimeException {
18 |
19 | /**
20 | * @param s a message describing the failure
21 | */
22 | public WalaRuntimeException(String s, Throwable cause) {
23 | super(s, cause);
24 | }
25 | /**
26 | * @param string a message describing the failure
27 | */
28 | public WalaRuntimeException(String string) {
29 | super(string);
30 | }
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/src/com/ibm/wala/util/collections/Factory.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2007 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.util.collections;
12 |
13 | public interface Factory{
14 | T make();
15 | }
--------------------------------------------------------------------------------
/com.ibm.wala.util/src/com/ibm/wala/util/collections/Filter.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.util.collections;
12 |
13 | /**
14 | * Simple interface for an intensional set definition.
15 | */
16 | @Deprecated
17 | public interface Filter {
18 | /**
19 | * @return true iff o is in the set defined by this filter
20 | */
21 | public boolean accepts(T o);
22 | }
23 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/src/com/ibm/wala/util/collections/FilterPredicate.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2011 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.util.collections;
12 |
13 | import com.ibm.wala.util.Predicate;
14 |
15 | /**
16 | * A migration aid, to move from Filter to Predicate
17 | */
18 | @Deprecated
19 | public class FilterPredicate extends Predicate {
20 |
21 | public static FilterPredicate toPredicate(Filter f) {
22 | return new FilterPredicate(f);
23 | }
24 |
25 | private final Filter f;
26 |
27 | private FilterPredicate(Filter f) {
28 | this.f = f;
29 | }
30 |
31 | @Override
32 | public boolean test(T t) {
33 | return f.accepts(t);
34 | }
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/src/com/ibm/wala/util/collections/IndiscriminateFilter.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 |
12 | package com.ibm.wala.util.collections;
13 |
14 |
15 | /**
16 | * A filter that accepts everything.
17 | */
18 | public class IndiscriminateFilter implements Filter {
19 |
20 | public static IndiscriminateFilter singleton() {
21 | return new IndiscriminateFilter();
22 | }
23 |
24 | /*
25 | * @see com.ibm.wala.util.Filter#accepts(java.lang.Object)
26 | */
27 | @Override
28 | public boolean accepts(Object o) {
29 | return true;
30 | }
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/src/com/ibm/wala/util/collections/Iterator2Iterable.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2007 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.util.collections;
12 |
13 | import java.util.Iterator;
14 |
15 | /**
16 | * Converts an {@link Iterator} to an {@link Iterable}.
17 | */
18 | public class Iterator2Iterable implements Iterable {
19 |
20 | private final Iterator iter;
21 |
22 | public static Iterator2Iterable make(Iterator iter) {
23 | return new Iterator2Iterable(iter);
24 | }
25 |
26 | public Iterator2Iterable(Iterator iter) {
27 | this.iter = iter;
28 | }
29 |
30 | @Override
31 | public Iterator iterator() {
32 | return iter;
33 | }
34 |
35 | }
36 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/src/com/ibm/wala/util/collections/Iterator2Set.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2007 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.util.collections;
12 |
13 | import java.util.Collection;
14 | import java.util.Iterator;
15 | import java.util.Set;
16 |
17 | public class Iterator2Set extends Iterator2Collection implements Set {
18 |
19 | private final Set delegate;
20 |
21 | protected Iterator2Set(Iterator extends T> i, Set delegate) {
22 | this.delegate = delegate;
23 | while (i.hasNext()) {
24 | delegate.add(i.next());
25 | }
26 | }
27 |
28 | @Override
29 | protected Collection getDelegate() {
30 | return delegate;
31 | }
32 |
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/src/com/ibm/wala/util/collections/package.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Sets and collections
4 |
5 |
6 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/src/com/ibm/wala/util/config/SetOfClasses.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.util.config;
12 |
13 | import java.io.Serializable;
14 | import java.util.Set;
15 |
16 | /**
17 | * Logically, a set of {@link IClass}.
18 | *
19 | * TODO: why does this not extend {@link Set}? Is there a good reason anymore?
20 | */
21 | public abstract class SetOfClasses implements Serializable {
22 |
23 | public abstract boolean contains(String klassName);
24 |
25 | public abstract void add(String klass);
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/src/com/ibm/wala/util/debug/UnimplementedError.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 |
12 | package com.ibm.wala.util.debug;
13 |
14 | /**
15 | * Something that's not implemented yet.
16 | */
17 | public class UnimplementedError extends Error {
18 | public static final long serialVersionUID = 20981098918191L;
19 |
20 |
21 | public UnimplementedError() {
22 | super();
23 | }
24 |
25 | public UnimplementedError(String s) {
26 | super(s);
27 | }
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/src/com/ibm/wala/util/debug/VerboseAction.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.util.debug;
12 |
13 | /**
14 | * An optional interface for data structures that provide a
15 | * verbose option for debugging purposes.
16 | */
17 | public interface VerboseAction {
18 | /**
19 | * optional method used for performance debugging
20 | */
21 | void performVerboseAction();
22 | }
23 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/src/com/ibm/wala/util/debug/package.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Debugging utilities
4 |
5 |
6 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/src/com/ibm/wala/util/functions/Function.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.util.functions;
12 |
13 | /**
14 | */
15 | public interface Function {
16 |
17 | Y apply(X object);
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/src/com/ibm/wala/util/functions/IntFunction.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.util.functions;
12 |
13 | /**
14 | */
15 | public interface IntFunction {
16 |
17 | T apply(int i);
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/src/com/ibm/wala/util/functions/VoidFunction.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2013 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.util.functions;
12 |
13 | public interface VoidFunction {
14 |
15 | void apply(T v);
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/src/com/ibm/wala/util/graph/GraphUtil.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2007 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.util.graph;
12 |
13 |
14 | /**
15 | * Utility methods for graphs.
16 | */
17 | public class GraphUtil {
18 |
19 | /**
20 | * count the number of edges in g
21 | */
22 | public static long countEdges(Graph g) {
23 | if (g == null) {
24 | throw new IllegalArgumentException("g is null");
25 | }
26 | long edgeCount = 0;
27 | for (T t : g) {
28 | edgeCount += g.getSuccNodeCount(t);
29 | }
30 | return edgeCount;
31 | }
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/src/com/ibm/wala/util/graph/NumberedEdgeManager.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.util.graph;
12 |
13 | import com.ibm.wala.util.intset.IntSet;
14 |
15 |
16 | /**
17 | * Additional functionality for edges in numbered graphs
18 | */
19 | public interface NumberedEdgeManager extends EdgeManager {
20 |
21 | /**
22 | * @return the numbers identifying the immediate successors of node
23 | */
24 | public IntSet getSuccNodeNumbers(T node);
25 |
26 | /**
27 | * @return the numbers identifying the immediate predecessors of node
28 | */
29 | public IntSet getPredNodeNumbers(T node);
30 | }
31 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/src/com/ibm/wala/util/graph/NumberedGraph.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.util.graph;
12 |
13 | /**
14 | * A numbered graph is a {@link Graph} where each node has a unique persistent non-negative integer id.
15 | */
16 | public interface NumberedGraph extends Graph, NumberedNodeManager, NumberedEdgeManager {
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/src/com/ibm/wala/util/graph/NumberedNodeManager.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.util.graph;
12 |
13 | import java.util.Iterator;
14 |
15 | import com.ibm.wala.util.intset.IntSet;
16 |
17 | /**
18 | * An object which tracks nodes with numbers.
19 | */
20 | public interface NumberedNodeManager extends NodeManager {
21 |
22 | public abstract int getNumber(T N);
23 |
24 |
25 | public abstract T getNode(int number);
26 |
27 |
28 | public abstract int getMaxNumber();
29 |
30 | /**
31 | * @param s
32 | * @return iterator of nodes with the numbers in set s
33 | */
34 | public abstract Iterator iterateNodes(IntSet s);
35 |
36 | }
--------------------------------------------------------------------------------
/com.ibm.wala.util/src/com/ibm/wala/util/graph/OrderedMultiGraph.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.util.graph;
12 |
13 | /**
14 | *
15 | */
16 | public interface OrderedMultiGraph extends Graph {
17 |
18 | /**
19 | * get the ith successor of a node
20 | */
21 | public T getSuccessor(T node, int i);
22 |
23 | /**
24 | * add an edge and record it so dst is the ith successor of src
25 | */
26 | public void addEdge(int i, T src, T dst);
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/src/com/ibm/wala/util/graph/impl/package.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Graph implementations
4 |
5 |
6 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/src/com/ibm/wala/util/graph/labeled/NumberedLabeledEdgeManager.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2007 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.util.graph.labeled;
12 |
13 | import com.ibm.wala.util.graph.NumberedEdgeManager;
14 | import com.ibm.wala.util.intset.IntSet;
15 |
16 | public interface NumberedLabeledEdgeManager extends LabeledEdgeManager, NumberedEdgeManager {
17 |
18 | public IntSet getPredNodeNumbers(T node, U label) throws IllegalArgumentException;
19 |
20 | public IntSet getSuccNodeNumbers(T node, U label) throws IllegalArgumentException;
21 |
22 | }
23 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/src/com/ibm/wala/util/graph/package.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Graph interfaces
4 |
5 |
6 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/src/com/ibm/wala/util/graph/traverse/package.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Graph traversal algorithms
4 |
5 |
6 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/src/com/ibm/wala/util/heapTrace/package.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | This package provides a utility which analyzes heap usage by heap-walking via reflection.
4 |
5 |
6 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/src/com/ibm/wala/util/intset/IntIterator.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.util.intset;
12 |
13 |
14 | /**
15 | * a more efficient iterator for sets of integers
16 | */
17 | public interface IntIterator {
18 |
19 | /**
20 | * @return true iff this iterator has a next element
21 | */
22 | public boolean hasNext();
23 |
24 | /**
25 | * @return next integer in the iteration
26 | */
27 | public int next();
28 | }
29 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/src/com/ibm/wala/util/intset/IntSetAction.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 |
12 | package com.ibm.wala.util.intset;
13 |
14 | public interface IntSetAction {
15 |
16 | void act(int x);
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/src/com/ibm/wala/util/intset/IntVector.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.util.intset;
12 |
13 |
14 | /**
15 | * interface for array of integer
16 | */
17 | public interface IntVector{
18 |
19 | int get(int x);
20 |
21 | void set(int x, int value);
22 |
23 | /**
24 | * @return max i s.t set(i) was called.
25 | */
26 | public abstract int getMaxIndex();
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/src/com/ibm/wala/util/intset/LongIterator.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.util.intset;
12 |
13 |
14 | /**
15 | * a more efficient iterator for sets of longs
16 | */
17 | public interface LongIterator {
18 |
19 | /**
20 | * @return true iff this iterator has a next element
21 | */
22 | public boolean hasNext();
23 |
24 | /**
25 | * @return next integer in the iteration
26 | */
27 | public long next();
28 | }
29 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/src/com/ibm/wala/util/intset/LongSetAction.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 |
12 | package com.ibm.wala.util.intset;
13 |
14 | public interface LongSetAction {
15 |
16 | void act(long x);
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/src/com/ibm/wala/util/intset/MutableIntSetFactory.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.util.intset;
12 |
13 | /**
14 | * An object that creates some flavor of mutable int set.
15 | */
16 | public interface MutableIntSetFactory {
17 | /**
18 | * @param set
19 | */
20 | public T make(int[] set);
21 | /**
22 | * @param string
23 | */
24 | public T parse(String string);
25 | /**
26 | * @param x
27 | */
28 | public T makeCopy(IntSet x);
29 | /**
30 | */
31 | public T make();
32 | }
33 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/src/com/ibm/wala/util/intset/MutableLongSetFactory.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.util.intset;
12 |
13 | /**
14 | * An object that creates some flavor of mutable int set.
15 | */
16 | public interface MutableLongSetFactory {
17 |
18 | public MutableLongSet make(long[] set);
19 |
20 | public MutableLongSet parse(String string);
21 |
22 | public MutableLongSet makeCopy(LongSet x);
23 |
24 | public MutableLongSet make();
25 | }
26 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/src/com/ibm/wala/util/intset/NumberUtility.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2009 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.util.intset;
12 |
13 | public class NumberUtility {
14 |
15 | static boolean isByte(int number){
16 | if (number>=Byte.MIN_VALUE && number<=Byte.MAX_VALUE){
17 | return true;
18 | }
19 | return false;
20 | }
21 |
22 | static boolean isShort(int number){
23 | if (!isByte(number) && number>=Short.MIN_VALUE && number<=Short.MAX_VALUE){
24 | return true;
25 | }
26 | return false;
27 | }
28 |
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/src/com/ibm/wala/util/intset/package.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | BitVector and vector utilities
4 |
5 |
6 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/src/com/ibm/wala/util/math/LongUtil.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.util.math;
12 |
13 | /**
14 | */
15 | public class LongUtil {
16 |
17 | public static long pack(int hi, int lo) {
18 | return ((long)hi << 32) | lo;
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/src/com/ibm/wala/util/math/package.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Math utilities
4 |
5 |
6 |
--------------------------------------------------------------------------------
/com.ibm.wala.util/src/com/ibm/wala/viz/NodeDecorator.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (c) 2002 - 2006 IBM Corporation.
3 | * All rights reserved. This program and the accompanying materials
4 | * are made available under the terms of the Eclipse Public License v1.0
5 | * which accompanies this distribution, and is available at
6 | * http://www.eclipse.org/legal/epl-v10.html
7 | *
8 | * Contributors:
9 | * IBM Corporation - initial API and implementation
10 | *******************************************************************************/
11 | package com.ibm.wala.viz;
12 |
13 | import com.ibm.wala.util.WalaException;
14 |
15 | /**
16 | * @param the node type
17 | */
18 | public interface NodeDecorator {
19 |
20 | /**
21 | * @param n
22 | * @return the String label for node n
23 | */
24 | String getLabel(T n) throws WalaException;
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | edu.tamu.cse.aser.sword
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.jdt.core.javabuilder
10 |
11 |
12 |
13 |
14 | org.eclipse.pde.ManifestBuilder
15 |
16 |
17 |
18 |
19 | org.eclipse.pde.SchemaBuilder
20 |
21 |
22 |
23 |
24 |
25 | org.eclipse.pde.PluginNature
26 | org.eclipse.jdt.core.javanature
27 |
28 |
29 |
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/.settings/org.eclipse.jdt.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3 | org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
4 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
5 | org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
6 | org.eclipse.jdt.core.compiler.compliance=1.8
7 | org.eclipse.jdt.core.compiler.debug.lineNumber=generate
8 | org.eclipse.jdt.core.compiler.debug.localVariable=generate
9 | org.eclipse.jdt.core.compiler.debug.sourceFile=generate
10 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
11 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
12 | org.eclipse.jdt.core.compiler.source=1.8
13 |
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/.settings/org.eclipse.m2e.core.prefs:
--------------------------------------------------------------------------------
1 | activeProfiles=
2 | eclipse.preferences.version=1
3 | resolveWorkspaceProjects=true
4 | version=1
5 |
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/akka-actor_2.12-2.4.16.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/edu.tamu.cse.aser.sword/akka-actor_2.12-2.4.16.jar
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/avrora_report:
--------------------------------------------------------------------------------
1 | avrora/stack/Analyzer$ContextSensitivePolicy:706
2 | avrora/Main:324
3 | avrora/Main:325
4 | avrora/stack/Analyzer$ContextSensitivePolicy:724
5 | avrora/stack/Analyzer$MonitorThread:197
6 | avrora/stack/Analyzer$MonitorThread:199
7 | cck/text/Terminal:221
8 | avrora/stack/Analyzer:234
9 | avrora/stack/StateTransitionGraph:269
10 | cck/text/Terminal:220
11 | avrora/stack/StateTransitionGraph:209
12 | avrora/stack/Analyzer:299
13 | avrora/stack/Analyzer:233
14 | avrora/stack/StateTransitionGraph:265
15 | avrora/stack/Analyzer:615
16 | avrora/stack/StateTransitionGraph:193
17 | avrora/stack/StateTransitionGraph:172
18 | avrora/stack/Analyzer:223
19 | avrora/stack/StateTransitionGraph:236
20 | avrora/stack/Analyzer:224
21 | avrora/stack/Analyzer:225
22 | avrora/stack/Analyzer:424
23 | avrora/stack/Analyzer:144
24 | avrora/stack/Analyzer:288
25 | avrora/stack/StateTransitionGraph:273
26 | avrora/stack/Analyzer:227
27 | avrora/stack/Analyzer:228
28 |
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/bin/.gitignore:
--------------------------------------------------------------------------------
1 | /EclipseDefaultExclusions.backup.txt
2 | /EclipseDefaultExclusions.txt
3 | /edu/
4 | /entries.txt
5 | /hello.txt
6 | /test.txt
7 | /test2.txt
8 |
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/bin/EclipseDefaultExclusions.backup.txt:
--------------------------------------------------------------------------------
1 | java\/.*
2 | javax\/.*
3 | sun\/.*
4 | sunw\/.*
5 | com\/sun\/.*
6 | com\/ibm\/.*
7 | com\/apple\/.*
8 | com\/oracle\/.*
9 | com\/vividsolutions\/.*
10 | apple\/.*
11 | org\/xml\/.*
12 | org\/netbeans\/.*
13 | org\/openide\/.*
14 | org\/apache\/xerces\/.*
15 | jdbm\/.*
16 | com\/ibm\/wala\/.*
17 |
18 | org\/apache\/.*
19 |
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/bin/EclipseDefaultExclusions.txt:
--------------------------------------------------------------------------------
1 | java\/applet\/.*
2 | java\/awt\/.*
3 | java\/beans\/.*
4 | java\/io\/.*
5 | java\/math\/.*
6 | java\/net\/.*
7 | java\/nio\/.*
8 | java\/rmi\/.*
9 | java\/security\/.*
10 | java\/sql\/.*
11 | java\/text\/.*
12 | java\/util\/.*
13 |
14 | javax\/.*
15 | sun\/.*
16 | sunw\/.*
17 | com\/sun\/.*
18 | com\/ibm\/.*
19 | com\/apple\/.*
20 | com\/oracle\/.*
21 | apple\/.*
22 | org\/xml\/.*
23 | jdbm\/.*
24 |
25 | org\/netbeans\/.*
26 | org\/openide\/.*
27 | org\/apache\/xerces\/.*
28 | dalvik\/.*
29 | apple\/.*
30 | jdk\/.*
31 | org\/omg\/.*
32 | org\/w3c\/.*
33 |
34 | /////////////////
35 | org\/apache\/.*
36 | cck\/test\/.*
37 | jintgen\/.*
38 |
39 | org\/codehaus\/janino\/.*
40 | extra166y\/.*
41 | jsr166y\/.*
42 | org\/jline\/.*
43 | junit\/.*
44 | org\/apache\/regexp\/.*
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/bin/entries.txt:
--------------------------------------------------------------------------------
1 | Entrypoint: < Application, Ljline/ConsoleRunner, main([Ljava/lang/String;)V >([])
2 | Entrypoint: < Application, Ljline/UnsupportedTerminal$1, run()V >([])
3 | Entrypoint: < Application, Ljline/ANSIBuffer, main([Ljava/lang/String;)V >([])
4 | Entrypoint: < Application, Lcom/ziclix/python/sql/pipe/PipeRunner, run()V >([])
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/bin/hello.txt:
--------------------------------------------------------------------------------
1 | Primordial,Java,stdlib,none
2 | Primordial,Java,jarFile,primordial.jar.model
3 | Application,Java,classFile,/Users/Bozhen/Documents/Eclipse/SvnCheckout/floodlight/target/bin/net/floodlightcontroller/core/Main.class
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/bin/test.txt:
--------------------------------------------------------------------------------
1 | Primordial,Java,stdlib,none
2 | Primordial,Java,jarFile,primordial.jar.model
3 | Application,Java,jarFile,/Users/Bozhen/Documents/Eclipse2/Test_both_copy/bankaccount.jar
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/bin/test2.txt:
--------------------------------------------------------------------------------
1 | Primordial,Java,stdlib,none
2 | Primordial,Java,jarFile,primordial.jar.model
3 | Application,Java,jarFile,/Users/liyanze/java/benchmarks/jarfiles/tsp.jar
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/build.properties:
--------------------------------------------------------------------------------
1 | source.. = src/
2 | output.. = bin/
3 | bin.includes = META-INF/,\
4 | .,\
5 | akka-actor_2.12-2.4.16.jar,\
6 | config-1.3.1.jar,\
7 | scala-java8-compat_2.12-0.8.0.jar,\
8 | scala-library-2.12.1.jar
9 |
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/commons-cli-1.4.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/edu.tamu.cse.aser.sword/commons-cli-1.4.jar
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/config-1.3.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/edu.tamu.cse.aser.sword/config-1.3.1.jar
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/data/EclipseDefaultExclusions.backup.txt:
--------------------------------------------------------------------------------
1 | java\/.*
2 | javax\/.*
3 | sun\/.*
4 | sunw\/.*
5 | com\/sun\/.*
6 | com\/ibm\/.*
7 | com\/apple\/.*
8 | com\/oracle\/.*
9 | com\/vividsolutions\/.*
10 | apple\/.*
11 | org\/xml\/.*
12 | org\/netbeans\/.*
13 | org\/openide\/.*
14 | org\/apache\/xerces\/.*
15 | jdbm\/.*
16 | com\/ibm\/wala\/.*
17 |
18 | org\/apache\/.*
19 |
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/data/EclipseDefaultExclusions.txt:
--------------------------------------------------------------------------------
1 | java\/applet\/.*
2 | java\/awt\/.*
3 | java\/beans\/.*
4 | java\/io\/.*
5 | java\/math\/.*
6 | java\/net\/.*
7 | java\/nio\/.*
8 | java\/rmi\/.*
9 | java\/security\/.*
10 | java\/sql\/.*
11 | java\/text\/.*
12 | java\/util\/.*
13 |
14 | javax\/.*
15 | sun\/.*
16 | sunw\/.*
17 | com\/sun\/.*
18 | com\/ibm\/.*
19 | com\/apple\/.*
20 | com\/oracle\/.*
21 | apple\/.*
22 | org\/xml\/.*
23 | jdbm\/.*
24 |
25 | org\/netbeans\/.*
26 | org\/openide\/.*
27 | org\/apache\/xerces\/.*
28 | dalvik\/.*
29 | apple\/.*
30 | jdk\/.*
31 | org\/omg\/.*
32 | org\/w3c\/.*
33 |
34 | /////////////////
35 | org\/apache\/.*
36 | cck\/test\/.*
37 | jintgen\/.*
38 |
39 | org\/codehaus\/janino\/.*
40 | extra166y\/.*
41 | jsr166y\/.*
42 | org\/jline\/.*
43 | junit\/.*
44 | org\/apache\/regexp\/.*
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/data/entries.txt:
--------------------------------------------------------------------------------
1 | Entrypoint: < Application, Ljline/ConsoleRunner, main([Ljava/lang/String;)V >([])
2 | Entrypoint: < Application, Ljline/UnsupportedTerminal$1, run()V >([])
3 | Entrypoint: < Application, Ljline/ANSIBuffer, main([Ljava/lang/String;)V >([])
4 | Entrypoint: < Application, Lcom/ziclix/python/sql/pipe/PipeRunner, run()V >([])
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/data/hello.txt:
--------------------------------------------------------------------------------
1 | Primordial,Java,stdlib,none
2 | Primordial,Java,jarFile,primordial.jar.model
3 | Application,Java,classFile,/Users/Bozhen/Documents/Eclipse/SvnCheckout/floodlight/target/bin/net/floodlightcontroller/core/Main.class
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/data/test.txt:
--------------------------------------------------------------------------------
1 | Primordial,Java,stdlib,none
2 | Primordial,Java,jarFile,primordial.jar.model
3 | Application,Java,jarFile,/Users/Bozhen/Documents/Eclipse2/Test_both_copy/bankaccount.jar
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/data/test2.txt:
--------------------------------------------------------------------------------
1 | Primordial,Java,stdlib,none
2 | Primordial,Java,jarFile,primordial.jar.model
3 | Application,Java,jarFile,/Users/liyanze/java/benchmarks/jarfiles/tsp.jar
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/elevator_report:
--------------------------------------------------------------------------------
1 | newSim/Person:114
2 | newSim/Elevator:190
3 | newSim/Person:37
4 | newSim/Elevator:175
5 | newSim/Elevator:152
6 | newSim/Elevator:128
7 | newSim/Person:70
8 | newSim/Elevator:127
9 | newSim/Floor:49
10 | newSim/Elevator:202
11 | newSim/Elevator:147
12 | newSim/Elevator:48
13 | newSim/Person:34
14 | newSim/ElevatorState:35
15 | newSim/ElevatorState:34
16 | newSim/Elevator:88
17 | newSim/ElevatorState:15
18 | newSim/Floor:40
19 | newSim/ElevatorState:14
20 | newSim/Person:180
21 | newSim/Floor:43
22 | newSim/Floor:20
23 | newSim/Floor:67
24 | newSim/Floor:23
25 | newSim/Elevator:93
26 | newSim/Person:268
27 | newSim/Person:245
28 | newSim/ElevatorState:43
29 | newSim/Elevator:142
30 | newSim/Elevator:146
31 | newSim/Elevator:145
32 | newSim/Elevator:144
33 | newSim/ElevatorController:194
34 | newSim/Elevator:143
35 | newSim/ElevatorController:172
36 | newSim/Person:247
37 | newSim/Elevator:215
38 | newSim/Floor:57
39 | newSim/Elevator:119
40 | newSim/ElevatorState:26
41 | newSim/Floor:52
42 | newSim/Person:43
43 | newSim/Person:64
44 | newSim/Elevator:74
45 | newSim/Person:40
46 |
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/elevator_traver_cls:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/icons/Lock-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/edu.tamu.cse.aser.sword/icons/Lock-icon.png
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/icons/annotationsView.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/edu.tamu.cse.aser.sword/icons/annotationsView.png
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/icons/arrow.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/edu.tamu.cse.aser.sword/icons/arrow.gif
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/icons/blank.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/edu.tamu.cse.aser.sword/icons/blank.gif
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/icons/bug.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/edu.tamu.cse.aser.sword/icons/bug.gif
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/icons/buggy-tiny-blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/edu.tamu.cse.aser.sword/icons/buggy-tiny-blue.png
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/icons/buggy-tiny-gray.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/edu.tamu.cse.aser.sword/icons/buggy-tiny-gray.png
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/icons/buggy-tiny-green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/edu.tamu.cse.aser.sword/icons/buggy-tiny-green.png
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/icons/buggy-tiny-orange.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/edu.tamu.cse.aser.sword/icons/buggy-tiny-orange.png
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/icons/buggy-tiny-yellow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/edu.tamu.cse.aser.sword/icons/buggy-tiny-yellow.png
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/icons/buggy-tiny-yellow2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/edu.tamu.cse.aser.sword/icons/buggy-tiny-yellow2.png
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/icons/buggy-tiny.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/edu.tamu.cse.aser.sword/icons/buggy-tiny.png
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/icons/buggy-tiny.xcf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/edu.tamu.cse.aser.sword/icons/buggy-tiny.xcf
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/icons/bugview.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/edu.tamu.cse.aser.sword/icons/bugview.gif
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/icons/circle-running-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/edu.tamu.cse.aser.sword/icons/circle-running-icon.png
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/icons/confidence-high.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/edu.tamu.cse.aser.sword/icons/confidence-high.png
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/icons/confidence-ignore.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/edu.tamu.cse.aser.sword/icons/confidence-ignore.png
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/icons/confidence-low.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/edu.tamu.cse.aser.sword/icons/confidence-low.png
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/icons/confidence-normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/edu.tamu.cse.aser.sword/icons/confidence-normal.png
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/icons/datasheet.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/edu.tamu.cse.aser.sword/icons/datasheet.gif
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/icons/detailsView.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/edu.tamu.cse.aser.sword/icons/detailsView.png
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/icons/doc_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/edu.tamu.cse.aser.sword/icons/doc_icon.png
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/icons/export_bugs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/edu.tamu.cse.aser.sword/icons/export_bugs.png
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/icons/file_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/edu.tamu.cse.aser.sword/icons/file_icon.png
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/icons/folder_icon.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/edu.tamu.cse.aser.sword/icons/folder_icon.gif
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/icons/folder_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/edu.tamu.cse.aser.sword/icons/folder_icon.png
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/icons/forward_nav.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/edu.tamu.cse.aser.sword/icons/forward_nav.gif
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/icons/parallel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/edu.tamu.cse.aser.sword/icons/parallel.png
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/icons/read-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/edu.tamu.cse.aser.sword/icons/read-icon.png
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/icons/refresh.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/edu.tamu.cse.aser.sword/icons/refresh.gif
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/icons/runFindbugs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/edu.tamu.cse.aser.sword/icons/runFindbugs.png
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/icons/shuffle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/edu.tamu.cse.aser.sword/icons/shuffle.png
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/icons/treeView.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/edu.tamu.cse.aser.sword/icons/treeView.png
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/icons/warning.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/edu.tamu.cse.aser.sword/icons/warning.png
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/icons/write-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/edu.tamu.cse.aser.sword/icons/write-icon.png
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/jface-3.6.1.M20100825-0800.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/edu.tamu.cse.aser.sword/jface-3.6.1.M20100825-0800.jar
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/log_d4_tradesoap:
--------------------------------------------------------------------------------
1 | Call Graph Construction Time: 331847
2 | Total Pointer Keys: 187173
3 | Total Instance Keys: 5480
4 | Total Pointer Edges: 22638520
5 | Total Classes: 8303
6 | Total Methods: 20224
7 |
8 |
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/org.eclipse.jface-3.1.0.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/edu.tamu.cse.aser.sword/org.eclipse.jface-3.1.0.jar
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/pom.xml:
--------------------------------------------------------------------------------
1 |
2 | 4.0.0
3 | edu.tamu.cse.aser.echo
4 | edu.tamu.cse.aser.echo
5 | 0.0.1-SNAPSHOT
6 | pom
7 | parapta
8 | parallel and incremental pta in cluster
9 |
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/scala-java8-compat_2.12-0.8.0.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/edu.tamu.cse.aser.sword/scala-java8-compat_2.12-0.8.0.jar
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/scala-library-2.12.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/edu.tamu.cse.aser.sword/scala-library-2.12.1.jar
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/sor_report:
--------------------------------------------------------------------------------
1 | sor/sor_first_row_even:231
2 | sor/sor_first_row_odd:154
3 | sor/sor_first_row_odd:173
4 | sor/sor_first_row_even:219
5 | sor/sor_first_row_even:238
6 | sor/sor_first_row_odd:147
7 | sor/sor_first_row_odd:166
8 | sor/sor_first_row_even:212
9 |
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/sor_traver_cls:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/src/edu/tamu/aser/tide/akkasys/CheckDatarace.java:
--------------------------------------------------------------------------------
1 | package edu.tamu.aser.tide.akkasys;
2 |
3 | import java.util.HashSet;
4 |
5 | import edu.tamu.aser.tide.nodes.ReadNode;
6 | import edu.tamu.aser.tide.nodes.WriteNode;
7 |
8 |
9 | public class CheckDatarace{
10 |
11 | HashSet writes;
12 | HashSet reads;
13 | String sig;
14 |
15 | public CheckDatarace(String sig, HashSet writes2, HashSet reads2) {
16 | this.sig = sig;
17 | this.reads = reads2;
18 | this.writes = writes2;
19 | }
20 |
21 | public HashSet getWrites(){
22 | return writes;
23 | }
24 |
25 | public HashSet getReads(){
26 | return reads;
27 | }
28 |
29 | public String getSig(){
30 | return sig;
31 | }
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/src/edu/tamu/aser/tide/akkasys/CheckDeadlock.java:
--------------------------------------------------------------------------------
1 | package edu.tamu.aser.tide.akkasys;
2 |
3 | import java.util.ArrayList;
4 | import java.util.Set;
5 |
6 | import edu.tamu.aser.tide.nodes.DLPair;
7 |
8 | public class CheckDeadlock{
9 |
10 | private ArrayList dLLockPairs;
11 | private int tid;
12 | private Set tids;
13 |
14 | public CheckDeadlock(Integer tid1, Set tids, ArrayList dLLockPairs2) {
15 | // TODO Auto-generated constructor stub
16 | this.tid = tid1;
17 | this.dLLockPairs = dLLockPairs2;
18 | this.tids = tids;
19 | }
20 |
21 | public ArrayList getPairs(){
22 | return dLLockPairs;
23 | }
24 |
25 | public int getTid(){
26 | return tid;
27 | }
28 |
29 | public Set getTids(){
30 | return tids;
31 | }
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/src/edu/tamu/aser/tide/akkasys/DistributeDatarace.java:
--------------------------------------------------------------------------------
1 | package edu.tamu.aser.tide.akkasys;
2 |
3 | public class DistributeDatarace {
4 |
5 | }
6 |
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/src/edu/tamu/aser/tide/akkasys/DistributeDeadlock.java:
--------------------------------------------------------------------------------
1 | package edu.tamu.aser.tide.akkasys;
2 |
3 | public class DistributeDeadlock {
4 |
5 | }
6 |
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/src/edu/tamu/aser/tide/akkasys/FindSharedVarJob.java:
--------------------------------------------------------------------------------
1 | package edu.tamu.aser.tide.akkasys;
2 |
3 | import java.util.HashMap;
4 |
5 | public class FindSharedVarJob {
6 |
7 | String sig;
8 | HashMap readMap;
9 | HashMap writeMap;
10 |
11 | public FindSharedVarJob(String sig, HashMap hashMap, HashMap hashMap2) {
12 | this.sig = sig;
13 | this.readMap = hashMap2;
14 | this.writeMap = hashMap;
15 | }
16 |
17 | public String getSig(){
18 | return sig;
19 | }
20 |
21 | public HashMap getReadMap(){
22 | return readMap;
23 | }
24 |
25 | public HashMap getWriteMap(){
26 | return writeMap;
27 | }
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/src/edu/tamu/aser/tide/akkasys/FindSharedVariable.java:
--------------------------------------------------------------------------------
1 | package edu.tamu.aser.tide.akkasys;
2 |
3 | import java.util.HashMap;
4 |
5 | public class FindSharedVariable {
6 |
7 | private HashMap> variableReadMap;
8 | private HashMap> variableWriteMap;
9 |
10 | public FindSharedVariable(HashMap> rsig_tid_num_map,
11 | HashMap> wsig_tid_num_map) {
12 | this.variableReadMap = rsig_tid_num_map;
13 | this.variableWriteMap = wsig_tid_num_map;
14 | }
15 |
16 | public HashMap> getVReadMap(){
17 | return variableReadMap;
18 | }
19 |
20 | public HashMap> getVWriteMap() {
21 | return variableWriteMap;
22 | }
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/src/edu/tamu/aser/tide/akkasys/RemoveLocalJob.java:
--------------------------------------------------------------------------------
1 | package edu.tamu.aser.tide.akkasys;
2 |
3 | import java.util.ArrayList;
4 |
5 | import edu.tamu.aser.tide.shb.Trace;
6 |
7 | public class RemoveLocalJob {
8 |
9 | ArrayList node;
10 |
11 | public RemoveLocalJob(ArrayList team1) {
12 | this.node = team1;
13 | }
14 |
15 | public ArrayList getTeam(){
16 | return node;
17 | }
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/src/edu/tamu/aser/tide/akkasys/RemoveLocalVar.java:
--------------------------------------------------------------------------------
1 | package edu.tamu.aser.tide.akkasys;
2 |
3 | public class RemoveLocalVar {
4 |
5 | public RemoveLocalVar() {
6 | }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/src/edu/tamu/aser/tide/akkasys/ReturnResult.java:
--------------------------------------------------------------------------------
1 | package edu.tamu.aser.tide.akkasys;
2 |
3 | public class ReturnResult {
4 |
5 | }
6 |
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/src/edu/tamu/aser/tide/engine/ITIDEBug.java:
--------------------------------------------------------------------------------
1 | package edu.tamu.aser.tide.engine;
2 |
3 | import java.util.HashMap;
4 |
5 | import org.eclipse.core.resources.IFile;
6 |
7 | public interface ITIDEBug {
8 | public abstract HashMap getEventIFileMap();
9 | public abstract void addEventIFileToMap(String event, IFile ifile);
10 | public abstract HashMap getEventLineMap();
11 | public abstract void addEventLineToMap(String event, int line);
12 | }
13 |
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/src/edu/tamu/aser/tide/marker/DLMarkerUpdater.java:
--------------------------------------------------------------------------------
1 | package edu.tamu.aser.tide.marker;
2 |
3 | import org.eclipse.core.resources.IMarker;
4 | import org.eclipse.jface.text.IDocument;
5 | import org.eclipse.jface.text.Position;
6 | import org.eclipse.ui.texteditor.IMarkerUpdater;
7 |
8 | public class DLMarkerUpdater implements IMarkerUpdater{
9 |
10 | @Override
11 | public String[] getAttribute() {
12 | return null;
13 | }
14 |
15 | @Override
16 | public String getMarkerType() {
17 | return "edu.umd.cs.findbugs.plugin.eclipse.findbugsMarkerScary";
18 | }
19 |
20 | @Override
21 | public boolean updateMarker(IMarker marker, IDocument doc, Position line) {
22 | if(marker instanceof BugMarker){
23 | BugMarker bugMarker = (BugMarker) marker;
24 | }
25 | return true;
26 | }
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/src/edu/tamu/aser/tide/marker/RaceMarkerUpdater.java:
--------------------------------------------------------------------------------
1 | package edu.tamu.aser.tide.marker;
2 |
3 | import org.eclipse.core.resources.IMarker;
4 | import org.eclipse.jface.text.IDocument;
5 | import org.eclipse.jface.text.Position;
6 | import org.eclipse.ui.texteditor.IMarkerUpdater;
7 |
8 | public class RaceMarkerUpdater implements IMarkerUpdater{
9 |
10 | @Override
11 | public String[] getAttribute() {
12 | return null;
13 | }
14 |
15 | @Override
16 | public String getMarkerType() {
17 | return "edu.umd.cs.findbugs.plugin.eclipse.findbugsMarkerScariest";
18 | }
19 |
20 | @Override
21 | public boolean updateMarker(IMarker marker, IDocument doc, Position line) {
22 | if(marker instanceof BugMarker){
23 | BugMarker bugMarker = (BugMarker) marker;
24 | }
25 | return true;
26 | }
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/src/edu/tamu/aser/tide/nodes/DLPair.java:
--------------------------------------------------------------------------------
1 | package edu.tamu.aser.tide.nodes;
2 |
3 | public class DLPair {
4 | public DLockNode lock1;
5 | public DLockNode lock2;
6 |
7 | /**
8 | * lock1 -> lock2
9 | * @param lock1
10 | * @param lock2
11 | */
12 | public DLPair(DLockNode lock1, DLockNode lock2){
13 | this.lock1 = lock1;
14 | this.lock2 = lock2;
15 | }
16 |
17 | @Override
18 | public boolean equals(Object obj) {
19 | if(obj instanceof DLPair){
20 | DLPair that = (DLPair) obj;
21 | if(this.lock1.equals(that.lock1)
22 | && this.lock2.equals(that.lock2)){
23 | return true;
24 | }
25 | }
26 | return false;
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/src/edu/tamu/aser/tide/nodes/INode.java:
--------------------------------------------------------------------------------
1 | package edu.tamu.aser.tide.nodes;
2 |
3 | import com.ibm.wala.ipa.callgraph.CGNode;
4 |
5 | public interface INode {
6 | public int getTID();
7 | public String toString();
8 | public CGNode getBelonging();
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/src/edu/tamu/aser/tide/nodes/SyncNode.java:
--------------------------------------------------------------------------------
1 | package edu.tamu.aser.tide.nodes;
2 |
3 | import org.eclipse.core.resources.IFile;
4 |
5 | public abstract class SyncNode implements INode {
6 | public abstract String toString();
7 | public abstract int getSelfTID() ;
8 | public abstract IFile getFile();
9 | public abstract int getLine();
10 | }
11 |
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/src/edu/tamu/aser/tide/plugin/ChangedItem.java:
--------------------------------------------------------------------------------
1 | package edu.tamu.aser.tide.plugin;
2 |
3 | public class ChangedItem
4 | {
5 | public String packageName="";
6 | public String className="";
7 | public String methodName="";
8 |
9 | }
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/src/edu/tamu/aser/tide/views/ConcurrentRelation.java:
--------------------------------------------------------------------------------
1 | package edu.tamu.aser.tide.views;
2 |
3 | import java.util.HashSet;
4 |
5 | import edu.tamu.aser.tide.nodes.MemNode;
6 | import edu.tamu.aser.tide.nodes.ReadNode;
7 | import edu.tamu.aser.tide.nodes.WriteNode;
8 |
9 | public class ConcurrentRelation{
10 | public WriteNode writeNode;
11 | public HashSet concurrentReads;
12 | public HashSet concurrentWrites;
13 |
14 | public ConcurrentRelation(WriteNode writeNode) {
15 | this.writeNode = writeNode;
16 | this.concurrentReads = new HashSet<>();
17 | this.concurrentWrites = new HashSet<>();
18 | }
19 |
20 | public void addConcurrentRW(MemNode node) {
21 | if (node instanceof ReadNode) {
22 | addConcurrentReads((ReadNode) node);
23 | } else {
24 | addConcurrentWrites((WriteNode) node);
25 | }
26 | }
27 |
28 | public void addConcurrentReads(ReadNode node) {
29 | concurrentReads.add(node);
30 | }
31 |
32 | public void addConcurrentWrites(WriteNode node) {
33 | concurrentWrites.add(node);
34 | }
35 | }
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/src/edu/tamu/aser/tide/views/EventNode.java:
--------------------------------------------------------------------------------
1 | package edu.tamu.aser.tide.views;
2 |
3 | import java.util.ArrayList;
4 | import java.util.LinkedList;
5 |
6 | import org.eclipse.jface.resource.ImageDescriptor;
7 |
8 | import edu.tamu.aser.tide.plugin.Activator;
9 |
10 | public class EventNode extends TreeNode{
11 | protected String name;
12 |
13 | public EventNode(TreeNode parent, String event) {
14 | super(parent);
15 | this.name = event;
16 | }
17 |
18 | @Override
19 | public String getName() {
20 | return name;
21 | }
22 |
23 | @Override
24 | public ImageDescriptor getImage() {
25 | return Activator.getImageDescriptor("forward_nav.gif");
26 | }
27 |
28 | @Override
29 | protected void createChildren(ArrayList> trace, String fix) {
30 | // no child
31 | }
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/src/edu/tamu/aser/tide/views/FixNode.java:
--------------------------------------------------------------------------------
1 | package edu.tamu.aser.tide.views;
2 |
3 | import java.util.ArrayList;
4 | import java.util.LinkedList;
5 |
6 | import org.eclipse.jface.resource.ImageDescriptor;
7 |
8 | import edu.tamu.aser.tide.plugin.Activator;
9 |
10 | public class FixNode extends TreeNode{
11 | protected String name;
12 |
13 | public FixNode(TreeNode parent, String fix) {
14 | super(parent);
15 | this.name = fix;
16 | }
17 |
18 | @Override
19 | public String getName() {
20 | return name;
21 | }
22 |
23 | @Override
24 | public ImageDescriptor getImage() {
25 | return Activator.getImageDescriptor("datasheet.gif");
26 | }
27 |
28 | @Override
29 | protected void createChildren(ArrayList> trace, String fix) {
30 | // TODO Auto-generated method stub
31 | }
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/src/edu/tamu/aser/tide/views/ITreeNode.java:
--------------------------------------------------------------------------------
1 | package edu.tamu.aser.tide.views;
2 |
3 | import java.util.ArrayList;
4 |
5 | import org.eclipse.jface.resource.ImageDescriptor;
6 |
7 | public interface ITreeNode {
8 | public String getName();
9 | public ImageDescriptor getImage();
10 | public ArrayList getChildren();
11 | public boolean hasChildren();
12 | public ITreeNode getParent();
13 | }
14 |
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/src/edu/tamu/aser/tide/views/NewestBugLabelProvider.java:
--------------------------------------------------------------------------------
1 | package edu.tamu.aser.tide.views;
2 |
3 | import java.util.HashMap;
4 |
5 | import org.eclipse.jface.resource.ImageDescriptor;
6 | import org.eclipse.jface.viewers.CellLabelProvider;
7 | import org.eclipse.jface.viewers.ViewerCell;
8 | import org.eclipse.swt.graphics.Image;
9 |
10 | public class NewestBugLabelProvider extends CellLabelProvider{
11 | private HashMap imageCache = new HashMap<>(11);
12 |
13 | @Override
14 | public void update(ViewerCell cell) {
15 | cell.setText(((ITreeNode)cell).getName());
16 | cell.setImage(getImage(cell));
17 | }
18 |
19 | public String getText(Object element) {
20 | return ((ITreeNode)element).getName();
21 | }
22 |
23 | public Image getImage(Object element) {
24 | ImageDescriptor descriptor = ((ITreeNode)element).getImage();
25 | //obtain the cached image corresponding to the descriptor
26 | Image image = (Image)imageCache.get(descriptor);
27 | if (image == null) {
28 | image = descriptor.createImage();
29 | imageCache.put(descriptor, image);
30 | }
31 | return image;
32 | }
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/src/edu/tamu/aser/tide/views/SaveExcludeAction.java:
--------------------------------------------------------------------------------
1 | package edu.tamu.aser.tide.views;
2 |
3 | import org.eclipse.jface.action.Action;
4 | import org.eclipse.jface.dialogs.MessageDialog;
5 | import org.eclipse.swt.widgets.Shell;
6 | import org.eclipse.ui.PlatformUI;
7 | import org.eclipse.ui.actions.ActionFactory.IWorkbenchAction;
8 |
9 | public class SaveExcludeAction extends Action implements IWorkbenchAction{
10 |
11 | private static final String saveID = "edu.tamu.aser.tide.views.SaveExcludeAction";
12 |
13 | public SaveExcludeAction() {
14 | setId(saveID);
15 | }
16 |
17 | public void run() {
18 | Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
19 | String dialogBoxTitle = "Message!";
20 | String message = "You clicked something!";
21 | MessageDialog.openInformation(shell, dialogBoxTitle, message);
22 | };
23 |
24 | @Override
25 | public void dispose() {
26 | // TODO Auto-generated method stub
27 |
28 | }
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/src/edu/tamu/aser/tide/views/SubTraceNode.java:
--------------------------------------------------------------------------------
1 | package edu.tamu.aser.tide.views;
2 |
3 | import java.util.ArrayList;
4 | import java.util.LinkedList;
5 |
6 | import org.eclipse.jface.resource.ImageDescriptor;
7 |
8 | public class SubTraceNode extends TreeNode{
9 | protected String name;
10 | protected LinkedList events;
11 |
12 | public SubTraceNode(TreeNode parent, String name, LinkedList trace) {
13 | super(parent);
14 | this.name = name;
15 | this.events = trace;
16 | createEventChildren(events);
17 | }
18 |
19 | @SuppressWarnings("unchecked")
20 | private void createEventChildren(LinkedList events) {
21 | for (String event : events) {
22 | EventNode eventNode = new EventNode(this, event);
23 | super.children.add(eventNode);
24 | }
25 |
26 | }
27 |
28 | @Override
29 | public String getName() {
30 | return name;
31 | }
32 |
33 | @Override
34 | public ImageDescriptor getImage() {
35 | return null;
36 | }
37 |
38 | @Override
39 | protected void createChildren(ArrayList> events, String fix) {
40 | // TODO Auto-generated method stub
41 | }
42 |
43 | }
44 |
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/src/edu/tamu/aser/tide/views/TreeNode.java:
--------------------------------------------------------------------------------
1 | package edu.tamu.aser.tide.views;
2 |
3 | import java.util.ArrayList;
4 | import java.util.LinkedList;
5 |
6 | public abstract class TreeNode implements ITreeNode{
7 | protected TreeNode parent;
8 | protected boolean isNewest = false;
9 | protected ArrayList children = new ArrayList<>();
10 |
11 | public TreeNode(TreeNode parent) {
12 | this.parent = parent;
13 | }
14 |
15 | public boolean hasChildren() {
16 | return children.size() > 0;
17 | }
18 |
19 | public ITreeNode getParent() {
20 | return parent;
21 | }
22 |
23 | public ArrayList getChildren() {
24 | return children;
25 | }
26 |
27 |
28 | public boolean isNewest() {
29 | return this.isNewest;
30 | }
31 |
32 | /* subclasses should override this method and add the child nodes */
33 | protected abstract void createChildren(ArrayList> trace, String fix);
34 |
35 | }
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/swt.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/funemy/SWORD/a6554fc5c266f4e360dbd2af340963f17ad4339c/edu.tamu.cse.aser.sword/swt.jar
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/tsp_report:
--------------------------------------------------------------------------------
1 | TspSolver:79
2 | TspSolver:506
3 | TspSolver:547
4 | TspSolver:526
5 | TspSolver:548
6 | TspSolver:204
7 | TspSolver:523
8 | TspSolver:546
9 | TspSolver:205
10 | TspSolver:532
11 | TspSolver:455
12 | TspSolver:478
13 | TspSolver:115
14 | TspSolver:530
15 | TspSolver:178
16 | TspSolver:497
17 | TspSolver:531
18 | TspSolver:110
19 | TspSolver:496
20 | TspSolver:493
21 | TspSolver:293
22 | TspSolver:69
23 | TspSolver:85
24 | TspSolver:84
25 | TspSolver:83
26 | TspSolver:538
27 | TspSolver:82
28 | TspSolver:537
29 | TspSolver:479
30 | TspSolver:534
31 | TspSolver:117
32 | TspSolver:488
33 | TspSolver:489
34 | TspSolver:104
35 | TspSolver:167
36 | TspSolver:520
37 | TspSolver:542
38 | TspSolver:168
39 | TspSolver:484
40 | TspSolver:440
41 | TspSolver:540
42 | TspSolver:485
43 | TspSolver:163
44 | TspSolver:483
45 | TspSolver:164
46 | TspSolver:481
47 |
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/tsp_traver_cls:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/edu.tamu.cse.aser.sword/weblech_traver_cls:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------