Toward Stream Analysis of Software Debugging Data

  • Sarab A. AlMuhaideb
  • Sarah M. AlMuhanna
Conference paper
Part of the Advances in Intelligent Systems and Computing book series (AISC, volume 753)


Data stream mining is considered one of the new generations in data mining. Analyzing big data in a fast and reliable way is essential for identifying program failures and their reasons. Widely used data mining algorithms for this purpose rely on offline data, but the new trend is toward collaborative environments, in which data stream classification can be of high value. In this paper, the properties, characteristics, and requirements of data used in debugging are identified. Then, experiments are conducted, using the Massive Online Analysis Framework for Stream Classification and Clustering (MOA), to specify the most suitable class of data stream classification algorithms in this framework. Results showed that when applying data stream classification algorithms to data streams and data sets having similar characteristics to those expected in software debugging environments, the Hoeffding algorithms group showed notable competence in reference to other data stream classification algorithms. Further, although ensemble-based methods are known to be better performing, they have not shown noteworthy added value in the case of mining debugging software engineering data. Therefore, we recommend applying the Hoeffding algorithms group since it does not require additional cost in terms of time, memory, and model size, which is required when applying the ensemble algorithms group.


Data stream classification Big data Data mining Software engineering Debugging Ensemble algorithms MOA 



