skip to main content
10.1145/3273934.3273936acmotherconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

A Public Unified Bug Dataset for Java

Authors Info & Claims
Published:10 October 2018Publication History

ABSTRACT

Background: Bug datasets have been created and used by many researchers to build bug prediction models.

Aims: In this work we collected existing public bug datasets and unified their contents.

Method: We considered 5 public datasets which adhered to all of our criteria. We also downloaded the corresponding source code for each system in the datasets and performed their source code analysis to obtain a common set of source code metrics. This way we produced a unified bug dataset at class and file level that is suitable for further research (e.g. to be used in the building of new bug prediction models). Furthermore, we compared the metric definitions and values of the different bug datasets.

Results: We found that (i) the same metric abbreviation can have different definitions or metrics calculated in the same way can have different names, (ii) in some cases different tools give different values even if the metric definitions coincide because (iii) one tool works on source code while the other calculates metrics on bytecode, or (iv) in several cases the downloaded source code contained more files which influenced the afferent metric values significantly.

Conclusions: Apart from all these imprecisions, we think that having a common metric set can help in building better bug prediction models and deducing more general conclusions. We made the unified dataset publicly available for everyone. By using a public dataset as an input for different bug prediction related investigations, researchers can make their studies reproducible, thus able to be validated and verified.

