{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,8,18]],"date-time":"2026-08-18T01:41:23Z","timestamp":1787017283026,"version":"build-2736575974"},"reference-count":29,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2018,12,19]],"date-time":"2018-12-19T00:00:00Z","timestamp":1545177600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000001","name":"NSF","doi-asserted-by":"publisher","award":["SHF 1544542, 1518-844"],"award-info":[{"award-number":["SHF 1544542, 1518-844"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]},{"name":"ONR","award":["503353"],"award-info":[{"award-number":["503353"]}]},{"name":"ERC","award":["695412"],"award-info":[{"award-number":["695412"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Program. Lang. Syst."],"published-print":{"date-parts":[[2019,3,31]]},"abstract":"<jats:p>\n                    While high-level languages come with significant readability and maintainability benefits, their performance remains difficult to predict. For example, programmers may unknowingly use language features inappropriately, which cause their programs to run slower than expected. To address this issue, we introduce\n                    <jats:italic>feature-specific profiling<\/jats:italic>\n                    , a technique that reports performance costs in terms of linguistic constructs. Feature-specific profilers help programmers find expensive uses of specific features of their language. We describe the architecture of a profiler that implements our approach, explain prototypes of the profiler for two languages with different characteristics and implementation strategies, and provide empirical evidence for the approach\u2019s general usefulness as a performance debugging tool.\n                  <\/jats:p>","DOI":"10.1145\/3275519","type":"journal-article","created":{"date-parts":[[2018,12,19]],"date-time":"2018-12-19T08:07:08Z","timestamp":1545206828000},"page":"1-34","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":7,"title":["Feature-Specific Profiling"],"prefix":"10.1145","volume":"41","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-6179-7784","authenticated-orcid":false,"given":"Leif","family":"Andersen","sequence":"first","affiliation":[{"name":"PLT @ Northeastern University, United States of America"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Vincent","family":"St-Amour","sequence":"additional","affiliation":[{"name":"PLT @ Northwestern University, United States of America"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Jan","family":"Vitek","sequence":"additional","affiliation":[{"name":"Northeastern University and Czech Technical University"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Matthias","family":"Felleisen","sequence":"additional","affiliation":[{"name":"PLT @ Northwestern University, United States of America"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2018,12,19]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/1465482.1465560"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1002\/cpe.1760"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.5555\/645395.651947"},{"key":"e_1_2_1_4_1","volume-title":"Proceedings of the Scheme and Functional Programming Workshop, 1--10","author":"Clements John","year":"2008","unstructured":"John Clements, Ayswarya Sundaram, and David Herman. 2008. Implementing continuation marks in JavaScript. In Proceedings of the Scheme and Functional Programming Workshop, 1--10."},{"key":"e_1_2_1_5_1","unstructured":"R. Kent Dybvig. 2009. Chez Scheme Version 8 User\u2019s Guide. Cadence Research Systems."},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","unstructured":"R. Kent Dybvig Robert Hieb and Carl Bruggeman. 1993. Syntax abstraction in scheme. In LISP and Symbolic Computation. 10.1007\/BF01806308","DOI":"10.1007\/BF01806308"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796801004208"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/581478.581484"},{"key":"e_1_2_1_9_1","volume-title":"Proceedings of the Workshop on Scheme and Functional Programming.","author":"Flatt Matthew","year":"2009","unstructured":"Matthew Flatt and Eli Barzilay. 2009. Keyword and optional arguments in PLT scheme. In Proceedings of the Workshop on Scheme and Functional Programming."},{"key":"e_1_2_1_10_1","volume-title":"Reference: Racket","author":"Flatt Matthew","year":"2010","unstructured":"Matthew Flatt and PLT. 2010. Reference: Racket. PLT Inc., PLT-TR-2010-1. Retrieved from DOI:http:\/\/racket-lang.org\/tr1\/"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-54833-8_25"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/1028976.1028998"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.5555\/1624775.1624804"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.scico.2010.04.009"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/1167473.1167487"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/1291201.1291204"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/1869459.1869506"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.5555\/2685048.2685063"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-31057-7_6"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/1806596.1806618"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/1250734.1250746"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/1086365.1086393"},{"issue":"3","key":"e_1_2_1_23_1","first-page":"1","article-title":"R Language Definition","volume":"3","author":"Team R Development Core","year":"2016","unstructured":"R Development Core Team. 2016. R Language Definition. R Development Core Team, 3.3.1. Retrieved from http:\/\/web.mit.edu\/&sim;r\/current\/arch\/amd64_linux26\/lib\/R\/doc\/manual\/R-lang.pdf.","journal-title":"R Development Core Team"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.scico.2007.07.006"},{"key":"e_1_2_1_25_1","volume-title":"Proceedings of the International Conference on Compiler Construction. Retrieved from","author":"St-Amour Vincent","year":"2012","unstructured":"Vincent St-Amour, Leif Andersen, and Matthias Felleisen. 2012. Feature-specific profiling. In Proceedings of the International Conference on Compiler Construction. Retrieved from"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/2384616.2384629"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/2384616.2384688"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/1328438.1328486"},{"key":"e_1_2_1_29_1","volume-title":"Advanced R","author":"Wickham Hadley","unstructured":"Hadley Wickham. 2014. Advanced R, 1st ed. Chapman and Hall\/CRC. Retrieved from http:\/\/adv-r.had.co.nz\/.","edition":"1"}],"container-title":["ACM Transactions on Programming Languages and Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3275519","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3275519","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3275519","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T21:01:57Z","timestamp":1750194117000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3275519"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018,12,19]]},"references-count":29,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2019,3,31]]}},"alternative-id":["10.1145\/3275519"],"URL":"https:\/\/doi.org\/10.1145\/3275519","relation":{},"ISSN":["0164-0925","1558-4593"],"issn-type":[{"value":"0164-0925","type":"print"},{"value":"1558-4593","type":"electronic"}],"subject":[],"published":{"date-parts":[[2018,12,19]]},"assertion":[{"value":"2017-08-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2018-09-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2018-12-19","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}