Abstract
Web services often impose dependency constraints that restrict the way in which two or more input parameters can be combined to form valid calls to the service. Unfortunately, current specification languages for web services like the OpenAPI Specification provide no support for the formal description of such dependencies, which makes it hardly possible to automatically discover and interact with services without human intervention. Researchers and practitioners are openly requesting support for modelling and validating dependencies among input parameters in web APIs, but this is not possible unless we share a deep understanding of how dependencies emerge in practice—the aim of this work. In this paper, we present a thorough study on the presence of dependency constraints among input parameters in web APIs in industry. The study is based on a review of more than 2.5K operations from 40 real-world RESTful APIs from multiple application domains. Overall, our findings show that input dependencies are the norm, rather than the exception, with 85% of the reviewed APIs having some kind of dependency among their input parameters. As the main outcome of our study, we present a catalogue of seven types of dependencies consistently found in RESTful web APIs.
Keywords
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Arcuri, A.: RESTful API automated test case generation with EvoMaster. ACM Trans. Softw. Eng. Methodol. 28(1), 3 (2019)
Atlidakis, V., Godefroid, P., Polishchuk, M.: REST-ler: automatic intelligent REST API Fuzzing. Technical report, April 2018
Benavides, D., Segura, S., Ruiz-Cortés, A.: Automated analysis of feature models 20 years later: a literature review. Inf. Syst. 35(6), 615–636 (2010)
Cacciagrano, D., Corradini, F., Culmone, R., Vito, L.: Dynamic constraint-based invocation of web services. In: 3rd International Workshop on Web Services and Formal Methods, pp. 138–147 (2006)
Inter-Parameter Dependencies in RESTful APIs [Dataset] (2019). https://bit.ly/2wvv1m1
Ed-douibi, H., Izquierdo, J.L.C., Cabot, J.: Automatic generation of test cases for REST APIs: a specification-based approach. In: IEEE 22nd International Enterprise Distributed Object Computing Conference, pp. 181–190 (2018)
Fielding, R.T.: Architectural styles and the design of network-based software architectures. Ph.D. thesis (2000)
Gamez-Diaz, A., Fernandez, P., Ruiz-Cortés, A.: Automating SLA-Driven API development with SLA4OAI. In: 17th International Conference on Service-Oriented Computing (2019)
Gao, C., Wei, J., Zhong, H., Huang, T.: Inferring data contract for web-based API. In: IEEE International Conference on Web Services, pp. 65–72 (2014)
Jacobson, D., Brail, G., Woods, D.: APIs: A Strategy Guide. O’Reilly Media, Inc., Sebastopol (2011)
Martin-Lopez, A., Segura, S., Ruiz-Cortés, A.: Test coverage criteria for RESTful Web APIs. In: Proceedings of the 10th ACM SIGSOFT International Workshop on Automating TEST Case Design, Selection, and Evaluation (A-TEST 2019) (2019)
Oostvogels, N., De Koster, J., De Meuter, W.: Inter-parameter constraints in contemporary web APIs. In: Cabot, J., De Virgilio, R., Torlone, R. (eds.) ICWE 2017. LNCS, vol. 10360, pp. 323–335. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-60131-1_18
OpenAPI Specification. https://github.com/OAI/OpenAPI-Specification. Accessed March 2019
ProgrammableWeb API Directory. http://www.programmableweb.com/. Accessed March 2019
RESTful API Modeling Language (RAML). http://raml.org/. Accessed March 2019
RapidAPI API Directory. https://rapidapi.com. Accessed March 2019
Richardson, L., Amundsen, M., Ruby, S.: RESTful Web APIs. O’Reilly Media, Inc., Sebastopol (2013)
Segura, S., Parejo, J.A., Troya, J., Ruiz-Cortés, A.: Metamorphic testing of RESTful web APIs. IEEE Trans. Softw. Eng. 44(11), 1083–1099 (2018)
Swagger. http://swagger.io/. Accessed March 2019
Text Analyzer - Text analysis Tool. https://www.online-utility.org/text/analyzer.jsp. Accessed April 2019
Wu, Q., Wu, L., Liang, G., Wang, Q., Xie, T., Mei, H.: Inferring dependency constraints on parameters for web services. In: Proceedings of the 22nd International Conference on World Wide Web, pp. 1421–1432 (2013)
Xu, L., Yuan, Q., Wu, J., Liu, C.: Ontology-based web service robustness test generation. In: IEEE International Symposium on Web Systems Evolution, pp. 59–68 (2009)
Acknowledgements
This work has been partially supported by the European Commission (FEDER) and Spanish Government under projects BELI (TIN2015-70560-R) and HORATIO (RTI2018-101204-B-C21), and the FPU scholarship program, granted by the Spanish Ministry of Education and Vocational Training (FPU17/04077). We would also like to thank Enrique Barba Roque and Julián Gómez Rodríguez for their help in analysing the documentation of some of the APIs considered for this study.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Martin-Lopez, A., Segura, S., Ruiz-Cortés, A. (2019). A Catalogue of Inter-parameter Dependencies in RESTful Web APIs. In: Yangui, S., Bouassida Rodriguez, I., Drira, K., Tari, Z. (eds) Service-Oriented Computing. ICSOC 2019. Lecture Notes in Computer Science(), vol 11895. Springer, Cham. https://doi.org/10.1007/978-3-030-33702-5_31
Download citation
DOI: https://doi.org/10.1007/978-3-030-33702-5_31
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-33701-8
Online ISBN: 978-3-030-33702-5
eBook Packages: Computer ScienceComputer Science (R0)