I'm a college student choosing a major project and would appreciate feedback from experienced developers. I'm considering building a tool that compares an old and new API specification, such as OpenAPI files, then examines a client application or repository to identify the files and functions that may be affected by changed or removed endpoints, parameters, response fields, or types.
The research question would be whether automated API-change impact analysis can accurately locate affected client-code areas compared with manual inspection or simpler approaches. My current plan involves Python, AST-based static analysis, OpenAPI parsing, dependency graphs, and public code repositories.
Is this a useful and sufficiently focused real-world problem? Is it novel enough for a research-oriented major project, and how could I narrow the scope or evaluate it properly?
3 Answers
The idea is useful, but API versioning already prevents many breaking changes by allowing older clients to keep using an earlier version. Your tool would be more valuable as an impact-notification or migration assistant—something that compares API specifications and warns developers about likely client-side breakage before they upgrade.
This is a solid project if you narrow it to one language and a specific API format. A practical scope would be: compare two OpenAPI documents, detect removed endpoints, renamed parameters, removed response fields, and type changes, then use an AST to find related endpoint and field references in a client repository. Report the affected files, functions, lines, and the API change that caused the warning.
For evaluation, use repositories with documented API-migration commits or create controlled changes, then compare your results with manual inspection, text search, and a dependency-only baseline. Useful metrics include precision, recall, analyst time saved, and the number of unsupported dynamic cases. The project becomes research rather than just a software tool when you measure how well each approach performs on held-out migrations.
There is an important limitation: you can only trace usage when you have access to the client source code and the code is analyzable. Public APIs often have unknown third-party consumers, and dynamic calls or generated clients can be difficult to follow. Because of that, avoid claiming that the tool finds every affected application. Present it as a system that ranks likely impact locations for supported languages and frameworks, while clearly reporting cases it cannot analyze.

Related Questions
XML Signature Verifier
Voltage Divider Calculator
SSL Certificate Decoder
SQL Formatter
Online Font Playground to Test Google or Custom Fonts
File Hash Generator Online – Get Instant MD5 and SHA-256 Hashes