Enhancing a Scalable, Lexical Search Tool via Integration with a Semantically-Based Analysis Engine
Mahta Ghorbanian · Libraries and Cultural Resources (University of Calgary) · 2026
Software maintenance and evolution are often hindered by the structural limitations of traditional impact-analysis tools, which frequently rely on lexical search mechanisms. Although lexical search can provide high precision for direct textual matches, it cannot trace complex data- and control-flow dependencies that produce ripple effects across software systems. Missing these indirect dependencies can cause developers to overlook necessary modifications, increasing the risk of incomplete maintenance, software regressions, and unexpected system behaviour. This thesis presents the design, implementation, and evaluation of an integrated system that augments the industrial DevSurge lexical-search utility with the syntactic and semantic analysis capabilities of the ModCP engine. Architecturally, the integration uses the Mediator design pattern to provide a loosely coupled and maintainable bridge between the production-grade search interface and the research-grade analysis engine. This approach supports the construction and traversal of modularized program dependence graphs (mPDGs) without tightly coupling ModCP to the existing industrial codebase. In addition, this research introduces a multi-strategy framework that maps structural software metrics to Agile story points. Users can select among cyclomatic complexity, impacted lines of code, and a coupling-oriented metric based on impacted call statements. The resulting estimates can be exported as Jira-ready work items, providing a transparent and consistently applied quantitative baseline for project planning and effort estimation. The system was evaluated using a version-controlled Java project and a ground truth derived from historical de-veloper changes and system-test evidence. Quantitative results demonstrate that the integrated system substantially improves the coverage of the lexical baseline. At the best-performing syntactic/semantic propagation distance in the evaluated system, d = 4, the integrated system increased the harmonic F1-score from 32.88% to 74.80%. At this distance, the system identified 79.31% of the historical change impacts while maintaining a precision of 70.77%. Fur-thermore, an isolated-variable analysis revealed that syntactic/semantic dependencies propagate differently depending on architectural context. Internal state variables achieved their highest predictive utility at shallow depths (d = 2), whereas a hardware-facade variable associated with event-driven behaviour required deeper traversal (d = 4) to reveal indirect dependencies. These findings suggest that structural change-impact analysis should support configurable or adaptive propagation depths rather than relying on a single universal setting. This work provides a foundation for next-generation maintenance tools that combine the speed and usability of lexical search with structural dependency analysis. The integrated approach helps developers identify where complex ripple effects may occur and provides measurable software metrics that can support the planning and management of the resulting development effort.