{"id":"https://openalex.org/W7155409472","doi":"https://doi.org/10.1145/3777884.3796997","title":"benchkit: A Declarative Framework for Composable Performance Evaluation of System Software","display_name":"benchkit: A Declarative Framework for Composable Performance Evaluation of System Software","publication_year":2026,"publication_date":"2026-04-23","ids":{"openalex":"https://openalex.org/W7155409472","doi":"https://doi.org/10.1145/3777884.3796997"},"language":null,"primary_location":{"id":"doi:10.1145/3777884.3796997","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3777884.3796997","pdf_url":null,"source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 17th ACM/SPEC International Conference on Performance Engineering","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://doi.org/10.1145/3777884.3796997","any_repository_has_fulltext":null},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5102966259","display_name":"Antonio Paolillo","orcid":"https://orcid.org/0000-0001-6608-6562"},"institutions":[{"id":"https://openalex.org/I13469542","display_name":"Vrije Universiteit Brussel","ror":"https://ror.org/006e5kg04","country_code":"BE","type":"education","lineage":["https://openalex.org/I13469542"]}],"countries":["BE"],"is_corresponding":true,"raw_author_name":"Antonio Paolillo","raw_affiliation_strings":["Software Languages Lab, Vrije Universiteit Brussel, Brussels, Belgium"],"raw_orcid":"https://orcid.org/0000-0001-6608-6562","affiliations":[{"raw_affiliation_string":"Software Languages Lab, Vrije Universiteit Brussel, Brussels, Belgium","institution_ids":["https://openalex.org/I13469542"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5108871958","display_name":"Mats Van Molle","orcid":null},"institutions":[{"id":"https://openalex.org/I13469542","display_name":"Vrije Universiteit Brussel","ror":"https://ror.org/006e5kg04","country_code":"BE","type":"education","lineage":["https://openalex.org/I13469542"]}],"countries":["BE"],"is_corresponding":false,"raw_author_name":"Mats Van Molle","raw_affiliation_strings":["Software Languages Lab, Vrije Universiteit Brussel, Brussels, Belgium"],"raw_orcid":"https://orcid.org/0009-0006-5710-3969","affiliations":[{"raw_affiliation_string":"Software Languages Lab, Vrije Universiteit Brussel, Brussels, Belgium","institution_ids":["https://openalex.org/I13469542"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5022215429","display_name":"Ken Hasselmann","orcid":"https://orcid.org/0000-0002-8196-9889"},"institutions":[{"id":"https://openalex.org/I150517870","display_name":"Royal Military Academy","ror":"https://ror.org/02vmnye06","country_code":"BE","type":"education","lineage":["https://openalex.org/I150517870"]}],"countries":["BE"],"is_corresponding":false,"raw_author_name":"Ken Hasselmann","raw_affiliation_strings":["Department of Mechanics, Royal Military Academy, Brussels, Belgium"],"raw_orcid":"https://orcid.org/0000-0002-8196-9889","affiliations":[{"raw_affiliation_string":"Department of Mechanics, Royal Military Academy, Brussels, Belgium","institution_ids":["https://openalex.org/I150517870"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5102966259"],"corresponding_institution_ids":["https://openalex.org/I13469542"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.96140676,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"170","last_page":"183"},"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.934499979019165,"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.934499979019165,"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.02280000038444996,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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/T10101","display_name":"Cloud Computing and Resource Management","score":0.009700000286102295,"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/profiling","display_name":"Profiling (computer programming)","score":0.6733999848365784},{"id":"https://openalex.org/keywords/bespoke","display_name":"Bespoke","score":0.6255999803543091},{"id":"https://openalex.org/keywords/python","display_name":"Python (programming language)","score":0.5641999840736389},{"id":"https://openalex.org/keywords/debugging","display_name":"Debugging","score":0.5598000288009644},{"id":"https://openalex.org/keywords/implementation","display_name":"Implementation","score":0.5329999923706055},{"id":"https://openalex.org/keywords/x86","display_name":"x86","score":0.5022000074386597},{"id":"https://openalex.org/keywords/scheduling","display_name":"Scheduling (production processes)","score":0.5011000037193298},{"id":"https://openalex.org/keywords/spec#","display_name":"Spec#","score":0.4821000099182129},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.45410001277923584},{"id":"https://openalex.org/keywords/runtime-system","display_name":"Runtime system","score":0.4406999945640564}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8126000165939331},{"id":"https://openalex.org/C187191949","wikidata":"https://www.wikidata.org/wiki/Q1138496","display_name":"Profiling (computer programming)","level":2,"score":0.6733999848365784},{"id":"https://openalex.org/C44210515","wikidata":"https://www.wikidata.org/wiki/Q16968978","display_name":"Bespoke","level":2,"score":0.6255999803543091},{"id":"https://openalex.org/C519991488","wikidata":"https://www.wikidata.org/wiki/Q28865","display_name":"Python (programming language)","level":2,"score":0.5641999840736389},{"id":"https://openalex.org/C168065819","wikidata":"https://www.wikidata.org/wiki/Q845566","display_name":"Debugging","level":2,"score":0.5598000288009644},{"id":"https://openalex.org/C26713055","wikidata":"https://www.wikidata.org/wiki/Q245962","display_name":"Implementation","level":2,"score":0.5329999923706055},{"id":"https://openalex.org/C170723468","wikidata":"https://www.wikidata.org/wiki/Q182933","display_name":"x86","level":3,"score":0.5022000074386597},{"id":"https://openalex.org/C206729178","wikidata":"https://www.wikidata.org/wiki/Q2271896","display_name":"Scheduling (production processes)","level":2,"score":0.5011000037193298},{"id":"https://openalex.org/C2778565505","wikidata":"https://www.wikidata.org/wiki/Q2207566","display_name":"Spec#","level":2,"score":0.4821000099182129},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.45410001277923584},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.4481000006198883},{"id":"https://openalex.org/C2780870223","wikidata":"https://www.wikidata.org/wiki/Q1004415","display_name":"Runtime system","level":2,"score":0.4406999945640564},{"id":"https://openalex.org/C2777138346","wikidata":"https://www.wikidata.org/wiki/Q1714153","display_name":"Performance tuning","level":2,"score":0.4065999984741211},{"id":"https://openalex.org/C185798385","wikidata":"https://www.wikidata.org/wiki/Q1161707","display_name":"Benchmark (surveying)","level":2,"score":0.3901999890804291},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.3517000079154968},{"id":"https://openalex.org/C2779960059","wikidata":"https://www.wikidata.org/wiki/Q7113681","display_name":"Overhead (engineering)","level":2,"score":0.33980000019073486},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.3368000090122223},{"id":"https://openalex.org/C101468663","wikidata":"https://www.wikidata.org/wiki/Q1620158","display_name":"Modular design","level":2,"score":0.33309999108314514},{"id":"https://openalex.org/C149091818","wikidata":"https://www.wikidata.org/wiki/Q2429814","display_name":"Software system","level":3,"score":0.3303999900817871},{"id":"https://openalex.org/C83283714","wikidata":"https://www.wikidata.org/wiki/Q121117","display_name":"Supercomputer","level":2,"score":0.3264999985694885},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.32600000500679016},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.32120001316070557},{"id":"https://openalex.org/C126831891","wikidata":"https://www.wikidata.org/wiki/Q221673","display_name":"Host (biology)","level":2,"score":0.31859999895095825},{"id":"https://openalex.org/C141571065","wikidata":"https://www.wikidata.org/wiki/Q1771949","display_name":"Performance measurement","level":2,"score":0.31610000133514404},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.30480000376701355},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.3034999966621399},{"id":"https://openalex.org/C2778485113","wikidata":"https://www.wikidata.org/wiki/Q193231","display_name":"Debugger","level":3,"score":0.30239999294281006},{"id":"https://openalex.org/C118524514","wikidata":"https://www.wikidata.org/wiki/Q173212","display_name":"Computer architecture","level":1,"score":0.29649999737739563},{"id":"https://openalex.org/C79581498","wikidata":"https://www.wikidata.org/wiki/Q1367530","display_name":"Suite","level":2,"score":0.29429998993873596},{"id":"https://openalex.org/C4924752","wikidata":"https://www.wikidata.org/wiki/Q184148","display_name":"Plug-in","level":2,"score":0.2870999872684479},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.2856000065803528},{"id":"https://openalex.org/C147494362","wikidata":"https://www.wikidata.org/wiki/Q2078905","display_name":"Troubleshooting","level":2,"score":0.28519999980926514},{"id":"https://openalex.org/C2778579508","wikidata":"https://www.wikidata.org/wiki/Q722192","display_name":"System call","level":2,"score":0.2793999910354614},{"id":"https://openalex.org/C174683762","wikidata":"https://www.wikidata.org/wiki/Q609588","display_name":"Component-based software engineering","level":4,"score":0.2732999920845032},{"id":"https://openalex.org/C45374587","wikidata":"https://www.wikidata.org/wiki/Q12525525","display_name":"Computation","level":2,"score":0.27300000190734863},{"id":"https://openalex.org/C98183937","wikidata":"https://www.wikidata.org/wiki/Q2112188","display_name":"Program analysis","level":2,"score":0.2662000060081482},{"id":"https://openalex.org/C165696696","wikidata":"https://www.wikidata.org/wiki/Q11287","display_name":"Exploit","level":2,"score":0.2623000144958496},{"id":"https://openalex.org/C175309249","wikidata":"https://www.wikidata.org/wiki/Q725864","display_name":"Pipeline transport","level":2,"score":0.25940001010894775},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.25859999656677246},{"id":"https://openalex.org/C76518257","wikidata":"https://www.wikidata.org/wiki/Q271680","display_name":"Software framework","level":5,"score":0.2581999897956848}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3777884.3796997","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3777884.3796997","pdf_url":null,"source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 17th ACM/SPEC International Conference on Performance Engineering","raw_type":"proceedings-article"}],"best_oa_location":{"id":"doi:10.1145/3777884.3796997","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3777884.3796997","pdf_url":null,"source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 17th ACM/SPEC International Conference on Performance Engineering","raw_type":"proceedings-article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":27,"referenced_works":["https://openalex.org/W1983545421","https://openalex.org/W2001738739","https://openalex.org/W2173213060","https://openalex.org/W2240667924","https://openalex.org/W2278852126","https://openalex.org/W2283438976","https://openalex.org/W2326544892","https://openalex.org/W2576643400","https://openalex.org/W2736177420","https://openalex.org/W2796645376","https://openalex.org/W2949676527","https://openalex.org/W2958385005","https://openalex.org/W2963951263","https://openalex.org/W3013717548","https://openalex.org/W3044177754","https://openalex.org/W3096672856","https://openalex.org/W3156131292","https://openalex.org/W3176572475","https://openalex.org/W3207135607","https://openalex.org/W3215743592","https://openalex.org/W4206520537","https://openalex.org/W4206664145","https://openalex.org/W4230183918","https://openalex.org/W4289979017","https://openalex.org/W4293763691","https://openalex.org/W4394597297","https://openalex.org/W7119523552"],"related_works":[],"abstract_inverted_index":{"Performance-evaluation":[0],"pipelines":[1],"in":[2,120],"systems":[3],"research":[4],"often":[5],"combine":[6],"benchmarks,":[7],"system":[8,72,92,154],"configuration":[9],"steps,":[10],"profiling":[11],"tools,":[12],"and":[13,28,38,62,69,75,99,136,143,156,168,185,197],"analysis":[14,139],"scripts.":[15],"In":[16],"practice,":[17],"these":[18],"components":[19],"are":[20],"glued":[21],"together":[22],"with":[23],"ad-hoc":[24],"shell":[25,179],"scripts,":[26,83],"notebooks,":[27],"bespoke":[29],"tooling,":[30],"making":[31],"experiment":[32],"dimensions":[33],"difficult":[34],"to":[35,41,57,63,71,89,158,177],"explore":[36],"systematically":[37],"results":[39,189],"hard":[40],"reproduce":[42],"or":[43],"extend.":[44],"We":[45,107,162],"present":[46],"benchkit,":[47],"a":[48,54,86,115,147,194],"lightweight":[49],"Python":[50],"library":[51],"that":[52,170,191],"provides":[53,85,193],"structured":[55,87],"way":[56,88],"express":[58],"performance":[59,100,118,160,202],"experiments":[60],"declaratively":[61],"automate":[64],"their":[65],"full":[66],"lifecycle\u2014from":[67],"build":[68],"execution":[70],"configuration,":[73],"profiling,":[74],"result":[76],"collection.":[77],"Instead":[78],"of":[79,117,132,140,166],"relying":[80],"on":[81,124,146,182],"monolithic":[82],"benchkit":[84,109,152,167,192],"compose":[90],"existing":[91],"tools":[93,155],"(e.g.,":[94],"CPU-placement":[95],"utilities,":[96],"frequency":[97],"controllers,":[98],"profilers)":[101],"while":[102],"keeping":[103],"benchmark":[104],"code":[105],"untouched.":[106],"illustrate":[108],"through":[110],"two":[111],"representative":[112],"studies:":[113],"(1)":[114],"drilldown":[116],"anomalies":[119],"SPEC":[121],"CPU":[122,133],"workloads":[123],"hybrid-core":[125],"x86":[126],"processors,":[127],"enabled":[128],"by":[129],"systematic":[130],"exploration":[131],"placement":[134],"policies;":[135],"(2)":[137],"an":[138],"lock":[141],"implementations":[142],"scheduling":[144],"strategies":[145],"many-core":[148],"ARM":[149],"server,":[150],"where":[151],"coordinates":[153],"visualizations":[157],"interpret":[159],"differences.":[161],"evaluate":[163],"the":[164,183],"overhead":[165],"show":[169,190],"it":[171],"introduces":[172],"no":[173],"measurable":[174],"cost":[175],"compared":[176],"hand-written":[178],"workflows,":[180],"both":[181],"host":[184],"inside":[186],"containers.":[187],"These":[188],"reproducible,":[195],"extensible,":[196],"principled":[198],"foundation":[199],"for":[200],"system-level":[201],"experimentation.":[203]},"counts_by_year":[],"updated_date":"2026-04-24T06:07:52.864757","created_date":"2026-04-24T00:00:00"}
