{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,8]],"date-time":"2026-05-08T03:36:32Z","timestamp":1778211392828,"version":"3.51.4"},"reference-count":61,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2012,2,1]],"date-time":"2012-02-01T00:00:00Z","timestamp":1328054400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000144","name":"Division of Computer and Network Systems","doi-asserted-by":"publisher","award":["1017784"],"award-info":[{"award-number":["1017784"]}],"id":[{"id":"10.13039\/100000144","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100000144","name":"Division of Computer and Network Systems","doi-asserted-by":"publisher","award":["CNS-0720743CCF-0325603CNS-0615372CNS-0347854"],"award-info":[{"award-number":["CNS-0720743CCF-0325603CNS-0615372CNS-0347854"]}],"id":[{"id":"10.13039\/100000144","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100000143","name":"Division of Computing and Communication Foundations","doi-asserted-by":"publisher","award":["CNS-0720743CCF-0325603CNS-0615372CNS-0347854"],"award-info":[{"award-number":["CNS-0720743CCF-0325603CNS-0615372CNS-0347854"]}],"id":[{"id":"10.13039\/100000143","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Comput. Syst."],"published-print":{"date-parts":[[2012,2]]},"abstract":"<jats:p>\n            Diagnosing software failures in the field is notoriously difficult, in part due to the fundamental complexity of troubleshooting\n            <jats:italic>any<\/jats:italic>\n            complex software system, but further exacerbated by the paucity of information that is typically available in the production setting. Indeed, for reasons of both overhead and privacy, it is common that only the run-time log generated by a system (e.g., syslog) can be shared with the developers. Unfortunately, the ad-hoc nature of such reports are frequently insufficient for detailed failure diagnosis. This paper seeks to improve this situation within the rubric of existing practice. We describe a tool,\n            <jats:italic>LogEnhancer<\/jats:italic>\n            that automatically \u201cenhances\u201d existing logging code to aid in future post-failure debugging. We evaluate\n            <jats:italic>LogEnhancer<\/jats:italic>\n            on eight large, real-world applications and demonstrate that it can dramatically reduce the set of potential root failure causes that must be considered while imposing negligible overheads.\n          <\/jats:p>","DOI":"10.1145\/2110356.2110360","type":"journal-article","created":{"date-parts":[[2012,3,6]],"date-time":"2012-03-06T13:18:22Z","timestamp":1331039902000},"page":"1-28","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":89,"title":["Improving Software Diagnosability via Log Enhancement"],"prefix":"10.1145","volume":"30","author":[{"given":"Ding","family":"Yuan","sequence":"first","affiliation":[{"name":"University of Illinois at Urbana-Champaign and University of California, San Diego"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jing","family":"Zheng","sequence":"additional","affiliation":[{"name":"University of California, San Diego"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Soyeon","family":"Park","sequence":"additional","affiliation":[{"name":"University of California, San Diego"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Yuanyuan","family":"Zhou","sequence":"additional","affiliation":[{"name":"University of California, San Diego"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Stefan","family":"Savage","sequence":"additional","affiliation":[{"name":"University of California, San Diego"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2012,2]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/945445.945454"},{"key":"e_1_2_1_2_1","volume-title":"Compilers: Principles, Techniques, and Tools","author":"Aho A. V.","year":"2006","unstructured":"Aho , A. V. , Lam , M. S. , Sethi , R. , and Ullman , J. D . 2006 . Compilers: Principles, Techniques, and Tools 2 nd Ed. Addison-Wesley Longman Publishing Co., Inc. , Boston, MA . Aho, A. V., Lam, M. S., Sethi, R., and Ullman, J. D. 2006. Compilers: Principles, Techniques, and Tools 2nd Ed. Addison-Wesley Longman Publishing Co., Inc., Boston, MA.","edition":"2"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/1251535.1251543"},{"key":"e_1_2_1_4_1","unstructured":"Apple. 2004. Apple Inc. CrashReport. Tech. rep. TN2123. Apple. 2004. Apple Inc. CrashReport. Tech. rep. TN2123."},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/1065010.1065035"},{"key":"e_1_2_1_6_1","volume-title":"Proceedings of the 6th Conference on Symposium on Opearting Systems Design and Implementation. USENIX Association","author":"Barham P.","unstructured":"Barham , P. , Donnelly , A. , Isaacs , R. , and Mortier , R . 2004. Using magpie for request extraction and workload modelling . In Proceedings of the 6th Conference on Symposium on Opearting Systems Design and Implementation. USENIX Association , Berkeley, CA, 18--18. Barham, P., Donnelly, A., Isaacs, R., and Mortier, R. 2004. Using magpie for request extraction and workload modelling. In Proceedings of the 6th Conference on Symposium on Opearting Systems Design and Implementation. USENIX Association, Berkeley, CA, 18--18."},{"key":"e_1_2_1_7_1","volume-title":"Proceedings of the 8th USENIX Conference on Operating Systems Design and Implementation (OSDI\u201908)","author":"Bhatia S.","unstructured":"Bhatia , S. , Kumar , A. , Fiuczynski , M. E. , and Peterson , L . 2008. Lightweight, high-resolution monitoring for troubleshooting production systems . In Proceedings of the 8th USENIX Conference on Operating Systems Design and Implementation (OSDI\u201908) . USENIX Association, Berkeley, CA, 103--116. Bhatia, S., Kumar, A., Fiuczynski, M. E., and Peterson, L. 2008. Lightweight, high-resolution monitoring for troubleshooting production systems. In Proceedings of the 8th USENIX Conference on Operating Systems Design and Implementation (OSDI\u201908). USENIX Association, Berkeley, CA, 103--116."},{"key":"e_1_2_1_8_1","volume-title":"Proceedings of the 8th USENIX Conference on Operating Systems Design and Implementation (OSDI\u201908)","author":"Cadar C.","unstructured":"Cadar , C. , Dunbar , D. , and Engler , D . 2008. Klee: Unassisted and automatic generation of high-coverage tests for complex systems programs . In Proceedings of the 8th USENIX Conference on Operating Systems Design and Implementation (OSDI\u201908) . USENIX Association, Berkeley, CA, 209--224. Cadar, C., Dunbar, D., and Engler, D. 2008. Klee: Unassisted and automatic generation of high-coverage tests for complex systems programs. In Proceedings of the 8th USENIX Conference on Operating Systems Design and Implementation (OSDI\u201908). USENIX Association, Berkeley, CA, 209--224."},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/1346281.1346322"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISCA.2008.20"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2009.5070506"},{"key":"e_1_2_1_12_1","unstructured":"Cisco. Cisco system log management. Cisco . Cisco system log management."},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/1095810.1095821"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/1294261.1294274"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/1966445.1966464"},{"key":"e_1_2_1_16_1","unstructured":"Dell. 2008. Streamlined troubleshooting with the Dell system E-Support tool. Dell Power Solutions. Dell . 2008. Streamlined troubleshooting with the Dell system E-Support tool. Dell Power Solutions."},{"key":"e_1_2_1_17_1","unstructured":"Detlefs D. L. Leino K. R. M. Rustan K. Leino M. Nelson G. and Saxe J. B. 1998. Extended static checking. Compac SRC Research rep. 159. Detlefs D. L. Leino K. R. M. Rustan K. Leino M. Nelson G. and Saxe J. B. 1998. Extended static checking. Compac SRC Research rep. 159."},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/1508244.1508255"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/1346256.1346273"},{"key":"e_1_2_1_20_1","unstructured":"DWARF. The DWARF Debugging Format. http:\/\/dwarfstd.org. DWARF. The DWARF Debugging Format. http:\/\/dwarfstd.org."},{"key":"e_1_2_1_21_1","unstructured":"EMC. 2005. EMC seen collecting and managing log as key driver for 94 percent of customers. EMC . 2005. EMC seen collecting and managing log as key driver for 94 percent of customers."},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/945445.945468"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/512529.512558"},{"key":"e_1_2_1_24_1","unstructured":"GCORE. Man page for gcore (Linux section 1). GCORE . Man page for gcore (Linux section 1)."},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/1629575.1629586"},{"key":"e_1_2_1_26_1","unstructured":"GoogleBreakpad. Google Inc. Breakpad. http:\/\/code.google.com\/p\/google-breakpad\/. GoogleBreakpad . Google Inc. Breakpad. http:\/\/code.google.com\/p\/google-breakpad\/."},{"key":"e_1_2_1_27_1","volume-title":"Proceedings of the 8th USENIX Conference on Operating Systems Design and Implementation (OSDI\u201908)","author":"Guo Z.","unstructured":"Guo , Z. , Wang , X. , Tang , J. , Liu , X. , Xu , Z. , Wu , M. , Kaashoek , M. F. , and Zhang , Z . 2008. R2: an application-level kernel for record and replay . In Proceedings of the 8th USENIX Conference on Operating Systems Design and Implementation (OSDI\u201908) . USENIX Association, Berkeley, CA, 193--208. Guo, Z., Wang, X., Tang, J., Liu, X., Xu, Z., Wu, M., Kaashoek, M. F., and Zhang, Z. 2008. R2: an application-level kernel for record and replay. In Proceedings of the 8th USENIX Conference on Operating Systems Design and Implementation (OSDI\u201908). USENIX Association, Berkeley, CA, 193--208."},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/1250734.1250747"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/1181775.1181785"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/1629575.1629582"},{"key":"e_1_2_1_31_1","unstructured":"Kernighan B. W. and Pike R. 1999. The Practice of Programming. Addison-Wesley Longman Publishing Co. Inc. Boston MA. Kernighan B. W. and Pike R. 1999. The Practice of Programming . Addison-Wesley Longman Publishing Co. Inc. Boston MA."},{"key":"e_1_2_1_32_1","volume-title":"Proceedings of the USENIX Annual Technical Conference (ATEC\u201905)","author":"King S. T.","unstructured":"King , S. T. , Dunlap , G. W. , and Chen , P. M . 2005. Debugging operating systems with time-traveling virtual machines . In Proceedings of the USENIX Annual Technical Conference (ATEC\u201905) . USENIX Association, Berkeley, CA, 1--1. King, S. T., Dunlap, G. W., and Chen, P. M. 2005. Debugging operating systems with time-traveling virtual machines. In Proceedings of the USENIX Annual Technical Conference (ATEC\u201905). USENIX Association, Berkeley, CA, 1--1."},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1109\/TC.1987.1676929"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/1736020.1736031"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/1181309.1181314"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/781131.781148"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/1029894.1029907"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISCA.2008.36"},{"key":"e_1_2_1_39_1","unstructured":"Mozilla QFA. Mozilla Quality Feedback Agent. http:\/\/kb.mozillazine.org\/Quality_Feedback_Agent. Mozilla QFA. Mozilla Quality Feedback Agent. http:\/\/kb.mozillazine.org\/Quality_Feedback_Agent."},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/1190216.1190265"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/1133981.1134018"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISCA.2005.16"},{"key":"e_1_2_1_43_1","volume-title":"Proceedings of the 11th International Conference on Compiler Construction (CC\u201902)","author":"Necula G. C.","unstructured":"Necula , G. C. , McPeak , S. , Rahul , S. P. , and Weimer , W . 2002. CIL: Intermediate language and tools for analysis and transformation of c programs . In Proceedings of the 11th International Conference on Compiler Construction (CC\u201902) . Springer-Verlag, Berlin, 213--228. Necula, G. C., McPeak, S., Rahul, S. P., and Weimer, W. 2002. CIL: Intermediate language and tools for analysis and transformation of c programs. In Proceedings of the 11th International Conference on Compiler Construction (CC\u201902). Springer-Verlag, Berlin, 213--228."},{"key":"e_1_2_1_44_1","unstructured":"NetApp. 2007. Proactive health management with auto-support. NetApp white paper. NetApp . 2007. Proactive health management with auto-support. NetApp white paper."},{"key":"e_1_2_1_45_1","unstructured":"NetAppSavecore. NetApp Inc. Savecore. ONTAP 7.3 Manual Page Reference Volume 1 471--472. NetAppSavecore. NetApp Inc. Savecore. ONTAP 7.3 Manual Page Reference Volume 1 471--472."},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/1508244.1508256"},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/1629575.1629593"},{"key":"e_1_2_1_48_1","unstructured":"Schmidt S. 2009. 7 more good tips on logging. http:\/\/codemonkeyism.com\/7-more-good-tips-on-logging\/. Schmidt S. 2009. 7 more good tips on logging. http:\/\/codemonkeyism.com\/7-more-good-tips-on-logging\/."},{"key":"e_1_2_1_49_1","unstructured":"SLOCCount. Sloccount. http:\/\/www.dwheeler.com\/sloccount\/. SLOCCount. Sloccount. http:\/\/www.dwheeler.com\/sloccount\/."},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1145\/1993744.1993757"},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1145\/1294261.1294275"},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/1950365.1950370"},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1145\/1736020.1736051"},{"key":"e_1_2_1_54_1","unstructured":"VMWare. Using the intergrated virtual debugger for visual studio. http:\/\/www.vmware.com\/pdf\/ws65_manual.pdf. VMWare . Using the intergrated virtual debugger for visual studio. http:\/\/www.vmware.com\/pdf\/ws65_manual.pdf."},{"key":"e_1_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1145\/1736020.1736039"},{"key":"e_1_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1145\/859618.859633"},{"key":"e_1_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.1145\/1629575.1629587"},{"key":"e_1_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.1145\/1736020.1736038"},{"key":"e_1_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.1145\/1755913.1755946"},{"key":"e_1_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1145\/1181775.1181786"},{"key":"e_1_2_1_61_1","volume-title":"Proceedings of the International Conference on Compiler Construction.","author":"Zhao Q.","unstructured":"Zhao , Q. , Rabbah , R. , Amarasinghe , S. , Rudolph , L. , and Wong , W . -F. 2008. How to do a million watchpoints: Efficient debugging using dynamic instrumentation . In Proceedings of the International Conference on Compiler Construction. Zhao, Q., Rabbah, R., Amarasinghe, S., Rudolph, L., and Wong, W.-F. 2008. How to do a million watchpoints: Efficient debugging using dynamic instrumentation. In Proceedings of the International Conference on Compiler Construction."}],"container-title":["ACM Transactions on Computer Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2110356.2110360","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2110356.2110360","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T12:23:40Z","timestamp":1750249420000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2110356.2110360"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2012,2]]},"references-count":61,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2012,2]]}},"alternative-id":["10.1145\/2110356.2110360"],"URL":"https:\/\/doi.org\/10.1145\/2110356.2110360","relation":{},"ISSN":["0734-2071","1557-7333"],"issn-type":[{"value":"0734-2071","type":"print"},{"value":"1557-7333","type":"electronic"}],"subject":[],"published":{"date-parts":[[2012,2]]},"assertion":[{"value":"2011-07-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2011-10-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2012-02-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}