{'fraction_non_alphanumeric': 0.02608695652173913, 'fraction_numerical': 0.0, 'mean_word_length': 5.222972972972973, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Recovering Use-Case-Diagram-To-Source-Code Traceability Links

Use case diagrams (UCDs) are widely used to describe requirements and desired functionality of software products. However, UCDs are loosely linked to programs source code, and maintaining traces between the source code and elements of UCDs is a manual, tedious, and laborious process. We offer a novel approach for automating a part of this process. Developers first specify few traceability links (TLs). Our system combines these links with run-time monitoring, program analysis, and machine-learning approaches to recover and validate additional TLs between types and variables in Java programs and elements of UCDs. We evaluate our prototype implementation on opensource software projects, and our results suggest that our approach can generalize from a small set of initial links to recover many other TLs with a high degree of automation and precision.