{"id":"https://openalex.org/W2735684785","doi":"https://doi.org/10.1145/3092703.3092716","title":"An actionable performance profiler for optimizing the order of evaluations","display_name":"An actionable performance profiler for optimizing the order of evaluations","publication_year":2017,"publication_date":"2017-07-10","ids":{"openalex":"https://openalex.org/W2735684785","doi":"https://doi.org/10.1145/3092703.3092716","mag":"2735684785"},"language":"en","primary_location":{"id":"doi:10.1145/3092703.3092716","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3092703.3092716","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5064459996","display_name":"Marija Selakovic","orcid":"https://orcid.org/0000-0001-9508-5868"},"institutions":[{"id":"https://openalex.org/I31512782","display_name":"Technical University of Darmstadt","ror":"https://ror.org/05n911h24","country_code":"DE","type":"education","lineage":["https://openalex.org/I31512782"]}],"countries":["DE"],"is_corresponding":true,"raw_author_name":"Marija Selakovic","raw_affiliation_strings":["TU Darmstadt, Germany"],"affiliations":[{"raw_affiliation_string":"TU Darmstadt, Germany","institution_ids":["https://openalex.org/I31512782"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5090177774","display_name":"Thomas Gl\u00e4ser","orcid":"https://orcid.org/0000-0002-3034-8281"},"institutions":[{"id":"https://openalex.org/I31512782","display_name":"Technical University of Darmstadt","ror":"https://ror.org/05n911h24","country_code":"DE","type":"education","lineage":["https://openalex.org/I31512782"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Thomas Glaser","raw_affiliation_strings":["TU Darmstadt, Germany"],"affiliations":[{"raw_affiliation_string":"TU Darmstadt, Germany","institution_ids":["https://openalex.org/I31512782"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5013438083","display_name":"Michael Pradel","orcid":"https://orcid.org/0000-0003-1623-498X"},"institutions":[{"id":"https://openalex.org/I31512782","display_name":"Technical University of Darmstadt","ror":"https://ror.org/05n911h24","country_code":"DE","type":"education","lineage":["https://openalex.org/I31512782"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Michael Pradel","raw_affiliation_strings":["TU Darmstadt, Germany"],"affiliations":[{"raw_affiliation_string":"TU Darmstadt, Germany","institution_ids":["https://openalex.org/I31512782"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5064459996"],"corresponding_institution_ids":["https://openalex.org/I31512782"],"apc_list":null,"apc_paid":null,"fwci":1.4504,"has_fulltext":false,"cited_by_count":12,"citation_normalized_percentile":{"value":0.84434728,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"170","last_page":"180"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T12127","display_name":"Software System Performance and Reliability","score":0.9994999766349792,"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"}},"topics":[{"id":"https://openalex.org/T12127","display_name":"Software System Performance and Reliability","score":0.9994999766349792,"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"}},{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9983000159263611,"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/T10772","display_name":"Distributed systems and fault tolerance","score":0.9979000091552734,"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/computer-science","display_name":"Computer science","score":0.823682427406311},{"id":"https://openalex.org/keywords/javascript","display_name":"JavaScript","score":0.7821118831634521},{"id":"https://openalex.org/keywords/exploit","display_name":"Exploit","score":0.7721360921859741},{"id":"https://openalex.org/keywords/program-optimization","display_name":"Program optimization","score":0.6533504724502563},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.5535934567451477},{"id":"https://openalex.org/keywords/key","display_name":"Key (lock)","score":0.5230252146720886},{"id":"https://openalex.org/keywords/order","display_name":"Order (exchange)","score":0.5229744911193848},{"id":"https://openalex.org/keywords/advice","display_name":"Advice (programming)","score":0.4843903183937073},{"id":"https://openalex.org/keywords/focus","display_name":"Focus (optics)","score":0.47410255670547485},{"id":"https://openalex.org/keywords/performance-indicator","display_name":"Performance indicator","score":0.44050148129463196},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.3238178491592407},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.2539701461791992},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.18575698137283325},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.14749640226364136},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.10993701219558716}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.823682427406311},{"id":"https://openalex.org/C544833334","wikidata":"https://www.wikidata.org/wiki/Q2005","display_name":"JavaScript","level":2,"score":0.7821118831634521},{"id":"https://openalex.org/C165696696","wikidata":"https://www.wikidata.org/wiki/Q11287","display_name":"Exploit","level":2,"score":0.7721360921859741},{"id":"https://openalex.org/C139571649","wikidata":"https://www.wikidata.org/wiki/Q1156793","display_name":"Program optimization","level":3,"score":0.6533504724502563},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.5535934567451477},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.5230252146720886},{"id":"https://openalex.org/C182306322","wikidata":"https://www.wikidata.org/wiki/Q1779371","display_name":"Order (exchange)","level":2,"score":0.5229744911193848},{"id":"https://openalex.org/C2779955035","wikidata":"https://www.wikidata.org/wiki/Q4686785","display_name":"Advice (programming)","level":2,"score":0.4843903183937073},{"id":"https://openalex.org/C192209626","wikidata":"https://www.wikidata.org/wiki/Q190909","display_name":"Focus (optics)","level":2,"score":0.47410255670547485},{"id":"https://openalex.org/C135510737","wikidata":"https://www.wikidata.org/wiki/Q860554","display_name":"Performance indicator","level":2,"score":0.44050148129463196},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.3238178491592407},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.2539701461791992},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.18575698137283325},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.14749640226364136},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.10993701219558716},{"id":"https://openalex.org/C10138342","wikidata":"https://www.wikidata.org/wiki/Q43015","display_name":"Finance","level":1,"score":0.0},{"id":"https://openalex.org/C38652104","wikidata":"https://www.wikidata.org/wiki/Q3510521","display_name":"Computer security","level":1,"score":0.0},{"id":"https://openalex.org/C120665830","wikidata":"https://www.wikidata.org/wiki/Q14620","display_name":"Optics","level":1,"score":0.0},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"score":0.0},{"id":"https://openalex.org/C187736073","wikidata":"https://www.wikidata.org/wiki/Q2920921","display_name":"Management","level":1,"score":0.0},{"id":"https://openalex.org/C162324750","wikidata":"https://www.wikidata.org/wiki/Q8134","display_name":"Economics","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3092703.3092716","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3092703.3092716","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"display_name":"Peace, Justice and strong institutions","score":0.5,"id":"https://metadata.un.org/sdg/16"}],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":51,"referenced_works":["https://openalex.org/W1549185825","https://openalex.org/W1968760836","https://openalex.org/W1987647365","https://openalex.org/W1999926936","https://openalex.org/W2003797551","https://openalex.org/W2009736000","https://openalex.org/W2009825697","https://openalex.org/W2016027000","https://openalex.org/W2017190028","https://openalex.org/W2057510141","https://openalex.org/W2068880428","https://openalex.org/W2073961002","https://openalex.org/W2076719273","https://openalex.org/W2087515886","https://openalex.org/W2088505585","https://openalex.org/W2095839586","https://openalex.org/W2096666207","https://openalex.org/W2098883184","https://openalex.org/W2100148636","https://openalex.org/W2104251622","https://openalex.org/W2107484131","https://openalex.org/W2107588378","https://openalex.org/W2112582249","https://openalex.org/W2113751407","https://openalex.org/W2114054012","https://openalex.org/W2116136092","https://openalex.org/W2122947685","https://openalex.org/W2126952942","https://openalex.org/W2128457714","https://openalex.org/W2130655713","https://openalex.org/W2133638476","https://openalex.org/W2144433126","https://openalex.org/W2145458045","https://openalex.org/W2149207009","https://openalex.org/W2149576136","https://openalex.org/W2153530968","https://openalex.org/W2157662360","https://openalex.org/W2159586681","https://openalex.org/W2163661306","https://openalex.org/W2166983865","https://openalex.org/W2364861723","https://openalex.org/W2407578578","https://openalex.org/W2469413729","https://openalex.org/W2547827378","https://openalex.org/W3005620216","https://openalex.org/W3015760907","https://openalex.org/W3084000029","https://openalex.org/W3149216967","https://openalex.org/W3151686641","https://openalex.org/W3152352337","https://openalex.org/W4241395538"],"related_works":["https://openalex.org/W17155033","https://openalex.org/W3207760230","https://openalex.org/W1496222301","https://openalex.org/W4312814274","https://openalex.org/W1590307681","https://openalex.org/W2536018345","https://openalex.org/W4285370786","https://openalex.org/W2296488620","https://openalex.org/W2358353312","https://openalex.org/W2267028622"],"abstract_inverted_index":{"The":[0,130],"efficiency":[1],"of":[2,84,90,121,139,190],"programs":[3],"often":[4],"can":[5],"be":[6],"improved":[7],"by":[8,59,66,94,184],"applying":[9],"rel-":[10],"atively":[11],"simple":[12],"changes.":[13],"To":[14,97],"find":[15,100,144],"such":[16,101],"optimization":[17,63,78],"opportunities,":[18],"developers":[19,99],"either":[20],"rely":[21],"on":[22,34,77],"manual":[23],"performance":[24,164,204],"tuning,":[25],"which":[26,37],"is":[27,133],"time-consuming":[28],"and":[29,126,148,196,198,210],"requires":[30],"expert":[31],"knowledge,":[32],"or":[33],"traditional":[35],"profilers,":[36],"show":[38],"where":[39],"resources":[40],"are":[41,88],"spent":[42],"but":[43,65],"not":[44,60],"how":[45],"to":[46,81,134,143,149,154,169,200],"optimize":[47],"the":[48,82,95,114,136,145,155,180,187],"program.":[49,96],"This":[50],"paper":[51],"presents":[52],"a":[53,91,108,118,151,161],"profiler":[54],"that":[55,71,87,111,206],"provides":[56],"actionable":[57],"advice,":[58],"only":[61,157],"finding":[62],"opportunities":[64,79],"also":[67],"suggesting":[68],"code":[69,152,181],"transformations":[70],"exploit":[72],"them.":[73],"Specifically,":[74],"we":[75,105],"focus":[76],"related":[80],"order":[83],"evaluating":[85],"subexpressions":[86],"part":[89],"decision":[92],"made":[93],"help":[98],"reordering":[102,159,177],"opportuni-":[103],"ties,":[104],"present":[106],"DecisionProf,":[107],"dynamic":[109],"analysis":[110],"automatically":[112],"identifies":[113],"optimal":[115,146],"order,":[116,147],"for":[117],"given":[119],"input,":[120],"checks":[122],"in":[123,127],"logical":[124],"expressions":[125],"switch":[128],"statements.":[129],"key":[131],"idea":[132],"assess":[135],"computational":[137],"costs":[138],"all":[140],"possible":[141],"orders,":[142],"suggest":[150],"transformation":[153],"developer":[156],"if":[158],"yields":[160],"statistically":[162,201],"significant":[163,202],"improve-":[165],"ment.":[166],"Applying":[167],"DecisionProf":[168,185],"43":[170],"real-world":[171],"JavaScript":[172],"projects":[173],"reveals":[174],"52":[175],"beneficial":[176],"opportunities.":[178],"Optimizing":[179],"as":[182],"proposed":[183],"reduces":[186],"execution":[188],"time":[189],"indi-":[191],"vidual":[192],"functions":[193],"between":[194,208],"2.5%":[195,209],"59%,":[197],"leads":[199],"application-level":[203],"improvements":[205],"range":[207],"6.5%.":[211]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2023,"cited_by_count":1},{"year":2021,"cited_by_count":3},{"year":2020,"cited_by_count":2},{"year":2018,"cited_by_count":4},{"year":2017,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
