Is an Automated Tool for Tracing API Changes to Client Code a Practical Major Project?

0
1
Asked By MellowCedar42 On

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

Answered By NorthstarQuill7 On

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.

Answered By PixelHarbor56 On

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.

Answered By JuniperVale19 On

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

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.