A fuzzy-based approach to automated defect identification in distributed software systems and software product lines

Authors

DOI:

https://doi.org/10.20998/2079-0023.2018.21.07

Keywords:

crash reports, automated crash report collection and aggregation, bug localization, fuzzy logic, distributed software systems, software product lines, Mozilla Crash Stats project, Socorro, report management system, bug tracking

Abstract

An approach to the improvement of the efficiency of the bug tracking process in distributed software systems and software product lines via automated identification of duplicate report groups and report groups collected from correlated bugs, combined with bug localization within a software product line is considered. A brief overview of the problem of automated report collection and aggregation is made, several existing software tools and solutions for report management and analysis are reviewed, and basic functionality of a typical report management system is identified. In addition to this, a concept of a report correlation group is introduced and an automated crash report aggregation method based on the rules for comparison of crash signatures, top frames, and frequent closed ordered sub-sets of frames of crash reports is proposed. To evaluate these rules, two separate fuzzy models are built, the first one to calculate the output of the Frequent Closed Ordered Sub-Set Comparison rule, and the second one to interpret and combine the output of all three rules and produce an integrated degree of crash report’s similarity to an existing report correlation group or to another report. A prototype of a report management system with report aggregation capabilities is developed and tested using imported from the publicly available Mozilla Crash Stats project report groups. During the experiment, a precision of 90% and a recall of 81% are achieved. Lastly, an approach to localize the largest identified report groups and represented by them bugs within a concrete software product line based on an information basis consisting of a feature model, a list of software components, and a mapping between features and components is proposed, conclusions are drawn, and goals for the future work are outlined.

References

Sommerville I. Software engineering / Ian Sommerville. – 9th ed. Addison Wesley, 2011. 773 p.

Adrian S., Nicolas B., Rahul P. Do stack Traces Help Developers Fix Bugs? MSR 2010: 7th IEEE Working Conference on Mining Software Repositories, 2010, pp. 118–121.

Kinshumann K., Glerum K., Greenberg S., Aul G. et al. Debugging in the (very) large: ten years of implementation and experience. ACM Communications. New York City, NY, USA, 2011. № 7, vol. 54, pp. 111–116.

Iftekhar A., Nitin M., Carlos J. The Impact of Automatic Crash Reports on Bug Triaging and Development in Mozilla. The 14th International Symposium on Open Collaboration. Berlin, 2014.

Carnegie Mellon University Software Engineering Institute. Software Product Lines. Available at: https://www.sei.cmu.edu/productlines (accessed 11.05.2018).

Asmaa A., Ounsa R., Nissrine S., Camille S. Selecting SPL Modeling Languages: a Practical Guide. The Third World Conference on Complex Systems (WCCS), 2016. Marrakech, Morocco, November 2015.

Tejinder D., Foutse K., Ying Z. Classifying Field Crash Reports for Fixing Bugs: A Case Study of Mozilla Firefox. The 27th IEEE International Conference on Software Maintenance (ICSM). Williamsburg, VA, USA, September 2011.

Graylog. Available at: https://www.graylog.org/overview (accessed 11.05.2018).

Aggregates Plugin for Graylog. Available at: https://marketplace.graylog.org/addons/0d01a899-138a-4f77-a9e7- 04be4cc5e190 (accessed 11.05.2018).

Sentry. Available at: https://sentry.io/for/javascript (accessed 11.05.2018).

Google Play Console. Available at: https://play.google.com/ apps/publish/ (accessed 11.05.2018).

Firebase crash reporting. Available at: https://firebase.google.com/ docs/crash/ (accessed 11.05.2018).

Xcode. Available at: https://developer.apple.com/xcode/ (accessed 11.05.2018).

Firebase Crashlytics. Available at: https://firebase.google.com/ docs/crashlytics/ (accessed 11.05.2018).

Crashlytics reports. Available at: http://try.crashlytics.com/reports/ (accessed 11.05.2018).

Wang S., Khomh F., Zou Y. Improving bug localization using correlations in crash reports. The 10th IEEE Working Conference on Mining Software Repositories. San Francisco, CA, USA, May 2013, pp. 247–256.

Tkachuk M.V., Abbasov T.F. An operating model for dynamic requirements management in agile software development. The ХXV International Scientific and Practical Conference on Information Technologies MicroCAD-2018. Kharkiv, May 2018, p.12.

Downloads

How to Cite

Zinkovskyi, O. I., Gamzayev, R. O., Bollin, A., & Tkachuk, M. V. (2018). A fuzzy-based approach to automated defect identification in distributed software systems and software product lines. Bulletin of National Technical University "KhPI". Series: System Analysis, Control and Information Technologies, (21), 36–42. https://doi.org/10.20998/2079-0023.2018.21.07

Issue

Section

SYSTEM ANALYSIS AND DECISION-MAKING THEORY