accrue.analysis.pointer

## Class PointsToEngineSingleThread

- java.lang.Object
- - accrue.analysis.pointer.PointsToEngine
  - - accrue.analysis.pointer.PointsToEngineSingleThread

-     public class PointsToEngineSingleThread
      extends PointsToEngine

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class accrue.analysis.pointer.PointsToEngine

      `PointsToEngine.PointsToTimeoutException, PointsToEngine.StmtAndContext`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PointsToEngineSingleThread(HeapAbstractionFactory haf)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `PointsToGraph` | `solveImpl(StmtRegistrar registrar, polyglot.frontend.ExtensionInfo extInfo)`
    `PointsToGraph` | `solveSimple(StmtRegistrar registrar, polyglot.frontend.ExtensionInfo extInfo)` A simple and inefficient solution technique: iterate through all statements until no more changes
    `PointsToGraphSerial` | `solveSmarter(StmtRegistrar registrar, polyglot.frontend.ExtensionInfo extInfo)` A better solution techniques that tracks dependencies between points-to sets and statements.

    - ### Methods inherited from class accrue.analysis.pointer.PointsToEngine

      `checkReachedFixedpoint, checkTimeout, heapAbstractionFactory, setTimeout, solve, startSolution, startTime, timeout, timeoutTime, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### PointsToEngineSingleThread

          public PointsToEngineSingleThread(HeapAbstractionFactory haf)

  - ### Method Detail

    - #### solveImpl

          public PointsToGraph solveImpl(StmtRegistrar registrar,
                                polyglot.frontend.ExtensionInfo extInfo)

      Specified by:
        `solveImpl` in class `PointsToEngine`

    - #### solveSimple

          public PointsToGraph solveSimple(StmtRegistrar registrar,
                                  polyglot.frontend.ExtensionInfo extInfo)

      A simple and inefficient solution technique: iterate through all statements until no more changes

    - #### solveSmarter

          public PointsToGraphSerial solveSmarter(StmtRegistrar registrar,
                                         polyglot.frontend.ExtensionInfo extInfo)

      A better solution techniques that tracks dependencies between points-to sets and statements.