References

  1. OpenStaticAnalyzer static code analyzer. https://github.com/sed-inf-u-szeged/OpenStatic Analyzer.Google ScholarGoogle Scholar
  2. SourceMeter static code analyzer. https://www.sourcemeter.com.Google ScholarGoogle Scholar
  3. The promise repository of empirical software engineering data, 2015.Google ScholarGoogle Scholar
  4. Vera Barstad, Morten Goodwin, and Terje Gjøsæter. Predicting source code quality with static analysis and machine learning. In NIK, 2014.Google ScholarGoogle Scholar
  5. Victor R Basili, Lionel C. Briand, and Walcélio L Melo. A validation of object-oriented design metrics as quality indicators. IEEE Transactions on software engineering, 22(10):751--761, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. David Bowes, Tracy Hall, Mark Harman, Yue Jia, Federica Sarro, and Fan Wu. Mutation-aware fault prediction. In Proceedings of the 25th International Symposium on Software Testing and Analysis, pages 330--341. ACM, 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Lionel C. Briand, John W. Daly, and Jurgen K Wust. A unified framework for coupling measurement in object-oriented systems. IEEE Transactions on software Engineering, 25(1):91--121, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Peggy Cellier, Mireille Ducassé, Sébastien Ferré, and Olivier Ridoux. Multiple fault localization with data mining. In SEKE, pages 238--243, 2011.Google ScholarGoogle Scholar
  9. Valentin Dallmeier and Thomas Zimmermann. Automatic extraction of bug localization benchmarks from history. In Proc. IntâĂŹl Conf. on Automated Software Eng, pages 433--436. Citeseer, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Marco D'Ambros, Michele Lanza, and Romain Robbes. An extensive comparison of bug prediction approaches. In 7th Working Conference on Mining Software Repositories (MSR), pages 31--41. IEEE, 2010.Google ScholarGoogle ScholarCross RefCross Ref
  11. Marco DâĂŹAmbros, Michele Lanza, and Romain Robbes. Evaluating defect prediction approaches: a benchmark and an extensive comparison. Empirical Software Engineering, 17(4--5):531--577, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. David Gray, David Bowes, Neil Davey, Y Sun, and Bruce Christianson. Reflections on the nasa mdp data sets. IET software, 6(6):549--558, 2012.Google ScholarGoogle ScholarCross RefCross Ref
  13. Tibor Gyimothy, Rudolf Ferenc, and Istvan Siket. Empirical validation of object-oriented metrics on open source software for fault prediction. IEEE Transactions on Software engineering, 31(10):897--910, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Mark Hall, Eibe Frank, Geoffrey Holmes, Bernhard Pfahringer, Peter Reutemann, and Ian H Witten. The weka data mining software: an update. ACM SIGKDD explorations newsletter, 11(1):10--18, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Tracy Hall, Sarah Beecham, David Bowes, David Gray, and Steve Counsell. A systematic literature review on fault prediction performance in software engineering. IEEE Transactions on Software Engineering, 38(6):1276--1304, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Tracy Hall, Min Zhang, David Bowes, and Yi Sun. Some code smells have a significant but small effect on faults. ACM Transactions on Software Engineering and Methodology (TOSEM), 23(4):33, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Mark Harman, Syed Islam, Yue Jia, Leandro L. Minku, Federica Sarro, and Komsan Srivisut. Less is more: Temporal fault predictive performance over multiple hadoop releases. In Claire Le Goues and Shin Yoo, editors, Search-Based Software Engineering, pages 240--246, Cham, 2014. Springer International Publishing.Google ScholarGoogle Scholar
  18. J Horning, H Lauer, P Melliar-Smith, and Brian Randell. A program structure for error detection and recovery. Operating Systems, pages 171--187, 1974. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Marian Jureczko and Lech Madeyski. Towards identifying software project clusters with regard to defect prediction. In Proceedings of the 6th International Conference on Predictive Models in Software Engineering, page 9. ACM, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Sunghun Kim, Thomas Zimmermann, E James Whitehead Jr, and Andreas Zeller. Predicting faults from cached history. In Proceedings of the 29th international conference on Software Engineering, pages 489--498. IEEE Computer Society, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Rüdiger Lincke, Jonas Lundberg, and Welf Löwe. Comparing software metrics tools. In Proceedings of the 2008 international symposium on Software testing and analysis, pages 131--142. ACM, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Ruchika Malhotra, Shivani Shukla, and Geet Sawhney. Assessment of defect prediction models using machine learning techniques for object-oriented systems. In Reliability, Infocom Technologies and Optimization (Trends and Future Directions)(ICRITO), 2016 5th International Conference on, pages 577--583. IEEE, 2016.Google ScholarGoogle Scholar
  23. Tim Menzies, Jeremy Greenwald, and Art Frank. Data mining static code attributes to learn defect predictors. IEEE transactions on software engineering, 33(1), 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Ayse Tosun Misirli, Ayse Bener, and Resat Kale. Ai-based software defect predictors: Applications and benefits in a case study. AI Magazine, 32(2):57--68. 2011.Google ScholarGoogle ScholarCross RefCross Ref
  25. Raimund Moser, Witold Pedrycz, and Giancarlo Succi. A comparative analysis of the efficiency of change metrics and static code attributes for defect prediction. In Proceedings of the 30th international conference on Software engineering, pages 181--190. ACM, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Nachiappan Nagappan and Thomas Ball. Use of relative code churn measures to predict system defect density. In Software Engineering, 2005. ICSE 2005. Proceedings. 27th International Conference on, pages 284--292. IEEE, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Thomas J Ostrand, Elaine J Weyuker, and Robert M Bell. Predicting the location and number of faults in large software systems. IEEE Transactions on Software Engineering, 31(4):340--355, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Shruthi Puranik, Pranav Deshpande, and K Chandrasekaran. A novel machine learning approach for bug prediction. Procedia Computer Science, 93:924--930, 2016.Google ScholarGoogle ScholarCross RefCross Ref
  29. Brian Randell. System structure for software fault tolerance. IEEE Transactions on Software Engineering, 10(2):220--232, 1975. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Gregorio Robles. Replicating msr: A study of the potential replicability of papers published in the mining software repositories proceedings. In Mining Software Repositories (MSR), 2010 7th IEEE Working Conference on, pages 171--180. IEEE, 2010.Google ScholarGoogle ScholarCross RefCross Ref
  31. Martin Shepperd, Qinbao Song, Zhongbin Sun, and Carolyn Mair. Data quality: Some comments on the nasa software defect datasets. IEEE Transactions on Software Engineering, 39(9):1208--1215, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Thomas Shippey, Tracy Hall, Steve Counsell, and David Bowes. So you need more method level datasets for your software defect prediction?: Voilà! In Proceedings of the 10th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, page 12. ACM, 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Ramanath Subramanyam and Mayuram S. Krishnan. Empirical analysis of ck metrics for object-oriented design complexity: Implications for software defects. IEEE Transactions on software engineering, 29(4):297--310, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Zoltán Tóth, Péter Gyimesi, and Rudolf Ferenc. A public bug database of github projects and its application in bug prediction. In International Conference on Computational Science and Its Applications, pages 625--638. Springer, 2016.Google ScholarGoogle ScholarCross RefCross Ref
  35. Elaine J Weyuker, Robert M Bell, and Thomas J Ostrand. Replicate, replicate, replicate. In Replication in Empirical Software Engineering Research (RESER), 2011 Second International Workshop on, pages 71--77. IEEE, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Elaine J Weyuker, Thomas J Ostrand, and Robert M Bell. Comparing the effectiveness of several modeling methods for fault prediction. Empirical Software Engineering, 15(3):277--295, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. W Eric Wong, Vidroha Debroy, and Dianxiang Xu. Towards better fault localization: A crosstab-based statistical approach. IEEE Transactions on Systems, Man, and Cybernetics, Part C (Applications and Reviews), 42(3):378--396, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. W Eric Wong, Ruizhi Gao, Yihao Li, Rui Abreu, and Franz Wotawa. A survey on software fault localization. IEEE Transactions on Software Engineering, 42(8):707--740, 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Zhiwei Xu, Taghi M Khoshgoftaar, and Edward B Allen. Prediction of software faults using fuzzy nonlinear regression modeling. In High Assurance Systems Engineering, 2000, Fifth IEEE International Symposim on. HASE 2000, pages 281--290. IEEE, 2000.Google ScholarGoogle Scholar
  40. Zhe Yu, Nicholas A Kraft, and Tim Menzies. How to read less: Better machine assisted reading methods for systematic literature reviews. arXiv preprint arXiv:1612.03224, 2016.Google ScholarGoogle Scholar
  41. Thomas Zimmermann, Nachiappan Nagappan, Harald Gall, Emanuel Giger, and Brendan Murphy. Cross-project defect prediction: a large scale experiment on data vs. domain vs. process. In Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering, pages 91--100. ACM, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Thomas Zimmermann, Rahul Premraj, and Andreas Zeller. Predicting defects for eclipse. In Proceedings of the third international workshop on predictor models in software engineering, page 9. IEEE Computer Society, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A Public Unified Bug Dataset for Java

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Other conferences
      PROMISE'18: Proceedings of the 14th International Conference on Predictive Models and Data Analytics in Software Engineering
      October 2018
      97 pages
      ISBN:9781450365932
      DOI:10.1145/3273934

      Copyright © 2018 ACM

      Permission to make digital or hard copies of all or part 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 components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 10 October 2018

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
      • Research
      • Refereed limited

      Acceptance Rates

      Overall Acceptance Rate64of125submissions,51%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader