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 FPCFTriggeredAnalysisScheduler
- 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
- 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 FPCFTriggeredAnalysisScheduler
- 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 FPCFEagerAnalysisScheduler
- 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
- 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.
- class ReflectionAllocationsAnalysis extends FPCFAnalysis
Introduces additional allocation sites for reflection methods.
- class ReflectionMethodAllocationsAnalysis extends PointsToAnalysisBase with AllocationSiteBasedAnalysis with APIBasedAnalysis
- class TamiFlexLogData extends AnyRef
Container class, to represent a tamiflex log: https://github.com/secure-software-engineering/tamiflex
- abstract class TamiFlexPointsToAnalysis extends PointsToAnalysisBase
Handles the effect of tamiflex logs for the points-to sets.
- trait TamiFlexPointsToAnalysisScheduler extends BasicFPCFEagerAnalysisScheduler
- 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.ObjectType for the element type of an array.
- abstract class UnsafeGetPointsToAnalysis extends PointsToAnalysisBase with TACAIBasedAPIBasedAnalysis
- abstract class UnsafePointsToAnalysis extends PointsToAnalysisBase
Models effects of
sun.misc.Unsafe
to points-to sets. - trait UnsafePointsToAnalysisScheduler extends BasicFPCFEagerAnalysisScheduler
- abstract class UnsafePutPointsToAnalysis extends PointsToAnalysisBase with TACAIBasedAPIBasedAnalysis
Value Members
- def longToAllocationSite(encodedAllocationSite: AllocationSite)(implicit typeIterator: TypeIterator): (Context, PC, Int)
- Annotations
- @inline()
- def toEntity(defSite: Int, context: Context, stmts: Array[Stmt[DUVar[ValueInformation]]])(implicit formalParameters: VirtualFormalParameters, definitionSites: DefinitionSites, typeIterator: TypeIterator): Entity
Given a definition site (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 AllocationSiteBasedTamiFlexPointsToAnalysisScheduler extends TamiFlexPointsToAnalysisScheduler
- object AllocationSiteBasedUnsafePointsToAnalysisScheduler extends UnsafePointsToAnalysisScheduler
- object ReflectionAllocationsAnalysisScheduler extends BasicFPCFEagerAnalysisScheduler
- object TamiFlexKey extends ProjectInformationKey[TamiFlexLogData, Nothing]
Stores TamiFlex log information for the current project
- object TypeBasedArraycopyPointsToAnalysisScheduler extends ArraycopyPointsToAnalysisScheduler
- object TypeBasedConfiguredMethodsPointsToAnalysisScheduler extends ConfiguredMethodsPointsToAnalysisScheduler
- object TypeBasedLibraryPointsToAnalysisScheduler extends LibraryPointsToAnalysisScheduler
- object TypeBasedNewInstanceAnalysisScheduler extends NewInstanceAnalysisScheduler
- object TypeBasedPointsToAnalysisScheduler extends AbstractPointsToAnalysisScheduler
- object TypeBasedTamiFlexPointsToAnalysisScheduler extends TamiFlexPointsToAnalysisScheduler
- object TypeBasedUnsafePointsToAnalysisScheduler extends UnsafePointsToAnalysisScheduler