LlamaRestTest: Effective REST API Testing with Small Language Models Article Swipe
YOU?
·
· 2025
· Open Access
·
· DOI: https://doi.org/10.48550/arxiv.2501.08598
Modern web services rely heavily on REST APIs, typically documented using the OpenAPI specification. The widespread adoption of this standard has resulted in the development of many black-box testing tools that generate tests based on OpenAPI specifications. Although Large Language Models (LLMs) have shown promising test-generation abilities, their application to REST API testing remains mostly unexplored. We present LlamaRestTest, a novel approach that employs two custom LLMs-created by fine-tuning and quantizing the Llama3-8B model using mined datasets of REST API example values and inter-parameter dependencies-to generate realistic test inputs and uncover inter-parameter dependencies during the testing process by analyzing server responses. We evaluated LlamaRestTest on 12 real-world services (including popular services such as Spotify), comparing it against RESTGPT, a GPT-powered specification-enhancement tool, as well as several state-of-the-art REST API testing tools, including RESTler, MoRest, EvoMaster, and ARAT-RL. Our results demonstrate that fine-tuning enables smaller models to outperform much larger models in detecting actionable parameter-dependency rules and generating valid inputs for REST API testing. We also evaluated different tool configurations, ranging from the base Llama3-8B model to fine-tuned versions, and explored multiple quantization techniques, including 2-bit, 4-bit, and 8-bit integer formats. Our study shows that small language models can perform as well as, or better than, large language models in REST API testing, balancing effectiveness and efficiency. Furthermore, LlamaRestTest outperforms state-of-the-art REST API testing tools in code coverage achieved and internal server errors identified, even when those tools use RESTGPT-enhanced specifications.
Related Topics
- Type
- preprint
- Language
- en
- Landing Page
- http://arxiv.org/abs/2501.08598
- https://arxiv.org/pdf/2501.08598
- OA Status
- green
- Cited By
- 1
- Related Works
- 10
- OpenAlex ID
- https://openalex.org/W4406483036
Raw OpenAlex JSON
- OpenAlex ID
-
https://openalex.org/W4406483036Canonical identifier for this work in OpenAlex
- DOI
-
https://doi.org/10.48550/arxiv.2501.08598Digital Object Identifier
- Title
-
LlamaRestTest: Effective REST API Testing with Small Language ModelsWork title
- Type
-
preprintOpenAlex work type
- Language
-
enPrimary language
- Publication year
-
2025Year of publication
- Publication date
-
2025-01-15Full publication date if available
- Authors
-
Myeongsoo Kim, Saurabh Sinha, Alessandro OrsoList of authors in order
- Landing page
-
https://arxiv.org/abs/2501.08598Publisher landing page
- PDF URL
-
https://arxiv.org/pdf/2501.08598Direct link to full text PDF
- Open access
-
YesWhether a free full text is available
- OA status
-
greenOpen access status per OpenAlex
- OA URL
-
https://arxiv.org/pdf/2501.08598Direct OA link when available
- Concepts
-
Rest (music), Computer science, Medicine, CardiologyTop concepts (fields/topics) attached by OpenAlex
- Cited by
-
1Total citation count in OpenAlex
- Citations by year (recent)
-
2025: 1Per-year citation counts (last 5 years)
- Related works (count)
-
10Other works algorithmically related by OpenAlex
Full payload
| id | https://openalex.org/W4406483036 |
|---|---|
| doi | https://doi.org/10.48550/arxiv.2501.08598 |
| ids.doi | https://doi.org/10.48550/arxiv.2501.08598 |
| ids.openalex | https://openalex.org/W4406483036 |
| fwci | |
| type | preprint |
| title | LlamaRestTest: Effective REST API Testing with Small Language Models |
| biblio.issue | |
| biblio.volume | |
| biblio.last_page | |
| biblio.first_page | |
| topics[0].id | https://openalex.org/T10181 |
| topics[0].field.id | https://openalex.org/fields/17 |
| topics[0].field.display_name | Computer Science |
| topics[0].score | 0.9896000027656555 |
| topics[0].domain.id | https://openalex.org/domains/3 |
| topics[0].domain.display_name | Physical Sciences |
| topics[0].subfield.id | https://openalex.org/subfields/1702 |
| topics[0].subfield.display_name | Artificial Intelligence |
| topics[0].display_name | Natural Language Processing Techniques |
| topics[1].id | https://openalex.org/T10028 |
| topics[1].field.id | https://openalex.org/fields/17 |
| topics[1].field.display_name | Computer Science |
| topics[1].score | 0.9805999994277954 |
| topics[1].domain.id | https://openalex.org/domains/3 |
| topics[1].domain.display_name | Physical Sciences |
| topics[1].subfield.id | https://openalex.org/subfields/1702 |
| topics[1].subfield.display_name | Artificial Intelligence |
| topics[1].display_name | Topic Modeling |
| topics[2].id | https://openalex.org/T10743 |
| topics[2].field.id | https://openalex.org/fields/17 |
| topics[2].field.display_name | Computer Science |
| topics[2].score | 0.9587000012397766 |
| topics[2].domain.id | https://openalex.org/domains/3 |
| topics[2].domain.display_name | Physical Sciences |
| topics[2].subfield.id | https://openalex.org/subfields/1712 |
| topics[2].subfield.display_name | Software |
| topics[2].display_name | Software Testing and Debugging Techniques |
| is_xpac | False |
| apc_list | |
| apc_paid | |
| concepts[0].id | https://openalex.org/C77265313 |
| concepts[0].level | 2 |
| concepts[0].score | 0.8461865186691284 |
| concepts[0].wikidata | https://www.wikidata.org/wiki/Q879844 |
| concepts[0].display_name | Rest (music) |
| concepts[1].id | https://openalex.org/C41008148 |
| concepts[1].level | 0 |
| concepts[1].score | 0.502999484539032 |
| concepts[1].wikidata | https://www.wikidata.org/wiki/Q21198 |
| concepts[1].display_name | Computer science |
| concepts[2].id | https://openalex.org/C71924100 |
| concepts[2].level | 0 |
| concepts[2].score | 0.13003447651863098 |
| concepts[2].wikidata | https://www.wikidata.org/wiki/Q11190 |
| concepts[2].display_name | Medicine |
| concepts[3].id | https://openalex.org/C164705383 |
| concepts[3].level | 1 |
| concepts[3].score | 0.0 |
| concepts[3].wikidata | https://www.wikidata.org/wiki/Q10379 |
| concepts[3].display_name | Cardiology |
| keywords[0].id | https://openalex.org/keywords/rest |
| keywords[0].score | 0.8461865186691284 |
| keywords[0].display_name | Rest (music) |
| keywords[1].id | https://openalex.org/keywords/computer-science |
| keywords[1].score | 0.502999484539032 |
| keywords[1].display_name | Computer science |
| keywords[2].id | https://openalex.org/keywords/medicine |
| keywords[2].score | 0.13003447651863098 |
| keywords[2].display_name | Medicine |
| language | en |
| locations[0].id | pmh:oai:arXiv.org:2501.08598 |
| locations[0].is_oa | True |
| locations[0].source.id | https://openalex.org/S4306400194 |
| locations[0].source.issn | |
| locations[0].source.type | repository |
| locations[0].source.is_oa | True |
| locations[0].source.issn_l | |
| locations[0].source.is_core | False |
| locations[0].source.is_in_doaj | False |
| locations[0].source.display_name | arXiv (Cornell University) |
| locations[0].source.host_organization | https://openalex.org/I205783295 |
| locations[0].source.host_organization_name | Cornell University |
| locations[0].source.host_organization_lineage | https://openalex.org/I205783295 |
| locations[0].license | |
| locations[0].pdf_url | https://arxiv.org/pdf/2501.08598 |
| locations[0].version | publishedVersion |
| locations[0].raw_type | text |
| locations[0].license_id | |
| locations[0].is_accepted | True |
| locations[0].is_published | True |
| locations[0].raw_source_name | |
| locations[0].landing_page_url | http://arxiv.org/abs/2501.08598 |
| locations[1].id | doi:10.48550/arxiv.2501.08598 |
| locations[1].is_oa | True |
| locations[1].source.id | https://openalex.org/S4306400194 |
| locations[1].source.issn | |
| locations[1].source.type | repository |
| locations[1].source.is_oa | True |
| locations[1].source.issn_l | |
| locations[1].source.is_core | False |
| locations[1].source.is_in_doaj | False |
| locations[1].source.display_name | arXiv (Cornell University) |
| locations[1].source.host_organization | https://openalex.org/I205783295 |
| locations[1].source.host_organization_name | Cornell University |
| locations[1].source.host_organization_lineage | https://openalex.org/I205783295 |
| locations[1].license | cc-by |
| locations[1].pdf_url | |
| locations[1].version | |
| locations[1].raw_type | article |
| locations[1].license_id | https://openalex.org/licenses/cc-by |
| locations[1].is_accepted | False |
| locations[1].is_published | |
| locations[1].raw_source_name | |
| locations[1].landing_page_url | https://doi.org/10.48550/arxiv.2501.08598 |
| indexed_in | arxiv, datacite |
| authorships[0].author.id | https://openalex.org/A5101736356 |
| authorships[0].author.orcid | https://orcid.org/0000-0002-5018-5280 |
| authorships[0].author.display_name | Myeongsoo Kim |
| authorships[0].author_position | first |
| authorships[0].raw_author_name | Kim, Myeongsoo |
| authorships[0].is_corresponding | False |
| authorships[1].author.id | https://openalex.org/A5103241577 |
| authorships[1].author.orcid | https://orcid.org/0000-0003-4092-2643 |
| authorships[1].author.display_name | Saurabh Sinha |
| authorships[1].author_position | middle |
| authorships[1].raw_author_name | Sinha, Saurabh |
| authorships[1].is_corresponding | False |
| authorships[2].author.id | https://openalex.org/A5030961858 |
| authorships[2].author.orcid | https://orcid.org/0000-0003-4516-9320 |
| authorships[2].author.display_name | Alessandro Orso |
| authorships[2].author_position | last |
| authorships[2].raw_author_name | Orso, Alessandro |
| authorships[2].is_corresponding | False |
| has_content.pdf | False |
| has_content.grobid_xml | False |
| is_paratext | False |
| open_access.is_oa | True |
| open_access.oa_url | https://arxiv.org/pdf/2501.08598 |
| open_access.oa_status | green |
| open_access.any_repository_has_fulltext | False |
| created_date | 2025-10-10T00:00:00 |
| display_name | LlamaRestTest: Effective REST API Testing with Small Language Models |
| has_fulltext | False |
| is_retracted | False |
| updated_date | 2025-11-06T06:51:31.235846 |
| primary_topic.id | https://openalex.org/T10181 |
| primary_topic.field.id | https://openalex.org/fields/17 |
| primary_topic.field.display_name | Computer Science |
| primary_topic.score | 0.9896000027656555 |
| primary_topic.domain.id | https://openalex.org/domains/3 |
| primary_topic.domain.display_name | Physical Sciences |
| primary_topic.subfield.id | https://openalex.org/subfields/1702 |
| primary_topic.subfield.display_name | Artificial Intelligence |
| primary_topic.display_name | Natural Language Processing Techniques |
| related_works | https://openalex.org/W4391375266, https://openalex.org/W2899084033, https://openalex.org/W2748952813, https://openalex.org/W4388147713, https://openalex.org/W4205145096, https://openalex.org/W2977909229, https://openalex.org/W2359059303, https://openalex.org/W3194775706, https://openalex.org/W3110334367, https://openalex.org/W3126656380 |
| cited_by_count | 1 |
| counts_by_year[0].year | 2025 |
| counts_by_year[0].cited_by_count | 1 |
| locations_count | 2 |
| best_oa_location.id | pmh:oai:arXiv.org:2501.08598 |
| best_oa_location.is_oa | True |
| best_oa_location.source.id | https://openalex.org/S4306400194 |
| best_oa_location.source.issn | |
| best_oa_location.source.type | repository |
| best_oa_location.source.is_oa | True |
| best_oa_location.source.issn_l | |
| best_oa_location.source.is_core | False |
| best_oa_location.source.is_in_doaj | False |
| best_oa_location.source.display_name | arXiv (Cornell University) |
| best_oa_location.source.host_organization | https://openalex.org/I205783295 |
| best_oa_location.source.host_organization_name | Cornell University |
| best_oa_location.source.host_organization_lineage | https://openalex.org/I205783295 |
| best_oa_location.license | |
| best_oa_location.pdf_url | https://arxiv.org/pdf/2501.08598 |
| best_oa_location.version | publishedVersion |
| best_oa_location.raw_type | text |
| best_oa_location.license_id | |
| best_oa_location.is_accepted | True |
| best_oa_location.is_published | True |
| best_oa_location.raw_source_name | |
| best_oa_location.landing_page_url | http://arxiv.org/abs/2501.08598 |
| primary_location.id | pmh:oai:arXiv.org:2501.08598 |
| primary_location.is_oa | True |
| primary_location.source.id | https://openalex.org/S4306400194 |
| primary_location.source.issn | |
| primary_location.source.type | repository |
| primary_location.source.is_oa | True |
| primary_location.source.issn_l | |
| primary_location.source.is_core | False |
| primary_location.source.is_in_doaj | False |
| primary_location.source.display_name | arXiv (Cornell University) |
| primary_location.source.host_organization | https://openalex.org/I205783295 |
| primary_location.source.host_organization_name | Cornell University |
| primary_location.source.host_organization_lineage | https://openalex.org/I205783295 |
| primary_location.license | |
| primary_location.pdf_url | https://arxiv.org/pdf/2501.08598 |
| primary_location.version | publishedVersion |
| primary_location.raw_type | text |
| primary_location.license_id | |
| primary_location.is_accepted | True |
| primary_location.is_published | True |
| primary_location.raw_source_name | |
| primary_location.landing_page_url | http://arxiv.org/abs/2501.08598 |
| publication_date | 2025-01-15 |
| publication_year | 2025 |
| referenced_works_count | 0 |
| abstract_inverted_index.a | 59, 118 |
| abstract_inverted_index.12 | 105 |
| abstract_inverted_index.We | 56, 101, 163 |
| abstract_inverted_index.as | 112, 122, 124, 199 |
| abstract_inverted_index.by | 67, 97 |
| abstract_inverted_index.in | 22, 150, 208, 224 |
| abstract_inverted_index.it | 115 |
| abstract_inverted_index.of | 17, 25, 77 |
| abstract_inverted_index.on | 5, 34, 104 |
| abstract_inverted_index.or | 202 |
| abstract_inverted_index.to | 49, 145, 175 |
| abstract_inverted_index.API | 51, 79, 128, 161, 210, 221 |
| abstract_inverted_index.Our | 137, 190 |
| abstract_inverted_index.The | 14 |
| abstract_inverted_index.and | 69, 82, 89, 135, 155, 178, 186, 214, 228 |
| abstract_inverted_index.as, | 201 |
| abstract_inverted_index.can | 197 |
| abstract_inverted_index.for | 159 |
| abstract_inverted_index.has | 20 |
| abstract_inverted_index.the | 11, 23, 71, 94, 171 |
| abstract_inverted_index.two | 64 |
| abstract_inverted_index.use | 237 |
| abstract_inverted_index.web | 1 |
| abstract_inverted_index.REST | 6, 50, 78, 127, 160, 209, 220 |
| abstract_inverted_index.also | 164 |
| abstract_inverted_index.base | 172 |
| abstract_inverted_index.code | 225 |
| abstract_inverted_index.even | 233 |
| abstract_inverted_index.from | 170 |
| abstract_inverted_index.have | 42 |
| abstract_inverted_index.many | 26 |
| abstract_inverted_index.much | 147 |
| abstract_inverted_index.rely | 3 |
| abstract_inverted_index.such | 111 |
| abstract_inverted_index.test | 87 |
| abstract_inverted_index.that | 30, 62, 140, 193 |
| abstract_inverted_index.this | 18 |
| abstract_inverted_index.tool | 167 |
| abstract_inverted_index.well | 123, 200 |
| abstract_inverted_index.when | 234 |
| abstract_inverted_index.8-bit | 187 |
| abstract_inverted_index.APIs, | 7 |
| abstract_inverted_index.Large | 38 |
| abstract_inverted_index.based | 33 |
| abstract_inverted_index.large | 205 |
| abstract_inverted_index.mined | 75 |
| abstract_inverted_index.model | 73, 174 |
| abstract_inverted_index.novel | 60 |
| abstract_inverted_index.rules | 154 |
| abstract_inverted_index.shown | 43 |
| abstract_inverted_index.shows | 192 |
| abstract_inverted_index.small | 194 |
| abstract_inverted_index.study | 191 |
| abstract_inverted_index.tests | 32 |
| abstract_inverted_index.than, | 204 |
| abstract_inverted_index.their | 47 |
| abstract_inverted_index.those | 235 |
| abstract_inverted_index.tool, | 121 |
| abstract_inverted_index.tools | 29, 223, 236 |
| abstract_inverted_index.using | 10, 74 |
| abstract_inverted_index.valid | 157 |
| abstract_inverted_index.(LLMs) | 41 |
| abstract_inverted_index.2-bit, | 184 |
| abstract_inverted_index.4-bit, | 185 |
| abstract_inverted_index.Models | 40 |
| abstract_inverted_index.Modern | 0 |
| abstract_inverted_index.better | 203 |
| abstract_inverted_index.custom | 65 |
| abstract_inverted_index.during | 93 |
| abstract_inverted_index.errors | 231 |
| abstract_inverted_index.inputs | 88, 158 |
| abstract_inverted_index.larger | 148 |
| abstract_inverted_index.models | 144, 149, 196, 207 |
| abstract_inverted_index.mostly | 54 |
| abstract_inverted_index.server | 99, 230 |
| abstract_inverted_index.tools, | 130 |
| abstract_inverted_index.values | 81 |
| abstract_inverted_index.MoRest, | 133 |
| abstract_inverted_index.OpenAPI | 12, 35 |
| abstract_inverted_index.against | 116 |
| abstract_inverted_index.employs | 63 |
| abstract_inverted_index.enables | 142 |
| abstract_inverted_index.example | 80 |
| abstract_inverted_index.heavily | 4 |
| abstract_inverted_index.integer | 188 |
| abstract_inverted_index.perform | 198 |
| abstract_inverted_index.popular | 109 |
| abstract_inverted_index.present | 57 |
| abstract_inverted_index.process | 96 |
| abstract_inverted_index.ranging | 169 |
| abstract_inverted_index.remains | 53 |
| abstract_inverted_index.results | 138 |
| abstract_inverted_index.several | 125 |
| abstract_inverted_index.smaller | 143 |
| abstract_inverted_index.testing | 28, 52, 95, 129, 222 |
| abstract_inverted_index.uncover | 90 |
| abstract_inverted_index.ARAT-RL. | 136 |
| abstract_inverted_index.Although | 37 |
| abstract_inverted_index.Language | 39 |
| abstract_inverted_index.RESTGPT, | 117 |
| abstract_inverted_index.RESTler, | 132 |
| abstract_inverted_index.achieved | 227 |
| abstract_inverted_index.adoption | 16 |
| abstract_inverted_index.approach | 61 |
| abstract_inverted_index.coverage | 226 |
| abstract_inverted_index.datasets | 76 |
| abstract_inverted_index.explored | 179 |
| abstract_inverted_index.formats. | 189 |
| abstract_inverted_index.generate | 31, 85 |
| abstract_inverted_index.internal | 229 |
| abstract_inverted_index.language | 195, 206 |
| abstract_inverted_index.multiple | 180 |
| abstract_inverted_index.resulted | 21 |
| abstract_inverted_index.services | 2, 107, 110 |
| abstract_inverted_index.standard | 19 |
| abstract_inverted_index.testing, | 211 |
| abstract_inverted_index.testing. | 162 |
| abstract_inverted_index.Llama3-8B | 72, 173 |
| abstract_inverted_index.Spotify), | 113 |
| abstract_inverted_index.analyzing | 98 |
| abstract_inverted_index.balancing | 212 |
| abstract_inverted_index.black-box | 27 |
| abstract_inverted_index.comparing | 114 |
| abstract_inverted_index.detecting | 151 |
| abstract_inverted_index.different | 166 |
| abstract_inverted_index.evaluated | 102, 165 |
| abstract_inverted_index.including | 131, 183 |
| abstract_inverted_index.promising | 44 |
| abstract_inverted_index.realistic | 86 |
| abstract_inverted_index.typically | 8 |
| abstract_inverted_index.versions, | 177 |
| abstract_inverted_index.(including | 108 |
| abstract_inverted_index.EvoMaster, | 134 |
| abstract_inverted_index.abilities, | 46 |
| abstract_inverted_index.actionable | 152 |
| abstract_inverted_index.documented | 9 |
| abstract_inverted_index.fine-tuned | 176 |
| abstract_inverted_index.generating | 156 |
| abstract_inverted_index.outperform | 146 |
| abstract_inverted_index.quantizing | 70 |
| abstract_inverted_index.real-world | 106 |
| abstract_inverted_index.responses. | 100 |
| abstract_inverted_index.widespread | 15 |
| abstract_inverted_index.GPT-powered | 119 |
| abstract_inverted_index.application | 48 |
| abstract_inverted_index.demonstrate | 139 |
| abstract_inverted_index.development | 24 |
| abstract_inverted_index.efficiency. | 215 |
| abstract_inverted_index.fine-tuning | 68, 141 |
| abstract_inverted_index.identified, | 232 |
| abstract_inverted_index.outperforms | 218 |
| abstract_inverted_index.techniques, | 182 |
| abstract_inverted_index.unexplored. | 55 |
| abstract_inverted_index.Furthermore, | 216 |
| abstract_inverted_index.LLMs-created | 66 |
| abstract_inverted_index.dependencies | 92 |
| abstract_inverted_index.quantization | 181 |
| abstract_inverted_index.LlamaRestTest | 103, 217 |
| abstract_inverted_index.effectiveness | 213 |
| abstract_inverted_index.LlamaRestTest, | 58 |
| abstract_inverted_index.specification. | 13 |
| abstract_inverted_index.configurations, | 168 |
| abstract_inverted_index.dependencies-to | 84 |
| abstract_inverted_index.inter-parameter | 83, 91 |
| abstract_inverted_index.specifications. | 36, 239 |
| abstract_inverted_index.test-generation | 45 |
| abstract_inverted_index.RESTGPT-enhanced | 238 |
| abstract_inverted_index.state-of-the-art | 126, 219 |
| abstract_inverted_index.parameter-dependency | 153 |
| abstract_inverted_index.specification-enhancement | 120 |
| cited_by_percentile_year | |
| countries_distinct_count | 0 |
| institutions_distinct_count | 3 |
| citation_normalized_percentile |