{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,4]],"date-time":"2026-07-04T11:21:04Z","timestamp":1783164064595,"version":"3.54.6"},"reference-count":64,"publisher":"Elsevier BV","license":[{"start":{"date-parts":[[2026,9,1]],"date-time":"2026-09-01T00:00:00Z","timestamp":1788220800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/tdm\/userlicense\/1.0\/"},{"start":{"date-parts":[[2026,9,1]],"date-time":"2026-09-01T00:00:00Z","timestamp":1788220800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/legal\/tdmrep-license"},{"start":{"date-parts":[[2026,9,1]],"date-time":"2026-09-01T00:00:00Z","timestamp":1788220800000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-017"},{"start":{"date-parts":[[2026,9,1]],"date-time":"2026-09-01T00:00:00Z","timestamp":1788220800000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-037"},{"start":{"date-parts":[[2026,9,1]],"date-time":"2026-09-01T00:00:00Z","timestamp":1788220800000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-012"},{"start":{"date-parts":[[2026,9,1]],"date-time":"2026-09-01T00:00:00Z","timestamp":1788220800000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-029"},{"start":{"date-parts":[[2026,9,1]],"date-time":"2026-09-01T00:00:00Z","timestamp":1788220800000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-004"}],"funder":[{"DOI":"10.13039\/501100002855","name":"Ministry of Science and Technology of the People&apos;s Republic of China","doi-asserted-by":"publisher","id":[{"id":"10.13039\/501100002855","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100012166","name":"National Key Research and Development Program of China","doi-asserted-by":"publisher","award":["2022YFB4501604"],"award-info":[{"award-number":["2022YFB4501604"]}],"id":[{"id":"10.13039\/501100012166","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["elsevier.com","sciencedirect.com"],"crossmark-restriction":true},"short-container-title":["Journal of Systems and Software"],"published-print":{"date-parts":[[2026,9]]},"DOI":"10.1016\/j.jss.2026.112914","type":"journal-article","created":{"date-parts":[[2026,4,30]],"date-time":"2026-04-30T05:35:50Z","timestamp":1777527350000},"page":"112914","update-policy":"https:\/\/doi.org\/10.1016\/elsevier_cm_policy","source":"Crossref","is-referenced-by-count":0,"special_numbering":"C","title":["OOPS: Automated generation of REST API specification via LLMs"],"prefix":"10.1016","volume":"239","author":[{"ORCID":"https:\/\/orcid.org\/0009-0008-3145-1708","authenticated-orcid":false,"given":"Hao","family":"Chen","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-0809-2619","authenticated-orcid":false,"given":"Yunchun","family":"Li","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-0774-0015","authenticated-orcid":false,"given":"Chen","family":"Chen","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0009-0009-3844-2342","authenticated-orcid":false,"given":"Fengxu","family":"Lin","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-0442-253X","authenticated-orcid":false,"given":"Wei","family":"Li","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"78","reference":[{"key":"10.1016\/j.jss.2026.112914_b1","doi-asserted-by":"crossref","unstructured":"Al-Kaswan, A., Izadi, M., Van Deursen, A., 2024. Traces of memorisation in large language models for code. In: Proceedings of the IEEE\/ACM 46th International Conference on Software Engineering. pp. 1\u201312.","DOI":"10.1145\/3597503.3639133"},{"key":"10.1016\/j.jss.2026.112914_b2","series-title":"Top API specification trends","author":"APIMatic","year":"2022"},{"key":"10.1016\/j.jss.2026.112914_b3","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/3293455","article-title":"RESTful API automated test case generation with EvoMaster","volume":"28","author":"Arcuri","year":"2019","journal-title":"ACM Trans. Softw. Eng. Methodol."},{"key":"10.1016\/j.jss.2026.112914_b4","doi-asserted-by":"crossref","unstructured":"Atlidakis, V., Godefroid, P., Polishchuk, M., 2019. Restler: Stateful rest api fuzzing. In: Proceedings of the IEEE\/ACM 41st International Conference on Software Engineering. pp. 748\u2013758.","DOI":"10.1109\/ICSE.2019.00083"},{"key":"10.1016\/j.jss.2026.112914_b5","doi-asserted-by":"crossref","first-page":"675","DOI":"10.1145\/3643757","article-title":"Codeplan: Repository-level coding using llms and planning","volume":"1","author":"Bairi","year":"2024","journal-title":"Proc. ACM Softw. Eng."},{"key":"10.1016\/j.jss.2026.112914_b6","doi-asserted-by":"crossref","first-page":"1054","DOI":"10.1145\/3728922","article-title":"You name it, I run it: An LLM agent to execute tests of arbitrary projects","volume":"2","author":"Bouzenia","year":"2025","journal-title":"Proc. ACM Softw. Eng."},{"key":"10.1016\/j.jss.2026.112914_b7","series-title":"Rambo: Enhancing rag-based repository-level method body completion","author":"Bui","year":"2024"},{"key":"10.1016\/j.jss.2026.112914_b8","doi-asserted-by":"crossref","unstructured":"Chaplia, O., Klym, H., 2024. Extracting REST API Endpoints from Microservices Using LLM Agents. In: 2024 14th International Conference on Dependable Systems, Services and Technologies. pp. 1\u20137.","DOI":"10.1109\/DESSERT65323.2024.11122242"},{"key":"10.1016\/j.jss.2026.112914_b9","series-title":"Automatically dereferences JSON references within a JSON document","author":"Chase","year":"2025"},{"key":"10.1016\/j.jss.2026.112914_b10","series-title":"LRASGen: LLM-based restful API specification generation","author":"Deng","year":"2025"},{"key":"10.1016\/j.jss.2026.112914_b11","series-title":"R2c2-coder: Enhancing and benchmarking real-world repository-level code completion abilities of code large language models","author":"Deng","year":"2024"},{"key":"10.1016\/j.jss.2026.112914_b12","unstructured":"Deng, G., Zhang, Z., Li, Y., Liu, Y., Zhang, T., Liu, Y., Yu, G., Wang, D., 2023. NAUTILUS: Automated RESTful API vulnerability detection. In: 32nd USENIX Security Symposium. pp. 5593\u20135609."},{"key":"10.1016\/j.jss.2026.112914_b13","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/3672459","article-title":"Self-collaboration code generation via chatgpt","volume":"33","author":"Dong","year":"2024","journal-title":"ACM Trans. Softw. Eng. Methodol."},{"key":"10.1016\/j.jss.2026.112914_b14","unstructured":"Du, W., Li, J., Wang, Y., Chen, L., Zhao, R., Zhu, J., Han, Z., Wang, Y., Xue, Z., 2024. Vulnerability-oriented Testing for RESTful APIs. In: 33rd USENIX Security Symposium. pp. 739\u2013755."},{"key":"10.1016\/j.jss.2026.112914_b15","doi-asserted-by":"crossref","unstructured":"Eriksson, B., Pellegrino, G., Sabelfeld, A., 2021. Black widow: Blackbox data-driven web scanning. In: 2021 IEEE Symposium on Security and Privacy. pp. 1125\u20131142.","DOI":"10.1109\/SP40001.2021.00022"},{"key":"10.1016\/j.jss.2026.112914_b16","article-title":"Integrating various software artifacts for better LLM-based bug localization and program repair","author":"Feng","year":"2025","journal-title":"ACM Trans. Softw. Eng. Methodol."},{"key":"10.1016\/j.jss.2026.112914_b17","series-title":"Architectural Styles and the Design of Network-Based Software Architectures","author":"Fielding","year":"2000"},{"key":"10.1016\/j.jss.2026.112914_b18","series-title":"Flasgger","author":"Flasgger","year":"2024"},{"key":"10.1016\/j.jss.2026.112914_b19","doi-asserted-by":"crossref","unstructured":"Gamez-Diaz, A., Fernandez, P., Ruiz-Cortes, A., 2017. An analysis of RESTful APIs offerings in the industry. In: International Conference on Service-Oriented Computing. pp. 589\u2013604.","DOI":"10.1007\/978-3-319-69035-3_43"},{"key":"10.1016\/j.jss.2026.112914_b20","series-title":"Gemini 2.0 flash-lite","author":"Google","year":"2025"},{"key":"10.1016\/j.jss.2026.112914_b21","series-title":"Gemini 3 flash","author":"Google","year":"2025"},{"key":"10.1016\/j.jss.2026.112914_b22","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/3695988","article-title":"Large language models for software engineering: A systematic literature review","volume":"33","author":"Hou","year":"2024","journal-title":"ACM Trans. Softw. Eng. Methodol."},{"key":"10.1016\/j.jss.2026.112914_b23","doi-asserted-by":"crossref","unstructured":"Huang, R., Motwani, M., Martinez, I., Orso, A., 2024. Generating rest api specifications through static analysis. In: Proceedings of the IEEE\/ACM 46th International Conference on Software Engineering. pp. 1\u201313.","DOI":"10.1145\/3597503.3639137"},{"key":"10.1016\/j.jss.2026.112914_b24","series-title":"Instructor: A library for structured outputs from large language models","author":"Jason","year":"2024"},{"key":"10.1016\/j.jss.2026.112914_b25","doi-asserted-by":"crossref","first-page":"465","DOI":"10.1145\/3715737","article-title":"Llamaresttest: Effective rest api testing with small language models","volume":"2","author":"Kim","year":"2025","journal-title":"Proc. ACM Softw. Eng."},{"key":"10.1016\/j.jss.2026.112914_b26","doi-asserted-by":"crossref","unstructured":"Kim, M., Xin, Q., Sinha, S., Orso, A., 2022. Automated test generation for rest apis: No time to rest yet. In: Proceedings of the 31st ACM SIGSOFT International Symposium on Software Testing and Analysis. pp. 289\u2013301.","DOI":"10.1145\/3533767.3534401"},{"key":"10.1016\/j.jss.2026.112914_b27","doi-asserted-by":"crossref","unstructured":"Lazar, K., Vetzler, M., Kate, K., Tsay, J., Boaz, D., Gupta, H., Shinnar, A., Vallam, R.D., Amid, D., Goldbraich, E., et al., 2025. Generating OpenAPI Specifications from Online API Documentation with Large Language Models. In: Proceedings of the 63rd Annual Meeting of the Association for Computational Linguistics. pp. 237\u2013253.","DOI":"10.18653\/v1\/2025.acl-industry.18"},{"key":"10.1016\/j.jss.2026.112914_b28","doi-asserted-by":"crossref","unstructured":"Lercher, A., Bauer, C., Macho, C., Pinzger, M., 2025. AutoGuard: Reporting Breaking Changes of REST APIs from Java Spring Boot Source Code. In: 2025 IEEE International Conference on Software Analysis, Evolution and Reengineering. pp. 814\u2013818.","DOI":"10.1109\/SANER64311.2025.00083"},{"key":"10.1016\/j.jss.2026.112914_b29","series-title":"Generating accurate openapi descriptions from java source code","author":"Lercher","year":"2024"},{"key":"10.1016\/j.jss.2026.112914_b30","doi-asserted-by":"crossref","unstructured":"Liang, S., Jiang, N., Hu, Y., Tan, L., 2025. Can language models replace programmers for coding? REPOCOD says \u2019not yet\u2019. In: Proceedings of the 63rd Annual Meeting of the Association for Computational Linguistics. pp. 24698\u201324717.","DOI":"10.18653\/v1\/2025.acl-long.1204"},{"key":"10.1016\/j.jss.2026.112914_b31","series-title":"Stall+: Boosting llm-based repository-level code completion with static analysis","author":"Liu","year":"2024"},{"key":"10.1016\/j.jss.2026.112914_b32","doi-asserted-by":"crossref","unstructured":"Liu, X., Lan, B., Hu, Z., Liu, Y., Zhang, Z., Wang, F., Shieh, M.Q., Zhou, W., 2025. Codexgraph: Bridging large language models and code repositories via code graph databases. In: Proceedings of the 2025 Conference of the Nations of the Americas Chapter of the Association for Computational Linguistics: Human Language Technologies. pp. 142\u2013160.","DOI":"10.18653\/v1\/2025.naacl-long.7"},{"key":"10.1016\/j.jss.2026.112914_b33","doi-asserted-by":"crossref","unstructured":"Ma, L., Liu, S., Li, Y., Xie, X., Bu, L., 2025. Specgen: Automated generation of formal program specifications via large language models. In: Proceedings of the IEEE\/ACM 47th International Conference on Software Engineering. pp. 16\u201328.","DOI":"10.1109\/ICSE55347.2025.00129"},{"key":"10.1016\/j.jss.2026.112914_b34","doi-asserted-by":"crossref","unstructured":"Ma, Y., Yang, Q., Cao, R., Li, B., Huang, F., Li, Y., 2025. Alibaba lingmaagent: Improving automated issue resolution via comprehensive repository exploration. In: Proceedings of the 33rd ACM International Conference on the Foundations of Software Engineering. pp. 238\u2013249.","DOI":"10.1145\/3696630.3728549"},{"key":"10.1016\/j.jss.2026.112914_b35","doi-asserted-by":"crossref","unstructured":"Martin-Lopez, A., Segura, S., Ruiz-Cort\u00e9s, A., 2022. Online testing of RESTful APIs: Promises and challenges. In: Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering. pp. 408\u2013420.","DOI":"10.1145\/3540250.3549144"},{"key":"10.1016\/j.jss.2026.112914_b36","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/2109205.2109208","article-title":"Crawling Ajax-based web applications through dynamic analysis of user interface state changes","volume":"6","author":"Mesbah","year":"2012","journal-title":"ACM Trans. Web"},{"key":"10.1016\/j.jss.2026.112914_b37","doi-asserted-by":"crossref","first-page":"2332","DOI":"10.1145\/3660810","article-title":"Clarifygpt: A framework for enhancing llm-based code generation via requirements clarification","volume":"1","author":"Mu","year":"2024","journal-title":"Proc. ACM Softw. Eng."},{"key":"10.1016\/j.jss.2026.112914_b38","series-title":"Structured model outputs","author":"OpenAI","year":"2024"},{"key":"10.1016\/j.jss.2026.112914_b39","series-title":"GPT-5 mini","author":"OpenAI","year":"2025"},{"key":"10.1016\/j.jss.2026.112914_b40","series-title":"GPT-5 nano","author":"OpenAI","year":"2025"},{"key":"10.1016\/j.jss.2026.112914_b41","series-title":"Swagger 2.0","author":"OpenAPI Initiative","year":"2014"},{"key":"10.1016\/j.jss.2026.112914_b42","series-title":"OpenAPI 3.0","author":"OpenAPI Initiative","year":"2024"},{"key":"10.1016\/j.jss.2026.112914_b43","series-title":"OpenAPI specification","author":"OpenAPI Initiative","year":"2025"},{"key":"10.1016\/j.jss.2026.112914_b44","series-title":"Repograph: Enhancing ai software engineering with repository-level code graph","author":"Ouyang","year":"2024"},{"key":"10.1016\/j.jss.2026.112914_b45","doi-asserted-by":"crossref","unstructured":"Phan, H.N., Phan, H.N., Nguyen, T.N., Bui, N.D., 2025. Repohyper: Search-expand-refine on semantic graphs for repository-level code completion. In: 2025 IEEE\/ACM Second International Conference on AI Foundation Models and Software Engineering. pp. 14\u201325.","DOI":"10.1109\/Forge66646.2025.00009"},{"key":"10.1016\/j.jss.2026.112914_b46","series-title":"Qwen3-coder-plus","author":"Qwen Team","year":"2025"},{"key":"10.1016\/j.jss.2026.112914_b47","series-title":"RESTful Web Apis: Services for a Changing World","author":"Richardson","year":"2013"},{"key":"10.1016\/j.jss.2026.112914_b48","doi-asserted-by":"crossref","first-page":"85","DOI":"10.1109\/TSE.2023.3334955","article-title":"An empirical evaluation of using large language models for automated unit test generation","volume":"50","author":"Sch\u00e4fer","year":"2023","journal-title":"IEEE Trans. Softw. Eng."},{"key":"10.1016\/j.jss.2026.112914_b49","doi-asserted-by":"crossref","unstructured":"Serbout, S., Romanelli, A., Pautasso, C., 2022. Expresso: From express. js implementation code to openapi interface descriptions. In: European Conference on Software Architecture. pp. 29\u201344.","DOI":"10.1007\/978-3-031-36889-9_4"},{"key":"10.1016\/j.jss.2026.112914_b50","series-title":"Springfox","author":"Springfox","year":"2020"},{"key":"10.1016\/j.jss.2026.112914_b51","unstructured":"Stafeev, A., Recktenwald, T., De Stefano, G., Khodayari, S., Pellegrino, G., 2025. YuraScanner: Leveraging LLMs for Task-driven Web App Scanning. In: 32nd Annual Network and Distributed System Security Symposium. pp. 1\u201316."},{"key":"10.1016\/j.jss.2026.112914_b52","series-title":"JSON repair - a python module to repair invalid JSON, commonly used to parse the output of LLMs","author":"Stefano","year":"2025"},{"key":"10.1016\/j.jss.2026.112914_b53","series-title":"Swagger-JSDoc","author":"Surnet","year":"2025"},{"key":"10.1016\/j.jss.2026.112914_b54","series-title":"Swagger codegen","author":"Swagger API","year":"2025"},{"key":"10.1016\/j.jss.2026.112914_b55","series-title":"Gin-swagger","author":"Swaggo","year":"2025"},{"key":"10.1016\/j.jss.2026.112914_b56","doi-asserted-by":"crossref","unstructured":"Wen, C., Cao, J., Su, J., Xu, Z., Qin, S., He, M., Li, H., Cheung, S.-C., Tian, C., 2024. Enchanting program specification synthesis by large language models using static analysis and program verification. In: International Conference on Computer Aided Verification. pp. 302\u2013328.","DOI":"10.1007\/978-3-031-65630-9_16"},{"key":"10.1016\/j.jss.2026.112914_b57","doi-asserted-by":"crossref","unstructured":"Xia, C.S., Paltenghi, M., Le Tian, J., Pradel, M., Zhang, L., 2024. Fuzz4all: Universal fuzzing with large language models. In: Proceedings of the IEEE\/ACM 46th International Conference on Software Engineering. pp. 1\u201313.","DOI":"10.1145\/3597503.3639121"},{"key":"10.1016\/j.jss.2026.112914_b58","doi-asserted-by":"crossref","unstructured":"Yandrapally, R., Sinha, S., Tzoref-Brill, R., Mesbah, A., 2023. Carving ui tests to generate api tests and api specification. In: Proceedings of the IEEE\/ACM 45th International Conference on Software Engineering. pp. 1971\u20131982.","DOI":"10.1109\/ICSE48619.2023.00167"},{"key":"10.1016\/j.jss.2026.112914_b59","doi-asserted-by":"crossref","first-page":"1703","DOI":"10.1145\/3660783","article-title":"Evaluating and improving chatgpt for unit test generation","volume":"1","author":"Yuan","year":"2024","journal-title":"Proc. ACM Softw. Eng."},{"key":"10.1016\/j.jss.2026.112914_b60","article-title":"Codes: Natural language to code repository via multi-layer sketch","author":"Zan","year":"2024","journal-title":"ACM Trans. Softw. Eng. Methodol."},{"key":"10.1016\/j.jss.2026.112914_b61","doi-asserted-by":"crossref","unstructured":"Zhang, S., Ding, Y., Lian, S., Song, S., Li, H., 2025. CodeRAG: Finding Relevant and Necessary Knowledge for Retrieval-Augmented Repository-Level Code Completion. In: Proceedings of the 2025 Conference on Empirical Methods in Natural Language Processing. pp. 23289\u201323299.","DOI":"10.18653\/v1\/2025.emnlp-main.1187"},{"key":"10.1016\/j.jss.2026.112914_b62","doi-asserted-by":"crossref","unstructured":"Zhang, L., Li, Y., Li, J., Xia, X., Yang, J., Luo, R., Wang, M., Chen, L., Liu, J., Qu, Q., et al., 2025. Hierarchical context pruning: Optimizing real-world code completion with repository-level pretrained code llms. In: Proceedings of the AAAI Conference on Artificial Intelligence. pp. 25886\u201325894.","DOI":"10.1609\/aaai.v39i24.34782"},{"key":"10.1016\/j.jss.2026.112914_b63","article-title":"Citywalk: Enhancing llm-based c++ unit test generation via project-dependency awareness and language-specific knowledge","author":"Zhang","year":"2025","journal-title":"ACM Trans. Softw. Eng. Methodol."},{"key":"10.1016\/j.jss.2026.112914_b64","series-title":"LogiAgent: Automated logical testing for REST systems with LLM-based multi-agents","author":"Zhang","year":"2025"}],"container-title":["Journal of Systems and Software"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S0164121226001470?httpAccept=text\/xml","content-type":"text\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S0164121226001470?httpAccept=text\/plain","content-type":"text\/plain","content-version":"vor","intended-application":"text-mining"}],"deposited":{"date-parts":[[2026,7,4]],"date-time":"2026-07-04T10:56:18Z","timestamp":1783162578000},"score":1,"resource":{"primary":{"URL":"https:\/\/linkinghub.elsevier.com\/retrieve\/pii\/S0164121226001470"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2026,9]]},"references-count":64,"alternative-id":["S0164121226001470"],"URL":"https:\/\/doi.org\/10.1016\/j.jss.2026.112914","relation":{},"ISSN":["0164-1212"],"issn-type":[{"value":"0164-1212","type":"print"}],"subject":[],"published":{"date-parts":[[2026,9]]},"assertion":[{"value":"Elsevier","name":"publisher","label":"This article is maintained by"},{"value":"OOPS: Automated generation of REST API specification via LLMs","name":"articletitle","label":"Article Title"},{"value":"Journal of Systems and Software","name":"journaltitle","label":"Journal Title"},{"value":"https:\/\/doi.org\/10.1016\/j.jss.2026.112914","name":"articlelink","label":"CrossRef DOI link to publisher maintained version"},{"value":"article","name":"content_type","label":"Content Type"},{"value":"\u00a9 2026 Elsevier Inc. All rights are reserved, including those for text and data mining, AI training, and similar technologies.","name":"copyright","label":"Copyright"}],"article-number":"112914"}}