{"id":"https://openalex.org/W3005988334","doi":"https://doi.org/10.22152/programming-journal.org/2020/4/12","title":"Lightweight Lexical Test Prioritization for Immediate Feedback","display_name":"Lightweight Lexical Test Prioritization for Immediate Feedback","publication_year":2020,"publication_date":"2020-02-14","ids":{"openalex":"https://openalex.org/W3005988334","doi":"https://doi.org/10.22152/programming-journal.org/2020/4/12","mag":"3005988334"},"language":"en","primary_location":{"id":"doi:10.22152/programming-journal.org/2020/4/12","is_oa":false,"landing_page_url":"https://doi.org/10.22152/programming-journal.org/2020/4/12","pdf_url":null,"source":{"id":"https://openalex.org/S4210199781","display_name":"The Art Science and Engineering of Programming","issn_l":"2473-7321","issn":["2473-7321"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"The Art, Science, and Engineering of Programming","raw_type":"journal-article"},"type":"article","indexed_in":["arxiv","crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://arxiv.org/pdf/2002.06213","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":null,"display_name":"Toni Mattis","orcid":null},"institutions":[{"id":"https://openalex.org/I143288331","display_name":"Hasso Plattner Institute","ror":"https://ror.org/058rn5r42","country_code":"DE","type":"facility","lineage":["https://openalex.org/I143288331","https://openalex.org/I176453806"]}],"countries":["DE"],"is_corresponding":true,"raw_author_name":"Toni Mattis","raw_affiliation_strings":["Hasso Plattner Institute, Germany"],"affiliations":[{"raw_affiliation_string":"Hasso Plattner Institute, Germany","institution_ids":["https://openalex.org/I143288331"]}]},{"author_position":"last","author":{"id":null,"display_name":"Robert Hirschfeld","orcid":null},"institutions":[{"id":"https://openalex.org/I176453806","display_name":"University of Potsdam","ror":"https://ror.org/03bnmw459","country_code":"DE","type":"education","lineage":["https://openalex.org/I176453806"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Robert Hirschfeld","raw_affiliation_strings":["HPI, University of Potsdam, Germany"],"affiliations":[{"raw_affiliation_string":"HPI, University of Potsdam, Germany","institution_ids":["https://openalex.org/I176453806"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I143288331"],"apc_list":null,"apc_paid":null,"fwci":1.2637,"has_fulltext":false,"cited_by_count":5,"citation_normalized_percentile":{"value":0.79299812,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":96},"biblio":{"volume":"4","issue":"3","first_page":null,"last_page":null},"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.9550999999046326,"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.9550999999046326,"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.019200000911951065,"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/T12127","display_name":"Software System Performance and Reliability","score":0.004399999976158142,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"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/exploit","display_name":"Exploit","score":0.574400007724762},{"id":"https://openalex.org/keywords/ranking","display_name":"Ranking (information retrieval)","score":0.5163000226020813},{"id":"https://openalex.org/keywords/unit-testing","display_name":"Unit testing","score":0.49160000681877136},{"id":"https://openalex.org/keywords/vocabulary","display_name":"Vocabulary","score":0.4884999990463257},{"id":"https://openalex.org/keywords/test","display_name":"Test (biology)","score":0.4749000072479248},{"id":"https://openalex.org/keywords/python","display_name":"Python (programming language)","score":0.4442000091075897},{"id":"https://openalex.org/keywords/test-suite","display_name":"Test suite","score":0.4350000023841858},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.43479999899864197}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7817999720573425},{"id":"https://openalex.org/C165696696","wikidata":"https://www.wikidata.org/wiki/Q11287","display_name":"Exploit","level":2,"score":0.574400007724762},{"id":"https://openalex.org/C189430467","wikidata":"https://www.wikidata.org/wiki/Q7293293","display_name":"Ranking (information retrieval)","level":2,"score":0.5163000226020813},{"id":"https://openalex.org/C148027188","wikidata":"https://www.wikidata.org/wiki/Q907375","display_name":"Unit testing","level":3,"score":0.49160000681877136},{"id":"https://openalex.org/C2777601683","wikidata":"https://www.wikidata.org/wiki/Q6499736","display_name":"Vocabulary","level":2,"score":0.4884999990463257},{"id":"https://openalex.org/C2777267654","wikidata":"https://www.wikidata.org/wiki/Q3519023","display_name":"Test (biology)","level":2,"score":0.4749000072479248},{"id":"https://openalex.org/C119857082","wikidata":"https://www.wikidata.org/wiki/Q2539","display_name":"Machine learning","level":1,"score":0.45829999446868896},{"id":"https://openalex.org/C23123220","wikidata":"https://www.wikidata.org/wiki/Q816826","display_name":"Information retrieval","level":1,"score":0.44530001282691956},{"id":"https://openalex.org/C519991488","wikidata":"https://www.wikidata.org/wiki/Q28865","display_name":"Python (programming language)","level":2,"score":0.4442000091075897},{"id":"https://openalex.org/C151552104","wikidata":"https://www.wikidata.org/wiki/Q7705809","display_name":"Test suite","level":4,"score":0.4350000023841858},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.43479999899864197},{"id":"https://openalex.org/C86037889","wikidata":"https://www.wikidata.org/wiki/Q4330127","display_name":"Learning to rank","level":3,"score":0.42820000648498535},{"id":"https://openalex.org/C164226766","wikidata":"https://www.wikidata.org/wiki/Q7293202","display_name":"Rank (graph theory)","level":2,"score":0.4207000136375427},{"id":"https://openalex.org/C16910744","wikidata":"https://www.wikidata.org/wiki/Q7705759","display_name":"Test data","level":2,"score":0.39750000834465027},{"id":"https://openalex.org/C124101348","wikidata":"https://www.wikidata.org/wiki/Q172491","display_name":"Data mining","level":1,"score":0.38449999690055847},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.3813000023365021},{"id":"https://openalex.org/C128942645","wikidata":"https://www.wikidata.org/wiki/Q1568346","display_name":"Test case","level":3,"score":0.3637999892234802},{"id":"https://openalex.org/C192209626","wikidata":"https://www.wikidata.org/wiki/Q190909","display_name":"Focus (optics)","level":2,"score":0.36090001463890076},{"id":"https://openalex.org/C169903167","wikidata":"https://www.wikidata.org/wiki/Q3985153","display_name":"Test set","level":2,"score":0.33809998631477356},{"id":"https://openalex.org/C161821725","wikidata":"https://www.wikidata.org/wiki/Q917415","display_name":"Regression testing","level":5,"score":0.31630000472068787},{"id":"https://openalex.org/C53942775","wikidata":"https://www.wikidata.org/wiki/Q1211721","display_name":"Code coverage","level":3,"score":0.28929999470710754},{"id":"https://openalex.org/C4554734","wikidata":"https://www.wikidata.org/wiki/Q593744","display_name":"Knowledge base","level":2,"score":0.2750000059604645},{"id":"https://openalex.org/C51632099","wikidata":"https://www.wikidata.org/wiki/Q3985153","display_name":"Training set","level":2,"score":0.2558000087738037},{"id":"https://openalex.org/C2777615720","wikidata":"https://www.wikidata.org/wiki/Q11888847","display_name":"Prioritization","level":2,"score":0.2551000118255615},{"id":"https://openalex.org/C106159264","wikidata":"https://www.wikidata.org/wiki/Q17146789","display_name":"Random testing","level":4,"score":0.25270000100135803}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.22152/programming-journal.org/2020/4/12","is_oa":false,"landing_page_url":"https://doi.org/10.22152/programming-journal.org/2020/4/12","pdf_url":null,"source":{"id":"https://openalex.org/S4210199781","display_name":"The Art Science and Engineering of Programming","issn_l":"2473-7321","issn":["2473-7321"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"The Art, Science, and Engineering of Programming","raw_type":"journal-article"},{"id":"pmh:oai:arXiv.org:2002.06213","is_oa":true,"landing_page_url":"http://arxiv.org/abs/2002.06213","pdf_url":"https://arxiv.org/pdf/2002.06213","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"text"}],"best_oa_location":{"id":"pmh:oai:arXiv.org:2002.06213","is_oa":true,"landing_page_url":"http://arxiv.org/abs/2002.06213","pdf_url":"https://arxiv.org/pdf/2002.06213","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"text"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":0,"referenced_works":[],"related_works":[],"abstract_inverted_index":{"The":[0,64,130],"practice":[1],"of":[2,66,99,107,180,244,308,337],"unit":[3],"testing":[4],"enables":[5],"programmers":[6,327],"to":[7,44,70,124,168,216,223,301],"obtain":[8,228],"automated":[9],"feedback":[10,54],"on":[11,103,112,134,330],"whether":[12],"a":[13,97,108,207,237,241],"currently":[14],"edited":[15],"program":[16,62,128,208,229],"is":[17,27,55,69,151,315],"consistent":[18,283],"with":[19,85,231,251,284],"the":[20,86,104,125,142,178,217,306,352],"expectations":[21],"specified":[22],"in":[23,122,186,287,305,318,351],"test":[24,51,67,114,233,253,279],"cases.":[25],"Feedback":[26],"most":[28,126],"valuable":[29],"when":[30,312],"it":[31],"happens":[32],"immediately,":[33],"as":[34,80,82,192,333,335],"defects":[35,349],"can":[36,210,323,343],"be":[37,169,211,344],"corrected":[38],"instantly":[39],"before":[40],"they":[41],"become":[42],"harder":[43],"fix.":[45],"With":[46],"growing":[47],"and":[48,59,137,147,164,196,213,262,277,281],"longer":[49],"running":[50],"suites,":[52],"however,":[53],"obtained":[56],"less":[57],"frequently":[58],"lags":[60],"behind":[61],"changes.":[63],"objective":[65],"prioritization":[68,265,296],"rank":[71],"tests":[72,100,118,139,165,185,304],"so":[73],"that":[74,95,119,140,158,239,293,328],"defects,":[75],"if":[76],"present,":[77],"are":[78,91,298],"found":[79],"early":[81],"possible":[83],"or":[84,311],"least":[87],"costs.":[88],"While":[89],"there":[90],"numerous":[92],"static":[93,313],"approaches":[94],"output":[96],"ranking":[98],"solely":[101],"based":[102],"current":[105],"version":[106,248],"program,":[109],"we":[110,176,235,259],"focus":[111],"change-based":[113],"prioritization,":[115],"which":[116],"recommends":[117],"likely":[120],"fail":[121],"response":[123],"recent":[127],"change.":[129],"canonical":[131],"approach":[132],"relies":[133],"coverage":[135,149,309],"data":[136,150,257,310],"prioritizes":[138],"cover":[141],"changed":[143],"region,":[144],"but":[145],"obtaining":[146],"updating":[148],"costly.":[152],"More":[153],"recently,":[154],"information":[155,181,205],"retrieval":[156,182,220],"techniques":[157],"exploit":[159],"overlapping":[160],"vocabulary":[161],"between":[162],"change":[163,209],"have":[166],"proven":[167],"powerful,":[170],"yet":[171],"lightweight.":[172],"In":[173],"this":[174,256],"work,":[175],"demonstrate":[177],"capabilities":[179],"for":[183],"prioritizing":[184],"dynamic":[187,319],"programming":[188],"languages":[189],"using":[190,267],"Python":[191,270],"example.":[193],"We":[194,291],"discuss":[195],"measure":[197],"previously":[198],"understudied":[199],"variation":[200],"points,":[201],"including":[202],"how":[203],"contextual":[204],"around":[206],"used,":[212],"design":[214],"alternatives":[215],"widespread":[218],"\\emph{TF-IDF}":[219],"model":[221],"tailored":[222],"retrieving":[224],"failing":[225,303],"tests.":[226],"To":[227],"changes":[230,246],"associated":[232],"failures,":[234],"designed":[236],"tool":[238],"generates":[240],"large":[242,273],"set":[243],"faulty":[245],"from":[247],"history":[249],"along":[250],"their":[252],"results.":[254],"Using":[255],"set,":[258],"compared":[260],"existing":[261],"new":[263],"lexical":[264],"strategies":[266,297],"four":[268],"open-source":[269],"projects,":[271],"showing":[272],"improvements":[274],"over":[275],"untreated":[276],"random":[278],"orders":[280],"results":[282],"related":[285],"work":[286],"statically":[288],"typed":[289],"languages.":[290,320],"conclude":[292],"lightweight":[294],"IR-based":[295],"effective":[299],"tools":[300],"predict":[302],"absence":[307],"analysis":[314],"intractable":[316],"like":[317],"This":[321],"knowledge":[322],"benefit":[324],"both":[325],"individual":[326],"rely":[329],"fast":[331],"feedback,":[332],"well":[334],"operators":[336],"continuous":[338],"integration":[339],"infrastructure,":[340],"where":[341],"resources":[342],"freed":[345],"sooner":[346],"by":[347],"detecting":[348],"earlier":[350],"build":[353],"cycle.":[354]},"counts_by_year":[{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":2},{"year":2020,"cited_by_count":2}],"updated_date":"2026-03-07T16:01:11.037858","created_date":"2020-02-24T00:00:00"}
