HEAL DSpace

Dependency Detection in REST APIs

DSpace/Manakin Repository

Show simple item record

dc.contributor.author Pallis, Sotirios en
dc.contributor.author Πάλλης, Σωτήριος el
dc.date.accessioned 2026-05-20T04:35:49Z
dc.date.available 2026-05-20T04:35:49Z
dc.identifier.uri https://dspace.lib.ntua.gr/xmlui/handle/123456789/64679
dc.identifier.uri http://dx.doi.org/10.26240/heal.ntua.32373
dc.rights Αναφορά Δημιουργού-Όχι Παράγωγα Έργα 3.0 Ελλάδα *
dc.rights Αναφορά Δημιουργού-Όχι Παράγωγα Έργα 3.0 Ελλάδα *
dc.rights.uri http://creativecommons.org/licenses/by-nd/3.0/gr/ *
dc.subject Ανίχνευση εξαρτήσεων el
dc.subject Διαδίκτυο el
dc.subject Τεκμηρίωση el
dc.subject Γράφος el
dc.subject Αλληλουχία Κλήσεων el
dc.subject OpenAPI en
dc.subject Documentation en
dc.subject Dependency Detection en
dc.subject Graph en
dc.subject REST en
dc.title Dependency Detection in REST APIs en
dc.title Ανίχνευση Εξαρτήσεων σε REST APIs el
heal.type bachelorThesis
heal.classification Software Engineering en
heal.classification Τεχνολογία Λογισμικού el
heal.language el
heal.language en
heal.access free
heal.recordProvider ntua el
heal.publicationDate 2025-06-25
heal.abstract Modern software systems rarely invoke REST endpoints in isolation; real-world integrations follow data-driven call sequences that are almost never documented explicitly. This thesis investigates how such inter-endpoint dependencies can be recovered automatically from an API’s own specification. We propose a purely static technique that parses an OpenAPI document and applies a two-tier, brute-force matching algorithm: first at object level and then recursively at field level to capture fine-grained producer-consumer relations. The detected links are rendered as directed graphs whose nodes represent endpoints and whose edges are annotated with the shared parameters, offering users an immediate, workflow-oriented view of an unfamiliar API. The approach is implemented in a cross-platform desktop application written in Kotlin Multiplatform with a Compose UI; detection logic, graph generation (Dotlin + Graphviz) and export utilities are encapsulated behind a simple GUI. Evaluation on three heterogeneous specifications—the ENTSO-E energy data API, the canonical Swagger PetStore sample, and PayPal’s Checkout Orders service—produces results that vary in terms of correctness and completeness of the dependencies. It also highlights limitations rooted in poor naming conventions and incomplete schemas, underscoring the importance of high-quality specifications. Although the brute-force strategy sacrifices performance for completeness, run-times remain acceptable for medium-sized APIs, and the methodology lays a solid foundation for future work on semantics-aware matching and dynamic techniques. en
heal.abstract Τα σύγχρονα συστήματα λογισμικού σπάνια καλούν REST endpoints μεμονωμένα·στην πραγματικότητα ακολουθούν αλληλουχίες κλήσεων που καθοδηγούνται από δεδομένα οι οποίες σπάνια τεκμηριώνονται ρητά. Η παρούσα διπλωματική εξετάζει πώς τέτοιες εξαρτήσεις μεταξύ endpoints μπορούν να βρεθούν αυτόματα από την ίδια την προδιαγραφή ενός API. Προτείνουμε μια αμιγώς στατική τεχνική που αναλύει ένα έγγραφο OpenAPI και εφαρμόζει έναν αλγόριθμο αντιστοίχισης δύο επιπέδων: αρχικά σε επίπεδο αντικειμένων και στη συνέχεια αναδρομικά σε επίπεδο πεδίων, με σκοπό να εντοπίσει λεπτομερείς σχέσεις παραγωγού-καταναλωτή. Οι ανιχνευμένοι δεσμοί απεικονίζονται ως κατευθυνόμενα γραφήματα· οι κόμβοι αντιστοιχούν σε endpoints και οι ακμές σχολιάζονται με τις παραμέτρους που δημιουργούν την εξάρτηση, προσφέροντας στο χρήστη μια διαφορετική σκοπιά ενός άγνωστου API, βασισμένη σε ροές κλήσεων. Η προσέγγιση υλοποιείται ως μια δια-πλατφορμική εφαρμογή γραμμένη σε Kotlin Multiplatform με χρήση Compose για τη διεπαφή χρήστη η λογική ανίχνευσης, η παραγωγή γραφημάτων (Dotlin + Graphviz) και τα εργαλεία εξαγωγής περικλείονται πίσω από μία απλή γραφική διεπαφή. Γίνεται αξιολόγηση σε 3 διαφορετικά APIs - το ενεργειακό API ENTSO-E, το κλασικό δείγμα Swagger PetStore και την υπηρεσία Checkout Orders της PayPal - από την οποία προκύπτουν ποικίλα αποτελέσματα όσον αφορά την εγκυρότητα αλλά και την πληρότητα των εξαρτήσεων. Παράλληλα αναδεικνύει περιορισμούς που οφείλονται σε φτωχές συμβάσεις ονοματοδοσίας και ελλιπή σχήματα, υπογραμμίζοντας τη σημασία ποιοτικών προδιαγραφών. Αν και η στρατηγική brute-force θυσιάζει απόδοση χάριν πληρότητας, οι χρόνοι εκτέλεσης παραμένουν αποδεκτοί για APIs μεσαίου μεγέθους και η μεθοδολογία θέτει στέρεες βάσεις για μελλοντική εργασία σε σημασιολογικά ενημερωμένη αντιστοίχιση και εμπλουτισμό με δυναμικές τεχνικές. el
heal.advisorName Vescoukis, Vassilios en
heal.advisorName Βεσκούκης, Βασίλειος el
heal.committeeMemberName Papaspyrou, Nikolaos en
heal.committeeMemberName Παρασκευοπούλου, Ζωή el
heal.committeeMemberName Παπασπύρου, Νικόλαος el
heal.committeeMemberName Παρασκευοπούλου, Ζωή el
heal.academicPublisher Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. el
heal.academicPublisherID ntua
heal.numberOfPages 97
heal.fullTextAvailability false
heal.fullTextAvailability false


Files in this item

The following license files are associated with this item:

This item appears in the following Collection(s)

Show simple item record

Αναφορά Δημιουργού-Όχι Παράγωγα Έργα 3.0 Ελλάδα Except where otherwise noted, this item's license is described as Αναφορά Δημιουργού-Όχι Παράγωγα Έργα 3.0 Ελλάδα