Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3102980.3103001acmconferencesArticle/Chapter ViewAbstractPublication PageshotosConference Proceedingsconference-collections
research-article
Open access

The Game of Twenty Questions: Do You Know Where to Log?

Published: 07 May 2017 Publication History
  • Get Citation Alerts
  • Abstract

    A production system's printed logs are often the only source of runtime information available for postmortem debugging, performance analysis and profiling, security auditing, and user behavior analytics. Therefore, the quality of this data is critically important. Recent work has attempted to enhance log quality by recording additional variable values, but logging statement placement, i.e., where to place a logging statement, which is the most challenging and fundamental problem for improving log quality, has not been adequately addressed so far. This position paper proposes we automate the placement of logging statements by measuring how much uncertainty, i.e., the expected number of possible execution code paths taken by the software, can be removed by adding a logging statement to a basic block. Guided by ideas from information theory, we describe a simple approach that automates logging statement placement. Preliminary results suggest that our algorithm can effectively cover, and further improve, the existing logging statement placements selected by developers. It can compute an optimal logging statement placement that disambiguates the entire function call path with only 0.218% of slowdown.

    References

    [1]
    M. K. Aguilera, J. C. Mogul, J. L. Wiener, P. Reynolds, and A. Muthitacharoen. Performance Debugging for Distributed Systems of Black Boxes. In Proceedings of the 19th ACM Symposium on Operating Systems Principles, SOSP '03, pages 74--89. ACM, 2003.
    [2]
    P. Barham, A. Donnelly, R. Isaacs, and R. Mortier. Using Magpie for Request Extraction and Workload Modelling. In Proceedings of the 6th Conference on Symposium on Opearting Systems Design & Implementation, OSDI '04, pages 259--272. USENIX Association, 2004.
    [3]
    M. Chow, D. Meisner, J. Flinn, D. Peek, and T. F. Wenisch. The Mystery Machine: End-to-end Performance Analysis of Large-scale Internet Services. In Proceedings of the 11th USENIX Conference on Operating Systems Design and Implementation, OSDI '14, pages 217--231. USENIX Association, 2014.
    [4]
    R. Fonseca, G. Porter, R. H. Katz, S. Shenker, and I. Stoica. X-Trace: A Pervasive Network Tracing Framework. In Proceedings of the 4th USENIX Conference on Networked Systems Design & Implementation, NSDI '07, pages 271--284. USENIX Association, 2007.
    [5]
    Q. Fu, J. Zhu, W. Hu, J.-G. Lou, R. Ding, Q. Lin, D. Zhang, and T. Xie. Where Do Developers Log? An Empirical Study on Logging Practices in Industry. In Companion Proceedings of the 36th International Conference on Software Engineering, ICSE Companion 2014, pages 24--33. ACM, June 2014.
    [6]
    S. Huang, J. Huang, J. Dai, T. Xie, and B. Huang. The HiBench Benchmark Suite: Characterization of the MapReduce-based Data Analysis. In 26th International Conference on Data Engineering Workshops, ICDEW '10, pages 41--51. IEEE Computer Society, 2010.
    [7]
    H. Li, W. Shang, Y. Zou, and A. E. Hassan. Towards Just-in-time Suggestions for Log Changes. Empirical Software Engineering, pages 1--35, October 2016.
    [8]
    C. E. Shannon. A Mathematical Theory of Communication. The Bell System Technical Journal, 27(4):623--656, October 1948.
    [9]
    D. Yuan, S. Park, P. Huang, Y. Liu, M. Lee, Y. Zhou, and S. Savage. Be Conservative: Enhancing Failure Diagnosis with Proactive Logging. In Proceedings of the 10th USENIX Symposium on Operating System Design and Implementation, OSDI '12, pages 293--306. USENIX Association, 2012.
    [10]
    D. Yuan, S. Park, and Y. Zhou. Characterizing Logging Practices in Open-Source Software. In Proceedings of the 34th International Conference on Software Engineering, ICSE '12, pages 102--112. IEEE Press, 2012.
    [11]
    D. Yuan, J. Zheng, S. Park, Y. Zhou, and S. Savage. Improving Software Diagnosability via Log Enhancement. In Proceedings of the 16th International Conference on Architecture Support for Programming Languages and Operating Systems, ASPLOS '11, pages 3--14. ACM, 2011.

    Cited By

    View all
    • (2023)Logging Practices in Software Engineering: A Systematic Mapping StudyIEEE Transactions on Software Engineering10.1109/TSE.2022.316692449:2(902-923)Online publication date: 1-Feb-2023
    • (2023)Auto-Logging: Al-Centred Logging InstrumentationProceedings of the 45th International Conference on Software Engineering: New Ideas and Emerging Results10.1109/ICSE-NIER58687.2023.00023(95-100)Online publication date: 17-May-2023
    • (2022)The sense of logging in the Linux kernelEmpirical Software Engineering10.1007/s10664-022-10136-327:6Online publication date: 1-Nov-2022
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    HotOS '17: Proceedings of the 16th Workshop on Hot Topics in Operating Systems
    May 2017
    185 pages
    ISBN:9781450350686
    DOI:10.1145/3102980
    Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 07 May 2017

    Check for updates

    Qualifiers

    • Research-article
    • Research
    • Refereed limited

    Conference

    HotOS '17
    Sponsor:
    HotOS '17: Workshop on Hot Topics in Operating Systems
    May 7 - 10, 2017
    BC, Whistler, Canada

    Upcoming Conference

    HOTOS '25
    Workshop on Hot Topics in Operating Systems
    May 14 - 16, 2025
    Banff or Lake Louise , AB , Canada

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)80
    • Downloads (Last 6 weeks)11
    Reflects downloads up to 11 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)Logging Practices in Software Engineering: A Systematic Mapping StudyIEEE Transactions on Software Engineering10.1109/TSE.2022.316692449:2(902-923)Online publication date: 1-Feb-2023
    • (2023)Auto-Logging: Al-Centred Logging InstrumentationProceedings of the 45th International Conference on Software Engineering: New Ideas and Emerging Results10.1109/ICSE-NIER58687.2023.00023(95-100)Online publication date: 17-May-2023
    • (2022)The sense of logging in the Linux kernelEmpirical Software Engineering10.1007/s10664-022-10136-327:6Online publication date: 1-Nov-2022
    • (2021)A Survey on Automated Log Analysis for Reliability EngineeringACM Computing Surveys10.1145/346034554:6(1-37)Online publication date: 13-Jul-2021
    • (2021)A Survey of Software Log InstrumentationACM Computing Surveys10.1145/344897654:4(1-34)Online publication date: 3-May-2021
    • (2020)Can You Capture Information As You Intend To? A Case Study on Logging Practice in Industry2020 IEEE International Conference on Software Maintenance and Evolution (ICSME)10.1109/ICSME46990.2020.00012(12-22)Online publication date: Sep-2020
    • (2020)Blockchain structures to guarantee logging integrity of a digital platform to support community-dwelling older adultsCluster Computing10.1007/s10586-020-03084-4Online publication date: 14-Mar-2020
    • (2020)Automatically Generating Descriptive Texts in Logging Statements: How Far Are We?Programming Languages and Systems10.1007/978-3-030-64437-6_13(251-269)Online publication date: 24-Nov-2020
    • (2019)Log4Perf: suggesting and updating logging locations for web-based systems’ performance monitoringEmpirical Software Engineering10.1007/s10664-019-09748-zOnline publication date: 26-Oct-2019
    • (2019)Logging Integrity with Blockchain StructuresAgency, Freedom and Choice10.1007/978-3-030-16187-3_9(83-93)Online publication date: 30-Mar-2019
    • Show More Cited By

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Get Access

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media