Heuristics - HestiaProject/PAxSPL GitHub Wiki

Definition:

A proposed approach that uses a practical method not guaranteed to be perfect, but sufficient to obtain immediate goals.

Variations:

Some heuristics proposed by some authors will be introduced here. To obtain more details about each heuristic, please access the reference.

Filtering:

Filter elements that are not part of diff sets. In other words, elements that do not contribute directly to the feature retrieved. The filtering can be applied to any feature location approach, mainly on dynamic or static analysis (Rubin and Chechik 2012b).

Score Modification:

Can be used in location algorithms that employ an iterative, multi-staged program exploration approach. This algorithms return to the user a ranked list of relevant program elements. Score modification, rank these elements based on their lexical and syntactical properties. Scored is used to determine which elements should be analyzed in the next iteration (Rubin and Chechik 2012b).

Compare:

Calculates the similarity degree for each pair of input model elements (Rubin and Chechik, 2012a).

Match:

Uses empirical similarity thresholds and analyse a pair of model elements. returns those pairs that are considered similar in a match result. Unmatched elements are copied to the result without modification (Rubin and Chechik, 2012a).

Syntactical heuristics:

Utilizes metrics based on words' morphology to determine the similarity of two features in order to find parent-child dependencies (Bécan et al., 2013).

Semantical heuristics:

Utilizes general ontologies to semantically compare feature names (Bécan et al., 2013).

Inputs:

Outputs:

N/A

Examples:

Related Techniques

Recommended Situations:

Heuristics can be called "supporting techniques", so they can be used in different situations but always along other techniques such as clustering and information retrieval techniques.

Not Recommended Situations:

N/A