As part of our study, we performed manual and tool-assisted requirements-to-code traceability link recovery (RCTLR) [1]}, [2]}, as we consider the data constraints as part of the system requirements.
We developed our own detectors for recovering candidate links, because existing approaches are not appropriate for this use.
This is because the current state of the art does not achieve retrieval of such links at statement level [3]}.
Most existing techniques are based on text retrieval [4]}, [2]}, while approaches based on machine learning [6]}, [7]} and AI [8]}, [9]} have also been explored.
Closer to our work are the approaches leveraging structural features of the software [10]}, [11]}, [12]}.
However, these features often focus on class or method relationships, and do not describe implementation patterns.
Recently, Blasco et al. [9]} proposed a statement-level RCTLR approach that uses LSI and genetic algorithms.
It works by selecting a set of seed statements based on textual similarity, which is randomly mutated using the crossover and mutation operators until it results in a set of candidate links.
In contrast, our study found the statement-level candidate links by exploiting the implementation patterns that we identified.
