Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
129 tokens/sec
GPT-4o
28 tokens/sec
Gemini 2.5 Pro Pro
42 tokens/sec
o3 Pro
4 tokens/sec
GPT-4.1 Pro
38 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

Face It Yourselves: An LLM-Based Two-Stage Strategy to Localize Configuration Errors via Logs (2404.00640v2)

Published 31 Mar 2024 in cs.SE and cs.LG

Abstract: Configurable software systems are prone to configuration errors, resulting in significant losses to companies. However, diagnosing these errors is challenging due to the vast and complex configuration space. These errors pose significant challenges for both experienced maintainers and new end-users, particularly those without access to the source code of the software systems. Given that logs are easily accessible to most end-users, we conduct a preliminary study to outline the challenges and opportunities of utilizing logs in localizing configuration errors. Based on the insights gained from the preliminary study, we propose an LLM-based two-stage strategy for end-users to localize the root-cause configuration properties based on logs. We further implement a tool, LogConfigLocalizer, aligned with the design of the aforementioned strategy, hoping to assist end-users in coping with configuration errors through log analysis. To the best of our knowledge, this is the first work to localize the root-cause configuration properties for end-users based on LLMs~(LLMs) and logs. We evaluate the proposed strategy on Hadoop by LogConfigLocalizer and prove its efficiency with an average accuracy as high as 99.91%. Additionally, we also demonstrate the effectiveness and necessity of different phases of the methodology by comparing it with two other variants and a baseline tool. Moreover, we validate the proposed methodology through a practical case study to demonstrate its effectiveness and feasibility.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (60)
  1. Mona Attariyan and Jason Flinn. 2010. Automating configuration troubleshooting with dynamic information flow analysis. In 9th USENIX Symposium on Operating Systems Design and Implementation (OSDI 10).
  2. Empowering Practical Root Cause Analysis by Large Language Models for Cloud Incidents. arXiv preprint arXiv:2305.15778 (2023).
  3. Event logs for the analysis of software failures: A rule-based approach. IEEE Transactions on Software Engineering 39, 6 (2012), 806–821.
  4. Orplocator: Identifying read points of configuration options via static analysis. In 2016 IEEE 27th International Symposium on Software Reliability Engineering (ISSRE). IEEE, 185–195.
  5. Deeplog: Anomaly detection and diagnosis from system logs through deep learning. In Proceedings of the 2017 ACM SIGSAC conference on computer and communications security. 1285–1298.
  6. Execution Anomaly Detection in Distributed Systems through Unstructured Log Analysis. In 2009 Ninth IEEE International Conference on Data Mining. 149–158. https://doi.org/10.1109/ICDM.2009.60
  7. GPT-4. 2023. gpt-4. https://openai.com/gpt-4. Accessed: 2023-11-23.
  8. Apache Hadoop. 2023. Apache Hadoop. https://hadoop.apache.org/. Accessed: 2023-11-23.
  9. Drain: An Online Log Parsing Approach with Fixed Depth Tree. In 2017 IEEE International Conference on Web Services (ICWS). 33–40. https://doi.org/10.1109/ICWS.2017.13
  10. A survey on automated log analysis for reliability engineering. ACM computing surveys (CSUR) 54, 6 (2021), 1–37.
  11. Identifying impactful service system problems via log analysis. In Proceedings of the 2018 26th ACM joint meeting on European software engineering conference and symposium on the foundations of software engineering. 60–70.
  12. The HiBench benchmark suite: Characterization of the MapReduce-based data analysis. In 2010 IEEE 26th International Conference on Data Engineering Workshops (ICDEW 2010). 41–51. https://doi.org/10.1109/ICDEW.2010.5452747
  13. EvLog: Identifying Anomalous Logs over Software Evolution. In 2023 IEEE 34th International Symposium on Software Reliability Engineering (ISSRE). IEEE, 391–402.
  14. Autolog: A log sequence synthesis framework for anomaly detection. In 2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE). IEEE, 497–509.
  15. Semparser: A semantic parser for log analytics. In 2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE). IEEE, 881–893.
  16. LogVm: Variable Semantics Miner for Log Messages. In 2022 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW). IEEE, 124–125.
  17. LLMParser: A LLM-based Log Parsing Framework. arXiv preprint arXiv:2310.01796 (2023).
  18. Jira. 2023. Jira. https://www.atlassian.com/software/jira. Accessed: 2023-11-23.
  19. A Preliminary Evaluation of LLM-Based Fault Localization. arXiv preprint arXiv:2308.05487 (2023).
  20. ConfErr: A tool for assessing resilience to human configuration errors. In 2008 IEEE International Conference on Dependable Systems and Networks With FTCS and DCC (DSN). 157–166. https://doi.org/10.1109/DSN.2008.4630084
  21. Van-Hoang Le and Hongyu Zhang. 2021. Log-based Anomaly Detection Without Log Parsing. In 2021 36th IEEE/ACM International Conference on Automated Software Engineering (ASE). 492–504. https://doi.org/10.1109/ASE51524.2021.9678773
  22. Van-Hoang Le and Hongyu Zhang. 2023. Log Parsing: How Far Can ChatGPT Go?. In 2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE). IEEE Computer Society, 1699–1704.
  23. ECFuzz: Effective Configuration Fuzzing for Large-Scale Systems. In Proceedings of the 46th IEEE/ACM International Conference on Software Engineering. 1–12.
  24. Challenges and Opportunities: An in-Depth Empirical Study on Configuration Error Injection Testing. In Proceedings of the 30th ACM SIGSOFT International Symposium on Software Testing and Analysis (Virtual, Denmark) (ISSTA 2021). Association for Computing Machinery, New York, NY, USA, 478–490. https://doi.org/10.1145/3460319.3464799
  25. SwissLog: Robust and Unified Deep Learning Based Log Anomaly Detection for Diverse Faults. In 2020 IEEE 31st International Symposium on Software Reliability Engineering (ISSRE). 92–103. https://doi.org/10.1109/ISSRE5003.2020.00018
  26. Exploring the effectiveness of llms in automated logging generation: An empirical study. arXiv preprint arXiv:2307.05950 (2023).
  27. Go Static: Contextualized Logging Statement Generation. arXiv preprint arXiv:2402.12958 (2024).
  28. CRSExtractor: Automated configuration option read sites extraction towards IoT cloud infrastructure. Heliyon 9, 4 (2023).
  29. Stack Overflow. 2023. Stack Overflow. https://stackoverflow.com/. Accessed: 2023-11-23.
  30. OWASP. 2021. A05:2021 – Security Misconfiguration. https://owasp.org/Top10/A05_2021-Security_Misconfiguration/ Accessed: November 23, 2023.
  31. OWASP. 2022. OWASP Top 10 Vulnerabilities in 2022. https://www.spiceworks.com/it-security/vulnerability-management/articles/owasp-top-ten-vulnerabilities/#_001 Accessed: November 23, 2023.
  32. JQF: Coverage-Guided Property-Based Testing in Java. In Proceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and Analysis (Beijing, China) (ISSTA 2019). Association for Computing Machinery, New York, NY, USA, 398–401. https://doi.org/10.1145/3293882.3339002
  33. Generative Type Inference for Python. arXiv preprint arXiv:2307.09163 (2023).
  34. The Open Web Application Security Project. 2023. The Open Web Application Security Project. https://owasp.org/. Accessed: 2023-11-23.
  35. Ariel Rabkin and Randy Katz. 2011. Static extraction of program configuration options. In Proceedings of the 33rd International Conference on Software Engineering. 131–140.
  36. CircleID Reporter. 2009. Misconfiguration Brings Down Entire .SE Domain in Sweden. https://circleid.com/posts/misconfiguration_brings_down_entire_se_domain_in_sweden/ Accessed: November 23, 2023.
  37. MisconfDoctor: diagnosing misconfiguration via log-based configuration testing. In 2018 IEEE International Conference on Software Quality, Reliability and Security (QRS). IEEE, 1–12.
  38. Universal fuzzing via large language models. arXiv preprint arXiv:2308.04748 (2023).
  39. Automated Configuration Bug Report Prediction Using Text Mining. In 2014 IEEE 38th Annual Computer Software and Applications Conference. 107–116. https://doi.org/10.1109/COMPSAC.2014.17
  40. EFSPredictor: Predicting Configuration Bugs with Ensemble Feature Selection. In 2015 Asia-Pacific Software Engineering Conference (APSEC). 206–213. https://doi.org/10.1109/APSEC.2015.38
  41. Real-Time Diagnosis of Configuration Errors for Software of AI Server Infrastructure. IEEE Transactions on Dependable and Secure Computing (2023).
  42. UniLog: Automatic Logging via LLM and In-Context Learning. In 2024 IEEE/ACM 46th International Conference on Software Engineering (ICSE). IEEE Computer Society, 129–140.
  43. DivLog: Log Parsing with Prompt Enhanced In-Context Learning. In 2024 IEEE/ACM 46th International Conference on Software Engineering (ICSE). IEEE Computer Society, 983–983.
  44. Hey, you have given me too many knobs!: Understanding and dealing with over-designed configuration in system software. In Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering. 307–319.
  45. Early detection of configuration errors to reduce failure damage. In 12th USENIX Symposium on Operating Systems Design and Implementation (OSDI 16). 619–634.
  46. Do not blame users for misconfigurations. In Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles. 244–259.
  47. Tianyin Xu and Yuanyuan Zhou. 2015. Systems approaches to tackling configuration errors: A survey. ACM Computing Surveys (CSUR) 47, 4 (2015), 1–41.
  48. nLSALog: An Anomaly Detection Framework for Log Sequence in Security Management. IEEE Access 7 (2019), 181152–181164. https://doi.org/10.1109/ACCESS.2019.2953981
  49. An empirical study on configuration errors in commercial and open source systems. In Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles. 159–172.
  50. Log Parsing with Generalization Ability under New Log Types. In Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering. 425–437.
  51. Automated known problem diagnosis with event traces. ACM SIGOPS Operating Systems Review 40, 4 (2006), 375–388.
  52. Sherlog: error diagnosis by connecting clues from run-time logs. In Proceedings of the fifteenth International Conference on Architectural support for programming languages and operating systems. 143–154.
  53. Improving software diagnosability via log enhancement. ACM Transactions on Computer Systems (TOCS) 30, 1 (2012), 1–28.
  54. Sai Zhang and Michael D Ernst. 2013. Automated diagnosis of software configuration errors. In 2013 35th International Conference on Software Engineering (ICSE). IEEE, 312–321.
  55. Sai Zhang and Michael D Ernst. 2014. Which configuration option should I change?. In Proceedings of the 36th international conference on software engineering. 152–163.
  56. Sai Zhang and Michael D Ernst. 2015. Proactive detection of inadequate diagnostic messages for software configuration errors. In Proceedings of the 2015 International Symposium on Software Testing and Analysis. 12–23.
  57. Robust log-based anomaly detection on unstable log data. In Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. 807–817.
  58. Fuzzing configurations of program options. ACM Transactions on Software Engineering and Methodology 32, 2 (2023), 1–21.
  59. Confinlog: Leveraging software logs to infer configuration constraints. In 2021 IEEE/ACM 29th International Conference on Program Comprehension (ICPC). IEEE, 94–105.
  60. Loghub: A large collection of system log datasets for ai-driven log analytics. In 2023 IEEE 34th International Symposium on Software Reliability Engineering (ISSRE). IEEE, 355–366.
Citations (9)

Summary

We haven't generated a summary for this paper yet.