{"id":"https://openalex.org/W7133134476","doi":"https://doi.org/10.1016/j.jss.2026.112834","title":"Impact of code context and prompting strategies on automated unit test generation with modern general-purpose large language models","display_name":"Impact of code context and prompting strategies on automated unit test generation with modern general-purpose large language models","publication_year":2026,"publication_date":"2026-03-01","ids":{"openalex":"https://openalex.org/W7133134476","doi":"https://doi.org/10.1016/j.jss.2026.112834"},"language":"en","primary_location":{"id":"doi:10.1016/j.jss.2026.112834","is_oa":true,"landing_page_url":"https://doi.org/10.1016/j.jss.2026.112834","pdf_url":null,"source":{"id":"https://openalex.org/S37879656","display_name":"Journal of Systems and Software","issn_l":"0164-1212","issn":["0164-1212","1873-1228"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310320990","host_organization_name":"Elsevier BV","host_organization_lineage":["https://openalex.org/P4310320990"],"host_organization_lineage_names":["Elsevier BV"],"type":"journal"},"license":"cc-by-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal of Systems and Software","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"hybrid","oa_url":"https://doi.org/10.1016/j.jss.2026.112834","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5031139388","display_name":"Jakub Walczak","orcid":"https://orcid.org/0000-0002-5632-9484"},"institutions":[{"id":"https://openalex.org/I188884621","display_name":"Lodz University of Technology","ror":"https://ror.org/00s8fpf52","country_code":"PL","type":"education","lineage":["https://openalex.org/I188884621"]}],"countries":["PL"],"is_corresponding":true,"raw_author_name":"Jakub Walczak","raw_affiliation_strings":["Lodz University of Technology, al. Politechniki 11, \u0141\u00f3d\u017a, 90-001, \u0142\u00f3dzkie, Poland"],"raw_orcid":"https://orcid.org/0000-0002-5632-9484","affiliations":[{"raw_affiliation_string":"Lodz University of Technology, al. Politechniki 11, \u0141\u00f3d\u017a, 90-001, \u0142\u00f3dzkie, Poland","institution_ids":["https://openalex.org/I188884621"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5120832232","display_name":"Piotr Tomalak","orcid":null},"institutions":[{"id":"https://openalex.org/I188884621","display_name":"Lodz University of Technology","ror":"https://ror.org/00s8fpf52","country_code":"PL","type":"education","lineage":["https://openalex.org/I188884621"]}],"countries":["PL"],"is_corresponding":false,"raw_author_name":"Piotr Tomalak","raw_affiliation_strings":["Lodz University of Technology, al. Politechniki 11, \u0141\u00f3d\u017a, 90-001, \u0142\u00f3dzkie, Poland"],"raw_orcid":"https://orcid.org/0009-0007-6939-8757","affiliations":[{"raw_affiliation_string":"Lodz University of Technology, al. Politechniki 11, \u0141\u00f3d\u017a, 90-001, \u0142\u00f3dzkie, Poland","institution_ids":["https://openalex.org/I188884621"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5062328374","display_name":"Artur Laskowski","orcid":null},"institutions":[{"id":"https://openalex.org/I4210093152","display_name":"Comarch (Poland)","ror":"https://ror.org/00jeje538","country_code":"PL","type":"company","lineage":["https://openalex.org/I4210093152"]}],"countries":["PL"],"is_corresponding":false,"raw_author_name":"Artur Laskowski","raw_affiliation_strings":["Comarch, al. Jana Paw\u0142a II 39a, Krak\u00f3w, 31-864, ma\u0142opolskie, Poland"],"raw_orcid":"https://orcid.org/0009-0004-1532-8823","affiliations":[{"raw_affiliation_string":"Comarch, al. Jana Paw\u0142a II 39a, Krak\u00f3w, 31-864, ma\u0142opolskie, Poland","institution_ids":["https://openalex.org/I4210093152"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5031139388"],"corresponding_institution_ids":["https://openalex.org/I188884621"],"apc_list":{"value":3350,"currency":"USD","value_usd":3350},"apc_paid":{"value":3350,"currency":"USD","value_usd":3350},"fwci":11.8084,"has_fulltext":false,"cited_by_count":1,"citation_normalized_percentile":{"value":0.97564688,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":94,"max":97},"biblio":{"volume":"237","issue":null,"first_page":"112834","last_page":"112834"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9733999967575073,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9733999967575073,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.018400000408291817,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10430","display_name":"Software Engineering Techniques and Practices","score":0.0034000000450760126,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/unit-testing","display_name":"Unit testing","score":0.6862000226974487},{"id":"https://openalex.org/keywords/code-coverage","display_name":"Code coverage","score":0.5170000195503235},{"id":"https://openalex.org/keywords/software-quality","display_name":"Software quality","score":0.5072000026702881},{"id":"https://openalex.org/keywords/robustness-testing","display_name":"Robustness testing","score":0.47589999437332153},{"id":"https://openalex.org/keywords/context","display_name":"Context (archaeology)","score":0.4153999984264374},{"id":"https://openalex.org/keywords/robustness","display_name":"Robustness (evolution)","score":0.4124000072479248},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.4099999964237213},{"id":"https://openalex.org/keywords/python","display_name":"Python (programming language)","score":0.36309999227523804},{"id":"https://openalex.org/keywords/test-case","display_name":"Test case","score":0.36169999837875366}],"concepts":[{"id":"https://openalex.org/C148027188","wikidata":"https://www.wikidata.org/wiki/Q907375","display_name":"Unit testing","level":3,"score":0.6862000226974487},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.641700029373169},{"id":"https://openalex.org/C53942775","wikidata":"https://www.wikidata.org/wiki/Q1211721","display_name":"Code coverage","level":3,"score":0.5170000195503235},{"id":"https://openalex.org/C117447612","wikidata":"https://www.wikidata.org/wiki/Q1412670","display_name":"Software quality","level":4,"score":0.5072000026702881},{"id":"https://openalex.org/C137726913","wikidata":"https://www.wikidata.org/wiki/Q7353550","display_name":"Robustness testing","level":3,"score":0.47589999437332153},{"id":"https://openalex.org/C119857082","wikidata":"https://www.wikidata.org/wiki/Q2539","display_name":"Machine learning","level":1,"score":0.42149999737739563},{"id":"https://openalex.org/C2779343474","wikidata":"https://www.wikidata.org/wiki/Q3109175","display_name":"Context (archaeology)","level":2,"score":0.4153999984264374},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.4133000075817108},{"id":"https://openalex.org/C63479239","wikidata":"https://www.wikidata.org/wiki/Q7353546","display_name":"Robustness (evolution)","level":3,"score":0.4124000072479248},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.4099999964237213},{"id":"https://openalex.org/C200601418","wikidata":"https://www.wikidata.org/wiki/Q2193887","display_name":"Reliability engineering","level":1,"score":0.4097999930381775},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.3693000078201294},{"id":"https://openalex.org/C519991488","wikidata":"https://www.wikidata.org/wiki/Q28865","display_name":"Python (programming language)","level":2,"score":0.36309999227523804},{"id":"https://openalex.org/C128942645","wikidata":"https://www.wikidata.org/wiki/Q1568346","display_name":"Test case","level":3,"score":0.36169999837875366},{"id":"https://openalex.org/C63406617","wikidata":"https://www.wikidata.org/wiki/Q5266714","display_name":"Development testing","level":5,"score":0.36090001463890076},{"id":"https://openalex.org/C50712370","wikidata":"https://www.wikidata.org/wiki/Q4269346","display_name":"Software fault tolerance","level":3,"score":0.3531000018119812},{"id":"https://openalex.org/C162443782","wikidata":"https://www.wikidata.org/wiki/Q1066228","display_name":"White-box testing","level":5,"score":0.3336000144481659},{"id":"https://openalex.org/C86469151","wikidata":"https://www.wikidata.org/wiki/Q917415","display_name":"Non-regression testing","level":5,"score":0.3059999942779541},{"id":"https://openalex.org/C2984328558","wikidata":"https://www.wikidata.org/wiki/Q188522","display_name":"Software testing","level":3,"score":0.3009999990463257},{"id":"https://openalex.org/C107683887","wikidata":"https://www.wikidata.org/wiki/Q782466","display_name":"Integration testing","level":3,"score":0.28369998931884766},{"id":"https://openalex.org/C188598960","wikidata":"https://www.wikidata.org/wiki/Q7705805","display_name":"Test strategy","level":3,"score":0.28220000863075256},{"id":"https://openalex.org/C126953365","wikidata":"https://www.wikidata.org/wiki/Q5438152","display_name":"Fault coverage","level":3,"score":0.27869999408721924},{"id":"https://openalex.org/C124101348","wikidata":"https://www.wikidata.org/wiki/Q172491","display_name":"Data mining","level":1,"score":0.27379998564720154},{"id":"https://openalex.org/C139143892","wikidata":"https://www.wikidata.org/wiki/Q7441615","display_name":"Search-based software engineering","level":5,"score":0.26190000772476196},{"id":"https://openalex.org/C152745839","wikidata":"https://www.wikidata.org/wiki/Q5438153","display_name":"Fault detection and isolation","level":3,"score":0.26089999079704285},{"id":"https://openalex.org/C199519371","wikidata":"https://www.wikidata.org/wiki/Q942695","display_name":"Source lines of code","level":3,"score":0.25839999318122864},{"id":"https://openalex.org/C4478048","wikidata":"https://www.wikidata.org/wiki/Q950250","display_name":"Test-driven development","level":4,"score":0.25540000200271606},{"id":"https://openalex.org/C167391956","wikidata":"https://www.wikidata.org/wiki/Q1401211","display_name":"Fault model","level":3,"score":0.2542000114917755},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.25060001015663147}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1016/j.jss.2026.112834","is_oa":true,"landing_page_url":"https://doi.org/10.1016/j.jss.2026.112834","pdf_url":null,"source":{"id":"https://openalex.org/S37879656","display_name":"Journal of Systems and Software","issn_l":"0164-1212","issn":["0164-1212","1873-1228"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310320990","host_organization_name":"Elsevier BV","host_organization_lineage":["https://openalex.org/P4310320990"],"host_organization_lineage_names":["Elsevier BV"],"type":"journal"},"license":"cc-by-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal of Systems and Software","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1016/j.jss.2026.112834","is_oa":true,"landing_page_url":"https://doi.org/10.1016/j.jss.2026.112834","pdf_url":null,"source":{"id":"https://openalex.org/S37879656","display_name":"Journal of Systems and Software","issn_l":"0164-1212","issn":["0164-1212","1873-1228"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310320990","host_organization_name":"Elsevier BV","host_organization_lineage":["https://openalex.org/P4310320990"],"host_organization_lineage_names":["Elsevier BV"],"type":"journal"},"license":"cc-by-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal of Systems and Software","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":13,"referenced_works":["https://openalex.org/W2052363833","https://openalex.org/W2364496964","https://openalex.org/W2962826822","https://openalex.org/W3145402715","https://openalex.org/W4285139457","https://openalex.org/W4312825692","https://openalex.org/W4380769213","https://openalex.org/W4384154918","https://openalex.org/W4389104713","https://openalex.org/W4396541948","https://openalex.org/W4404534210","https://openalex.org/W4404840084","https://openalex.org/W4414655343"],"related_works":[],"abstract_inverted_index":{"\u2022":[0,32,61,100],"Docstring":[1],"inclusion":[2],"substantially":[3,73],"improves":[4,246],"test":[5,30,165,333,349,361],"quality:":[6],"+19.67pp":[7],"branch":[8,41,274,303],"coverage":[9],"and":[10,78,167,206,212,281,302,358],"+9.16pp":[11],"compilation":[12,283,308],"success":[13,284,309],"compared":[14,46,320],"to":[15,47,153,234,253,272,321],"interface-only":[16],"context,":[17],"demonstrating":[18,84],"that":[19,85,242],"behavioural":[20],"specifications":[21],"are":[22,168,363],"more":[23],"critical":[24],"than":[25],"implementation":[26,256],"details":[27],"for":[28,97,108,347,355],"effective":[29],"generation.":[31,350],"Sequential":[33],"multi-turn":[34,263],"prompting":[35,207,264],"achieves":[36,65,266],"superior":[37,296,317],"fault":[38,95],"detection":[39,96],"(96.3%":[40],"coverage,":[42,275,304],"57%":[43,277],"mutation":[44,67,279,300,318],"score)":[45],"simple":[48],"prompting,":[49],"though":[50,328],"at":[51,365],"187%":[52],"increased":[53],"computational":[54],"cost,":[55],"revealing":[56],"a":[57,276,325],"significant":[58],"cost-quality":[59],"trade-off.":[60],"Gemini":[62],"2.5":[63,293],"Pro":[64],"87%":[66],"score":[68,301],"with":[69,122,270,329],"full":[70,255],"context":[71,205,252],"\u2014":[72,83,118,125],"exceeding":[74],"both":[75,299],"other":[76],"LLMs":[77,87,103],"the":[79,154,162,180,190,194,201,210,254,267,287,359],"44%":[80],"practitioner":[81],"baseline":[82],"general-purpose":[86],"can":[88,185],"match":[89],"or":[90,316],"surpass":[91],"human":[92,123],"testers":[93],"in":[94,129,142,298,337],"well-documented":[98],"code.":[99],"All":[101,351],"evaluated":[102,289],"systematically":[104],"omit":[105],"robustness":[106],"tests":[107,160,178,216,313,322],"special":[109],"values":[110],"(":[111],"None":[112],",":[113,115],"inf":[114],"NaN":[116],")":[117],"blind":[119],"spots":[120],"shared":[121],"practitioners":[124],"indicating":[126],"fundamental":[127],"limitations":[128],"comprehensive":[130],"scenario":[131],"identification":[132],"without":[133],"explicit":[134],"prompting.":[135],"Generative":[136],"AI":[137],"is":[138],"gaining":[139],"increasing":[140],"attention":[141],"software":[143,183,195,326],"engineering,":[144],"where":[145],"testing":[146,157],"remains":[147],"an":[148],"indispensable":[149],"reliability":[150],"mechanism.":[151],"According":[152],"widely":[155],"adopted":[156],"pyramid,":[158],"unit":[159,215],"constitute":[161],"majority":[163],"of":[164,182,193,203,214,332],"cases":[166],"often":[169],"schematic,":[170],"requiring":[171],"minimal":[172],"domain":[173],"expertise.":[174],"Automatically":[175],"generating":[176],"such":[177],"under":[179],"supervision":[181],"engineers":[184],"significantly":[186],"enhance":[187],"productivity":[188],"during":[189],"development":[191],"phase":[192],"lifecycle.":[196],"This":[197],"exploratory":[198],"study":[199,340,357],"investigates":[200],"impact":[202],"code":[204,247,353],"strategies":[208],"on":[209],"quality":[211],"adequacy":[213],"generated":[217],"by":[218,324],"various":[219],"large":[220],"language":[221],"models":[222],"(LLMs)":[223],"from":[224],"different":[225],"providers,":[226],"using":[227],"12":[228],"custom-developed":[229],"Python":[230],"methods":[231],"designed":[232],"specifically":[233],"avoid":[235],"data":[236],"leakage":[237],"concerns.":[238],"The":[239,261],"results":[240],"show":[241],"including":[243],"docstrings":[244],"notably":[245],"adequacy,":[248],"while":[249,305],"further":[250],"extending":[251],"yields":[257],"smaller":[258],"incremental":[259],"gains.":[260],"sequential":[262],"strategy":[265],"best":[268],"results,":[269],"up":[271],"96.3%":[273],"average":[278],"score,":[280],"near-perfect":[282],"rate.":[285],"Among":[286],"six":[288],"models,":[290],"M5":[291],"(Gemini":[292],"Pro)":[294],"demonstrated":[295],"performance":[297],"maintaining":[306],"high":[307],"rates.":[310],"Notably,":[311],"LLM-generated":[312],"achieved":[314],"comparable":[315],"scores":[319],"written":[323],"practitioner,":[327],"varying":[330],"degrees":[331],"redundancy.":[334],"While":[335],"limited":[336],"scope,":[338],"this":[339,356],"provides":[341],"initial":[342],"insights":[343],"into":[344],"optimal":[345],"configurations":[346],"LLM-based":[348],"custom":[352],"developed":[354],"resulting":[360],"suites":[362],"available":[364],"https://github.com/peetery/LLM-analysis":[366],".":[367]},"counts_by_year":[{"year":2026,"cited_by_count":1}],"updated_date":"2026-07-23T08:03:31.855105","created_date":"2026-03-02T00:00:00"}
