Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
133 tokens/sec
GPT-4o
7 tokens/sec
Gemini 2.5 Pro Pro
46 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

Easy over Hard: A Simple Baseline for Test Failures Causes Prediction (2405.02922v1)

Published 5 May 2024 in cs.SE

Abstract: The test failure causes analysis is critical since it determines the subsequent way of handling different types of bugs, which is the prerequisite to get the bugs properly analyzed and fixed. After a test case fails, software testers have to inspect the test execution logs line by line to identify its root cause. However, manual root cause determination is often tedious and time-consuming, which can cost 30-40% of the time needed to fix a problem. Therefore, there is a need for automatically predicting the test failure causes to lighten the burden of software testers. In this paper, we present a simple but hard-to-beat approach, named NCChecker to automatically identify the failure causes for failed test logs. Our approach can help developers efficiently identify the test failure causes, and flag the most probable log lines of indicating the root causes for investigation. Our approach has three main stages: log abstraction, lookup table construction, and failure causes prediction. We first perform log abstraction to parse the unstructured log messages into structured log events. NCChecker then automatically maintains and updates a lookup table via employing our heuristic rules, which record the matching score between different log events and test failure causes. When it comes to the failure cause prediction stage, for a newly generated failed test log, NCChecker can easily infer its failed reason by checking out the associated log events' scores from the lookup table. We have developed a prototype and evaluated our tool on a real-world industrial dataset with more than 10K test logs. The extensive experiments show the promising performance of our model over a set of benchmarks. Moreover, our approach is highly efficient and memory-saving, and can successfully handle the data imbalance problem.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (47)
  1. Failure prediction methodology for improved proactive maintenance using Bayesian approach. IFAC-PapersOnLine 48, 21 (2015), 844–851.
  2. Anunay Amar and Peter C Rigby. 2019. Mining historical test logs to predict bugs and localize faults in the test logs. In 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE). IEEE, 140–151.
  3. Outage prediction and diagnosis for cloud service systems. In The World Wide Web Conference. 2659–2665.
  4. Diagnosing the root-causes of failures from cluster log files. In 2010 International Conference on High Performance Computing. IEEE, 1–10.
  5. Logram: Efficient log parsing using n-gram dictionaries. IEEE Transactions on Software Engineering (2020).
  6. Desh: deep learning for system health prediction of lead times to failure in hpc. In Proceedings of the 27th international symposium on high-performance parallel and distributed computing. 40–51.
  7. Min Du and Feifei Li. 2016. Spell: Streaming parsing of system event logs. In 2016 IEEE 16th International Conference on Data Mining (ICDM). IEEE, 859–864.
  8. A systematic literature review on automated log abstraction techniques. Information and Software Technology 122 (2020), 106276.
  9. Where do developers log? an empirical study on logging practices in industry. In Companion Proceedings of the 36th International Conference on Software Engineering. 24–33.
  10. Technical Q8A Site Answer Recommendation via Question Boosting. ACM Transactions on Software Engineering and Methodology (TOSEM) 30, 1 (2020), 1–34.
  11. I know what you are searching for: Code snippet recommendation from stack overflow posts. ACM Transactions on Software Engineering and Methodology 32, 3 (2023), 1–42.
  12. Logmine: Fast pattern recognition for log analytics. In Proceedings of the 25th ACM International on Conference on Information and Knowledge Management. 1573–1582.
  13. Drain: An online log parsing approach with fixed depth tree. In 2017 IEEE international conference on web services (ICWS). IEEE, 33–40.
  14. A survey on automated log analysis for reliability engineering. ACM Computing Surveys (CSUR) 54, 6 (2021), 1–37.
  15. 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.
  16. Experience report: System log analysis for anomaly detection. In 2016 IEEE 27th international symposium on software reliability engineering (ISSRE). IEEE, 207–218.
  17. Kim Herzig and Nachiappan Nagappan. 2015. Empirically detecting false test alarms using association rules. In 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, Vol. 2. IEEE, 39–48.
  18. What causes my test alarm? Automatic cause analysis for test alarms in system and integration testing. In 2017 IEEE/ACM 39th International Conference on Software Engineering (ICSE). IEEE, 712–723.
  19. Understanding customer problem troubleshooting from storage system logs. In Proccedings of the 7th conference on File and storage technologies. 43–56.
  20. Failure diagnosis of complex systems. In Resilience assessment and evaluation of computing systems. Springer, 239–261.
  21. Data mining-based analysis of HPC center operations. In 2017 IEEE International Conference on Cluster Computing (CLUSTER). IEEE, 766–773.
  22. Are They All Good? Studying Practitioners’ Expectations on the Readability of Log Messages. In 2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE). IEEE, 129–140.
  23. Did we miss something important? studying and exploring variable-aware log abstraction. In 2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE). IEEE, 830–842.
  24. Predicting node failure in cloud service systems. In Proceedings of the 2018 26th ACM joint meeting on European software engineering conference and symposium on the foundations of software engineering. 480–490.
  25. A lightweight algorithm for message type extraction in system application logs. IEEE Transactions on Knowledge and Data Engineering 24, 11 (2011), 1921–1936.
  26. Leonardo Mariani and Fabrizio Pastore. 2008. Automated identification of failure causes in system logs. In 2008 19th International Symposium on Software Reliability Engineering (ISSRE). IEEE, 117–126.
  27. A search-based approach for accurate identification of log message formats. In 2018 IEEE/ACM 26th International Conference on Program Comprehension (ICPC). IEEE, 167–16710.
  28. Toward fine-grained, unsupervised, scalable performance diagnosis for production cloud computing systems. IEEE Transactions on Parallel and Distributed Systems 24, 6 (2013), 1245–1255.
  29. Operational-log analysis for big data systems: Challenges and solutions. IEEE Software 33, 2 (2016), 52–59.
  30. Structured comparative analysis of systems logs to diagnose performance problems. In 9th USENIX Symposium on Networked Systems Design and Implementation (NSDI 12). 353–366.
  31. Data-driven answer selection in community QA systems. IEEE transactions on knowledge and data engineering 29, 6 (2017), 1186–1198.
  32. Advances and challenges in log analysis. Commun. ACM 55, 2 (2012), 55–61.
  33. Industry practices and event logging: Assessment of a critical software development process. In 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, Vol. 2. IEEE, 169–178.
  34. Deep Just-In-Time Defect Localization. IEEE Transactions on Software Engineering (2021).
  35. Critical event prediction for proactive management in large-scale computer clusters. In Proceedings of the ninth ACM SIGKDD international conference on Knowledge discovery and data mining. 426–435.
  36. Assisting developers of big data analytics applications when deploying on hadoop clouds. In 2013 35th International Conference on Software Engineering (ICSE). IEEE, 402–411.
  37. AnswerBot: Automated generation of answer summary to developers’ technical questions. In 2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE). IEEE, 706–716.
  38. Detecting large-scale system problems by mining console logs. In Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles. 117–132.
  39. ACWRecommender: A Tool for Validating Actionable Warnings with Weak Supervision. In 2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE). IEEE, 1876–1880.
  40. Federated Learning for Software Engineering: A Case Study of Code Clone Detection and Defect Prediction. IEEE Transactions on Software Engineering (2024).
  41. Comprehending performance from real-world execution traces: A device-driver case. In Proceedings of the 19th international conference on architectural support for programming languages and operating systems. 193–206.
  42. Improving software diagnosability via log enhancement. ACM Transactions on Computer Systems (TOCS) 30, 1 (2012), 1–28.
  43. Log filtering and interpretation for root cause analysis. In 2010 IEEE International Conference on Software Maintenance. IEEE, 1–5.
  44. The inflection point hypothesis: a principled debugging approach for locating the root cause of a failure. In Proceedings of the 27th ACM Symposium on Operating Systems Principles. 131–146.
  45. Fault analysis and debugging of microservice systems: Industrial survey, benchmark system, and empirical study. IEEE Transactions on Software Engineering 47, 2 (2018), 243–260.
  46. Latent error prediction and fault localization for microservice applications by learning from system trace logs. In Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. 683–694.
  47. Tools and benchmarks for automated log parsing. In 2019 IEEE/ACM 41st International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP). IEEE, 121–130.

Summary

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

X Twitter Logo Streamline Icon: https://streamlinehq.com