package pointsto
- Source
- package.scala
- Alphabetic
- By Inheritance
- pointsto
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- trait AbstractPointsToAnalysis extends PointsToAnalysisBase with ReachableMethodAnalysis
A context-insensitive points-to analysis, that uses an abstract PointsToSetLike in order to manage points-to sets.
- trait AbstractPointsToAnalysisScheduler extends BasicFPCFTriggeredAnalysisScheduler with PointsToBasedAnalysisScheduler
- trait AbstractPointsToBasedAnalysis extends FPCFAnalysis with ContextualAnalysis
Provides methods in order to work with points-to sets.
- trait AllocationSiteBasedAnalysis extends AbstractPointsToBasedAnalysis
- class AllocationSiteBasedPointsToAnalysis extends AbstractPointsToAnalysis with AllocationSiteBasedAnalysis
- case class ArrayEntity[ElementType](element: ElementType) extends Product with Serializable
Special entities, that are only used in the points-to analysis context.
- abstract class ArraycopyPointsToAnalysis extends PointsToAnalysisBase with TACAIBasedAPIBasedAnalysis
Handles the effect of
java.lang.System.arraycopy*to points-to sets. - trait ArraycopyPointsToAnalysisScheduler extends BasicFPCFEagerAnalysisScheduler with PointsToBasedAnalysisScheduler
- case class CallExceptions(defSite: DefinitionSite) extends Product with Serializable
- abstract class ConfiguredMethodsPointsToAnalysis extends PointsToAnalysisBase with TypeConsumerAnalysis
Applies the impact of preconfigured methods to the points-to analysis.
Applies the impact of preconfigured methods to the points-to analysis.
TODO: example TODO: refer to the config file
- trait ConfiguredMethodsPointsToAnalysisScheduler extends BasicFPCFTriggeredAnalysisScheduler with PointsToBasedAnalysisScheduler
- abstract class LibraryPointsToAnalysis extends PointsToAnalysisBase
Provides initial points to sets for the parameters of entry point methods, fields and arrays as required for library analysis.
Provides initial points to sets for the parameters of entry point methods, fields and arrays as required for library analysis.
Note: Does not mark public methods of instantiated types as entry points which would also be required for full library analysis.
- trait LibraryPointsToAnalysisScheduler extends BasicFPCFEagerAnalysisScheduler with PointsToBasedAnalysisScheduler
- case class MethodExceptions(context: Context) extends Product with Serializable
- abstract class NewInstanceAnalysis extends PointsToAnalysisBase
Introduces object allocations for newInstance reflection methods.
- trait NewInstanceAnalysisScheduler extends BasicFPCFEagerAnalysisScheduler with PointsToBasedAnalysisScheduler
- abstract class NewInstanceMethodAnalysis extends PointsToAnalysisBase with APIBasedAnalysis
- trait PointsToAnalysisBase extends AbstractPointsToBasedAnalysis with TypeConsumerAnalysis
Base class for handling instructions in points-to analysis scenarios.
- class PointsToAnalysisState[ElementType, PointsToSet <: PointsToSetLike[ElementType, _, PointsToSet], ContextType <: Context] extends BaseAnalysisState with TACAIBasedAnalysisState[ContextType]
Encapsulates the state of the analysis, analyzing a certain method using the org.opalj.tac.fpcf.analyses.pointsto.TypeBasedPointsToAnalysis.
- trait PointsToBasedAnalysisScheduler extends FPCFAnalysisScheduler
- class ReflectionAllocationsAnalysis extends FPCFAnalysis
Introduces additional allocation sites for reflection methods.
- class ReflectionMethodAllocationsAnalysis extends PointsToAnalysisBase with AllocationSiteBasedAnalysis with APIBasedAnalysis
- abstract class SerializationAllocationsAnalysis extends PointsToAnalysisBase with TACAIBasedAPIBasedAnalysis
Introduces additional allocation sites for serialization methods.
- trait SerializationAllocationsAnalysisScheduler extends BasicFPCFEagerAnalysisScheduler with PointsToBasedAnalysisScheduler
- abstract class TamiFlexPointsToAnalysis extends PointsToAnalysisBase
Handles the effect of tamiflex logs for the points-to sets.
- trait TamiFlexPointsToAnalysisScheduler extends BasicFPCFEagerAnalysisScheduler with PointsToBasedAnalysisScheduler
- abstract class TamiFlexPointsToArrayGetAnalysis extends PointsToAnalysisBase with TACAIBasedAPIBasedAnalysis
- abstract class TamiFlexPointsToArraySetAnalysis extends PointsToAnalysisBase with TACAIBasedAPIBasedAnalysis
- abstract class TamiFlexPointsToClassGetMemberAnalysis extends PointsToAnalysisBase with APIBasedAnalysis
- abstract class TamiFlexPointsToClassGetMembersAnalysis extends PointsToAnalysisBase with APIBasedAnalysis
- abstract class TamiFlexPointsToFieldGetAnalysis extends PointsToAnalysisBase with TACAIBasedAPIBasedAnalysis
- abstract class TamiFlexPointsToFieldSetAnalysis extends PointsToAnalysisBase with TACAIBasedAPIBasedAnalysis
- abstract class TamiFlexPointsToNewInstanceAnalysis extends PointsToAnalysisBase with APIBasedAnalysis
- trait TypeBasedAnalysis extends AbstractPointsToBasedAnalysis
Mix-in trait for points-to analyses using typesets (TypeBasedPointsToSet) as points-to sets.
- class TypeBasedPointsToAnalysis extends AbstractPointsToAnalysis with TypeBasedAnalysis
An andersen-style points-to analysis, i.e.
An andersen-style points-to analysis, i.e. points-to sets are modeled as subsets. It uses TypeBasedPointsToSet as points-to sets, i.e. does not differentiate allocation sites for the same types. The analysis is field-based, array-based and context-insensitive. As the analysis is build on top of the org.opalj.tac.TACAI, it is (implicitly) flow-sensitive (which is not the case for pure andersen-style).
Points-to sets may be attached to the following entities:
- org.opalj.tac.common.DefinitionSite for local variables.
- org.opalj.br.Field for fields (either static of instance)
- org.opalj.br.DeclaredMethod for the points-to set of the return values.
- org.opalj.br.analyses.VirtualFormalParameter for the parameters of a method.
- org.opalj.br.ClassType for the element type of an array.
- abstract class UnsafeGetPointsToAnalysis extends PointsToAnalysisBase with TACAIBasedAPIBasedAnalysis
- abstract class UnsafePointsToAnalysis extends PointsToAnalysisBase
Models effects of
sun.misc.Unsafeto points-to sets. - trait UnsafePointsToAnalysisScheduler extends BasicFPCFEagerAnalysisScheduler with PointsToBasedAnalysisScheduler
- abstract class UnsafePutPointsToAnalysis extends PointsToAnalysisBase with TACAIBasedAPIBasedAnalysis
Value Members
- def toEntity(defSitePC: Int, context: Context)(implicit formalParameters: VirtualFormalParameters, definitionSites: DefinitionSites, contextProvider: ContextProvider): Entity
Given a definition site PC (value origin) in a certain method, this returns the entity to be used to attach/retrieve points-to information from.
- object AllocationSiteBasedAnalysis
- object AllocationSiteBasedArraycopyPointsToAnalysisScheduler extends ArraycopyPointsToAnalysisScheduler
- object AllocationSiteBasedConfiguredMethodsPointsToAnalysisScheduler extends ConfiguredMethodsPointsToAnalysisScheduler
- object AllocationSiteBasedLibraryPointsToAnalysisScheduler extends LibraryPointsToAnalysisScheduler
- object AllocationSiteBasedNewInstanceAnalysisScheduler extends NewInstanceAnalysisScheduler
- object AllocationSiteBasedPointsToAnalysisScheduler extends AbstractPointsToAnalysisScheduler
- object AllocationSiteBasedSerializationAllocationsAnalysisScheduler extends SerializationAllocationsAnalysisScheduler
- object AllocationSiteBasedTamiFlexPointsToAnalysisScheduler extends TamiFlexPointsToAnalysisScheduler
- object AllocationSiteBasedUnsafePointsToAnalysisScheduler extends UnsafePointsToAnalysisScheduler
- object ReflectionAllocationsAnalysisScheduler extends BasicFPCFEagerAnalysisScheduler with PointsToBasedAnalysisScheduler
- object TypeBasedArraycopyPointsToAnalysisScheduler extends ArraycopyPointsToAnalysisScheduler
- object TypeBasedConfiguredMethodsPointsToAnalysisScheduler extends ConfiguredMethodsPointsToAnalysisScheduler
- object TypeBasedLibraryPointsToAnalysisScheduler extends LibraryPointsToAnalysisScheduler
- object TypeBasedNewInstanceAnalysisScheduler extends NewInstanceAnalysisScheduler
- object TypeBasedPointsToAnalysisScheduler extends AbstractPointsToAnalysisScheduler
- object TypeBasedSerializationAllocationsAnalysisScheduler extends SerializationAllocationsAnalysisScheduler
- object TypeBasedTamiFlexPointsToAnalysisScheduler extends TamiFlexPointsToAnalysisScheduler
- object TypeBasedUnsafePointsToAnalysisScheduler extends UnsafePointsToAnalysisScheduler