SPLevo/Variation Point Analysis/Program Structure VPM Analyzer

Aus SDQ-Wiki

The Program Structure analyzer investigates in the static structure of the program. It focuses on references between software elements such as imported classes used in variable declarations or methods referenced in method invocations. Note: Overlaps exist, but data flow dependencies are not explicitly handled by this analyzer. They are in the focus of the [SPLevo/Variation Point Analysis/Data Dependency VPM Analyzer| Data Dependency VPM Analyzer]

Strategies

Program Structure VPM Analyzer Main Sequence

The analyzer builds an inverted index of the ast nodes of the software entities of the variation points, eached linked to the according variation point.
Those ast nodes are scanned for other AST nodes they are referenced by (e.g. a variable declaration used in statements). The referring AST nodes are looked up in the inverted index. In case of a match, a relationship is build between the variation points of the original AST nodes and the referring one.

The analyzer implements different strategies for the AST node types to identify referring AST nodes.

VariableDeclarationStatement

ImportDeclaration

An ImportDeclaration references a NamedElement as imported element. Depending on the type of this element, the referring elements are identified.