{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,10]],"date-time":"2026-04-10T12:00:14Z","timestamp":1775822414573,"version":"3.50.1"},"reference-count":36,"publisher":"Association for Computing Machinery (ACM)","issue":"1","content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Auton. Adapt. Syst."],"published-print":{"date-parts":[[2026,3,31]]},"abstract":"<jats:p>Serverless function compositions subject to unpredictable faults are challenging to evaluate for root cause analysis. Even though distributed tracing provides observations at multiple levels of granularity for troubleshooting, excessive code instrumentation increases the tracing overheads in terms of both computation and storage. Therefore, developers face the challenge of where and how to instrument serverless functions to maximize the likelihood of locating faults based on tracing data while minimizing tracing overhead and costs.<\/jats:p>\n                  <jats:p>In this article, we propose a methodology to instrument an application with code-level tracing to infer the location of faults, taking into account constraints in terms of the maximum cost of the instrumentation and testing. We encode the tracing probe placement based on the control flow graph of the application and devise heuristics-based tracing data collection strategies to relate possible probe placements with their ability to locate a fault. Then we train novelty detection models to identify the internal anomalies and present an enhanced global search algorithm that automatically computes a probe placement with optimal fault localization ability versus cost. Experimental results show high performance in locating single and multiple faults with over 90% recall score for up to 15% latency anomalies, with minimal instrumentation overhead.<\/jats:p>","DOI":"10.1145\/3785005","type":"journal-article","created":{"date-parts":[[2026,1,19]],"date-time":"2026-01-19T10:05:02Z","timestamp":1768817102000},"page":"1-29","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":2,"title":["Fine-grained Tracing for Performance Anomaly Diagnosis of Serverless Functions"],"prefix":"10.1145","volume":"21","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-9245-6096","authenticated-orcid":false,"given":"Runan","family":"Wang","sequence":"first","affiliation":[{"name":"Department of Computing, Imperial College London, London, United Kingdom of Great Britain and Northern Ireland"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-6195-9088","authenticated-orcid":false,"given":"Guangba","family":"Yu","sequence":"additional","affiliation":[{"name":"School of Computer Science and Engineering, Sun Yat-Sen University,Guangzhou, China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4548-7951","authenticated-orcid":false,"given":"Giuliano","family":"Casale","sequence":"additional","affiliation":[{"name":"Department of Computing, Imperial College London, London, United Kingdom of Great Britain and Northern Ireland"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0009-0000-5580-1946","authenticated-orcid":false,"given":"Pengfei","family":"Chen","sequence":"additional","affiliation":[{"name":"School of Computer Science and Engineering, Sun Yat-Sen University,Guangzhou, China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-9646-646X","authenticated-orcid":false,"given":"Antonio","family":"Filieri","sequence":"additional","affiliation":[{"name":"Department of Computing, Imperial College London, London, United Kingdom of Great Britain and Northern Ireland"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2026,3,10]]},"reference":[{"key":"e_1_3_2_2_2","volume-title":"Distributed Tracing in Practice: Instrumenting, Analyzing, and Debugging Microservices","author":"Parker Austin","year":"2020","unstructured":"Austin Parker, Daniel Spoonhower, Jonathan Mace, Ben Sigelman, and Rebecca Isaacs. 2020. Distributed Tracing in Practice: Instrumenting, Analyzing, and Debugging Microservices. O\u2019Reilly Media."},{"key":"e_1_3_2_3_2","doi-asserted-by":"publisher","DOI":"10.1145\/3510611"},{"key":"e_1_3_2_4_2","unstructured":"OpenTelemetry. 2026. Blog Posts in 2019\u20132024. Retrieved from https:\/\/opentelemetry.io\/blog\/"},{"key":"e_1_3_2_5_2","doi-asserted-by":"publisher","DOI":"10.1145\/2382553.2382555"},{"key":"e_1_3_2_6_2","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-021-10063-9"},{"key":"e_1_3_2_7_2","doi-asserted-by":"publisher","DOI":"10.1145\/3442381.3449905"},{"key":"e_1_3_2_8_2","unstructured":"Benjamin H. Sigelman Luiz Andr\u00e9 Barroso Mike Burrows Pat Stephenson Manoj Plakal Donald Beaver Saul Jaspan and Chandan Shanbhag. 2010. Dapper A Large-Scale Distributed Systems Tracing Infrastructure. Retrieved from https:\/\/static.googleusercontent.com\/media\/research.google.com\/en\/\/archive\/papers\/dapper-2010-1.pdf"},{"key":"e_1_3_2_9_2","volume-title":"Principles of Program Analysis","author":"Nielson Flemming","year":"2015","unstructured":"Flemming Nielson, Hanne R. Nielson, and Chris Hankin. 2015. Principles of Program Analysis. Springer."},{"key":"e_1_3_2_10_2","doi-asserted-by":"publisher","DOI":"10.1145\/318774.318944"},{"key":"e_1_3_2_11_2","volume-title":"Proceedings of the National Conference On Programming","author":"Rahman Khirulnizam A.","year":"2007","unstructured":"Khirulnizam A. Rahman and Md Jan Nordin. 2007. A review on the static analysis approach in the automated programming assessment systems. In Proceedings of the National Conference On Programming."},{"key":"e_1_3_2_12_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-22102-1_6"},{"key":"e_1_3_2_13_2","doi-asserted-by":"publisher","DOI":"10.1145\/357062.357071"},{"key":"e_1_3_2_14_2","doi-asserted-by":"publisher","DOI":"10.1017\/S026988891300043X"},{"key":"e_1_3_2_15_2","doi-asserted-by":"publisher","DOI":"10.1348\/000711005X48266"},{"key":"e_1_3_2_16_2","doi-asserted-by":"publisher","DOI":"10.1080\/08839514.2013.785791"},{"key":"e_1_3_2_17_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICDM.2008.17"},{"key":"e_1_3_2_18_2","first-page":"1","article-title":"Sparse autoencoder","volume":"72","author":"Ng Andrew","year":"2011","unstructured":"Andrew Ng. 2011. Sparse autoencoder. CS294A Lecture Notes 72 (2011), 1\u201319.","journal-title":"CS294A Lecture Notes"},{"key":"e_1_3_2_19_2","doi-asserted-by":"publisher","DOI":"10.1109\/SCOPES.2016.7955697"},{"key":"e_1_3_2_20_2","unstructured":"OpenFaaS. 2024. OpenFaaS. Retrieved from https:\/\/docs.openfaas.com\/"},{"key":"e_1_3_2_21_2","unstructured":"OpenTelemetry. 2026. Collector 2019\u20132024. Retrieved from https:\/\/opentelemetry.io\/docs\/collector\/"},{"key":"e_1_3_2_22_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-031-20984-0_5"},{"key":"e_1_3_2_23_2","doi-asserted-by":"publisher","DOI":"10.1109\/CVPR.2018.00474"},{"key":"e_1_3_2_24_2","doi-asserted-by":"publisher","DOI":"10.1145\/3357223.3362704"},{"key":"e_1_3_2_25_2","doi-asserted-by":"publisher","DOI":"10.1145\/143165.143180"},{"key":"e_1_3_2_26_2","doi-asserted-by":"publisher","DOI":"10.1007\/s00450-019-00398-6"},{"key":"e_1_3_2_27_2","doi-asserted-by":"publisher","DOI":"10.1109\/IC2E.2018.00027"},{"key":"e_1_3_2_28_2","doi-asserted-by":"publisher","DOI":"10.1109\/IC2E52221.2021.00022"},{"key":"e_1_3_2_29_2","doi-asserted-by":"publisher","DOI":"10.1109\/CloudCom.2019.00039"},{"key":"e_1_3_2_30_2","doi-asserted-by":"publisher","DOI":"10.1145\/3501297"},{"key":"e_1_3_2_31_2","unstructured":"Tingting Wang and Guilin Qi. 2024. A comprehensive survey on root cause analysis in (micro) services: Methodologies challenges and trends. arXiv:2408.00803. Retrieved from https:\/\/arxiv.org\/abs\/2408.00803"},{"key":"e_1_3_2_32_2","doi-asserted-by":"publisher","DOI":"10.1145\/3660805"},{"key":"e_1_3_2_33_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE48619.2023.00150"},{"key":"e_1_3_2_34_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE-SEIP52600.2021.00043"},{"key":"e_1_3_2_35_2","volume-title":"Proceedings of the ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC\/FSE)","year":"2024","unstructured":"Zhenhe Yao, Changhua Pei, Wenxiao Chen, Hanzhang Wang, Liangfei Su, Huai Jiang, Zhe Xie, Xiaohui Nie, and Dan Pei. 2024. Chain-of-event: Interpretable event-causal graph for root cause analysis in microservices. In Proceedings of the ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC\/FSE)."},{"key":"e_1_3_2_36_2","doi-asserted-by":"publisher","DOI":"10.1145\/3674726"},{"key":"e_1_3_2_37_2","doi-asserted-by":"publisher","DOI":"10.1145\/3611643.3613864"}],"container-title":["ACM Transactions on Autonomous and Adaptive Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3785005","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,3,15]],"date-time":"2026-03-15T14:10:56Z","timestamp":1773583856000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3785005"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2026,3,10]]},"references-count":36,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2026,3,31]]}},"alternative-id":["10.1145\/3785005"],"URL":"https:\/\/doi.org\/10.1145\/3785005","relation":{},"ISSN":["1556-4665","1556-4703"],"issn-type":[{"value":"1556-4665","type":"print"},{"value":"1556-4703","type":"electronic"}],"subject":[],"published":{"date-parts":[[2026,3,10]]},"assertion":[{"value":"2024-11-05","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2025-11-28","order":2,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2026-03-10","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}