We would like to thank the reviewers for their valuable comments that improved the quality of the manuscript.


  1. 1.
    Pressman, R.: Software Engineering: A Practitioner’s Approach, 7th edn. McGraw-Hill, New York (2009)zbMATHGoogle Scholar
  2. 2.
    Halkidi, M., Spinellis, D., Tsatsaronis, G., Vazirgiannis, M.: Data mining in software engineering. Intelligent Data Anal. 15(3), 413–441 (2011)Google Scholar
  3. 3.
    Podgurski, A., Leon, D., Francis, P., Masri, W., Minch, M., Sun J., Wang, B.: Automated support for classifying software failure reports. In: 25th International Proceedings on Software Engineering, pp. 465–475. IEEE, Portland (2003)Google Scholar
  4. 4.
    Francis, P., Leon, D., Minch, M., Podgurski, A.: Tree-based methods for classifying software failures. In: 15th International Symposium on Software Reliability Engineering, pp. 451–462 IEEE, Saint-Malo (2004)Google Scholar
  5. 5.
    Liu, C., Yan, X., Han, J.: Mining control flow abnormality for logic error isolation. In: 6th International Proceedings of SIAM International Conference on Data Mining, pp. 106–117. Society for Industrial and Applied Mathematics, Bethesda (2006)Google Scholar
  6. 6.
    Han, J., Kamber, M., Pei, J.: Data Mining: Concepts and Techniques, 3rd edn. Elsevier, Waltham (2011)zbMATHGoogle Scholar
  7. 7.
    Xie, T., Thummalapenta, S., Lo, D., Liu, C.: Data mining for software engineering. IEEE Comput. 42(8), 35–42 (2009)Google Scholar
  8. 8.
    Stephens, R.: Implementing client-support for collaborative spaces. In: Zemliansky, P., St. Amant, K. (eds.) Handbook of Research on Virtual Workplaces and the New Nature of Business Practices 2008, pp. 582–594, 1st edn. IGI Global, New York (2008)Google Scholar
  9. 9.
    Zeller, A.: Why Programs Fail: A Guide to Systematic Debugging, 2nd edn. Elsevier, Burlington (2009)Google Scholar
  10. 10.
    Liu, C., Yan, X., Yu, H., Han, J., Yu, P.: Mining behavior graphs for “Backtrace” of noncrashing bugs. In: 5th International Proceedings of the SIAM Conference on Data Mining, pp. 286–297. Society for Industrial and Applied Mathematics, Newport Beach (2005)Google Scholar
  11. 11.
    Renieres, M., Reiss, S.: Fault localization with nearest neighbor queries‏. In: 18th International Proceedings of IEEE Conference on Automated Software Engineering, pp. 30–39. IEEE, Montreal (2003)Google Scholar
  12. 12.
    Wong, W., Debroy, V., Golden, R., Xu, X., Thuraisingham, B.: Effective software fault localization using an RBF neural network. IEEE Trans. Reliability 61(1), 149–169 (2012)CrossRefGoogle Scholar
  13. 13.
    Park, B.-J., Oh, S.-K., Pedrycz, W.: The design of polynomial function-based neural network predictors for detection of software defects. Inf. Sci. 229, 40–57 (2013)MathSciNetCrossRefzbMATHGoogle Scholar
  14. 14.
    Zeller, A.: Isolating cause-effect chains from computer programs. In: 10th International Proceedings of ACM SIGSOFT Symposium on Foundations of Software Engineering, pp. 1–10. ACM, Charleston (2002)Google Scholar
  15. 15.
    Zimmermann, T., Zeller, A.: Visualizing memory graphs‏. In: Diehl, S. (ed.) Software Visualization 2002. LNCS, vol. 2269, pp. 191–204. Springer, Heidelberg (2002)Google Scholar
  16. 16.
    Bifet, A., Holmes, G., Pfahringer, B., Kranen, P., Kremer, H., Jansen T., Seidl, T.: MOA: massive online analysis a framework for stream classification and clustering. J. Mach. Learn. Res. (JMLR) 11, 44–50 (2010). Workshop and Conference Proceedings on Applications of Pattern AnalysisGoogle Scholar
  17. 17.
    Domingos, P., Hulten, G.: Mining high-speed data streams. In: 6th International Proceedings of ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, pp. 71–80. ACM, Boston (2000)Google Scholar
  18. 18.
    Bifet, A., Holmes, G., Pfahringer, B., Kirkby, R., Gavaldá, R.: New ensemble methods for evolving data streams. In: 15th International Proceedings of ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, pp. 139–148. ACM, Paris (2009)Google Scholar
  19. 19.
    Bifet, A., Gavaldà, R.: Adaptive learning from evolving data streams. In: Adams, N., Robardet, C., Siebes, A., Boulicaut, J.F. (eds.) Advances in Intelligent Data Analysis VIII 2009. LNCS, vol. 5772, pp. 249–260. Springer, Heidelberg (2009)Google Scholar
  20. 20.
    Pfahringer, B., Holmes, G., Kirkby, R.: New options for Hoeffding trees‏. In: International Proceedings of the Australasian Joint Conference on Artificial Intelligence, pp. 90–99. Springer, Heidelberg (2007)Google Scholar
  21. 21.
    Oza, N., Stuart, R.: Online bagging and boosting. In: 8th International Workshop on Artificial Intelligence and Statistics, pp. 105–112. Morgan Kaufmann, Florida (2001)Google Scholar
  22. 22.
    Gama, J., Kosina, P.: Learning decision rules from data streams. In: 22nd International Proceedings of the Joint Conference on Artificial Intelligence, pp. 1255–1260. AAAI Press, Menlo Park (2011)Google Scholar
  23. 23.
    Quinlan, J.: C4.5: Programs for Machine Learning. 1st edn. Morgan Kaufmann, San Francisco (1993)Google Scholar
  24. 24.
    Agrawal, R., Imielinski, T., Swami, A.: Database mining: a performance perspective. IEEE Trans. Knowl. Data Eng. 5(6), 914–925 (1993)CrossRefGoogle Scholar
  25. 25.
    Hulten, G., Spencer, L., Domingos, P.: Mining time-changing data streams. In: 7th International Proceedings of ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, pp. 97–106. ACM, San Francisco (2001)Google Scholar
  26. 26.
    Breiman, L., Friedman, J., Olshen, R., Stone, C.: Classification and Regression Trees, 1st edn. Wadsworth, Belmont (1984)Google Scholar
  27. 27.
    Street, W., Kim, Y.: A streaming ensemble algorithm (SEA) for large-scale classification. In: 7th International Proceedings of ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, pp. 377–382. ACM, San Francisco (2001)Google Scholar
  28. 28.
    Schlimmer, J., Granger, R.: Incremental learning from noisy data. Mach. Learn. 1(3), 317–354 (1986)Google Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Computer Science DepartmentPrince Sultan UniversityRiyadhSaudi Arabia

Personalised recommendations