An Efficient Bug Reports Assignment for IOT Application with Auto-Tuning Structure of ELM Using Dragonfly Optimizer

Methaq Kadhum, Enas Rawashdeh, Mohammad Alshraideh

Abstract

Managing bug assignments is challenging for projects that receive many bug reports, incredibly open, Web-based software, and applications relating to the IOT. These kinds of software result in many bug reports being received, and usually, it is an open bug repository that is charged with receiving them. Focusing on IOT in particular, once a bug is identified, it must be considered that the bug may very significantly affect the interaction between things and things across the Internet. This issue is made worse because of the increasing scale of IOT systems. A bug triage process attempts to assign each particular bug to the developer best able to provide a fix. Such an attempt means that a list of developers qualified to work on the bug must be constructed. This list should ideally be ranked according to the relative strengths of the developer's expertise. Research in this area primarily focuses on analyzing the bug description and the correlation of the bug's characteristics with each developer's known experience. This paper proposes AutoELM-BUGT as a bug triage method based on ELM classifiers using the Dragonfly algorithm (DA) to tune the ELM structure automatically. We extracted information from the bug reports and preprocessed them in our method, and used feature selection to identify the best features to create a developer rating template in terms of their expertise. Approximately 26,000 bug reports are used to evaluate our method. The experimental results show that the use of feature selection techniques and automatic tuning of ELM structure improves the efficiency of bug triages in recommending the appropriate developer to handle a specific bug report.

 

Keywords: IOT software, developer template, bug report, extreme learning machine, bug assignment.


References


AHSAN S. N., FERZUND J., and WOTAWA F. Automatic software bug triage system (BTS) based on latent semantic indexing and support vector machine. In: Proceedings of 2009 Fourth International Conference on Software Engineering Advances. Washington, D.C.: IEEE Computer Society, 2009: 216–221. https://doi.org/10.1109/ICSEA.2009.92.

ANVIK J. Automating bug report assignment. In: Proceedings of the 28th International Conference on Software Engineering. New York: Association for Computing Machinery, 2006: 937–940. https://doi.org/10.1145/1134285.1134457

ANVIK J. Assisting bug report triage through recommendation. Ph.D. thesis, University of British Columbia, 2007.

ANVIK J., HIEW L., and MURPHY G. C. Coping with an open bug repository. In Proceedings of the 2005 OOPSLA Workshop on Eclipse Technology eXchange. New York: Association for Computing Machinery, 2005: 35–39. https://doi.org/10.1145/1117696.1117704

ANVIK J., HIEW L., and MURPHY G. C. Who should fix this bug? In: Proceedings of the 28th International Conference on Software Engineering. New York: Association for Computing Machinery, 2006: 361–370. https://doi.org/ 10.1145/1134336

ANVIK J. and MURPHY G. C. Reducing the effort of bug report triage: Recommenders for development-oriented decisions. ACM Transactions on Software Engineering and Methodology (TOSEM), 2011, 20(3): 1– 35.

https://doi.org/ 10.1145/2000791.2000794

BAYSAL O., HOLMES R., and GODFREY M. W. Revisiting bug triage and resolution practices. In: Proceedings of 2012 First International Workshop on User Evaluation for Software Engineering Researchers (USER). Washington, D.C.: IEEE Computer Society, 2012: 29–30.

https://doi.org/10.1109/USER.2012.6226578

BHATTACHARYA P. and NEAMTIU I. Fine-grained incremental learning and multi-feature tossing graphs to improve bug triaging. In: Proceedings of 2010 IEEE International Conference on Software Maintenance. Washington, D.C.: IEEE Computer Society, 2010: 1–10.

https://doi.org/ 10.1109/ICSM.2010.5609736

BRIN S. and PAGE L. The anatomy of a large-scale hypertextual web search engine. Computer networks and ISDN systems, 1998, 30(1-7): 107–117. https://doi.org/10.1109/ICCEE.2009.59

CAO K., WANG G., HAN D., NING J., and ZHANG X. Classification of uncertain data streams based on extreme learning machine. Cognitive Computation, 2015, 7(1): 150–160. https://doi.org/10.1007/s12559-014-9279-7

CAO W., WANG X., MING Z., and GAO J. A review on neural networks with random weights. Neurocomputing, 2018, 275: 278–287. https://doi.org/10.1016/j.neucom.2017.08.040

DING S., LI H., SU C., YU J., and JIN F. Evolutionary artificial neural networks: a review. Artificial Intelligence Review, 2013, 39(3): 251–260. https://doi.org/10.1007/s10462-011-9270-6

DUENAS J. C., NAVARRO J. M., ANDION J., CUADRADO F., et al. Applying event stream processing to network online failure prediction. IEEE Communications Magazine, 2018, 56(1): 166–170. https://doi.org/10.1109/MCOM.2018.1601135

FELIX E. A. and LEE S. P. Integrated approach to software defect prediction. IEEE Access, 2017, 5: 21524– 21547. https://doi.org/10.1109/ACCESS.2017.2759180

FERREIRA V. C., CARRANO R. C., SILVA J. O., ALBUQUERQUE C. V., MUCHALUAT-SAADE D. C., and PASSOS D. Fault detection and diagnosis for solar-powered wireless mesh networks using machine learning. In: Proceedings of the 2017 IFIP/IEEE Symposium on Integrated Network and Service Management (IM). Washington, D.C.: IEEE Computer Society, 2017: 456– 462.

https://doi.org/ 10.23919/INM.2017.7987312

FRITZ T., OU J., MURPHY G. C., and MURPHY-HILL E.. A degree-of-knowledge model to capture source code familiarity. In: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering. Vol.1. Washington, D.C.: IEEE Computer Society, 2010: 385–394.

https://doi.org/ 10.1145/1806799.1806856

HUANG G., HUANG G.-B., SONG S., and YOU K.. Trends in extreme learning machines: A review. Neural Networks, 2015, 61: 32–48. https://doi.org/ 10.1016/j.neunet.2014.10.001

HUANG G.-B., ZHU Q.-Y., and SIEW C.-K. Extreme learning machine: a new learning scheme of feedforward neural networks. In: Proceedings of 2004 IEEE International Joint Conference on Neural Networks (IEEE Cat. No. 04CH37541). Vol. 2, Washington, D.C.: IEEE Computer Society, 2004: 985–990. https://doi.org/ 10.1109/IJCNN.2004.1380068

HUANG G.-B., ZHU Q.-Y., and SIEW C.-K. Extreme learning machine: theory and applications. Neurocomputing, 2006, 70(1-3): 489–501. https://doi.org/ 10.1016/j.neucom.2005.12.126

HUDA S., LIU K., ABDELRAZEK M., IBRAHIM A., ALYAHYA S., AL-DOSSARI H., and AHMAD S. An ensemble oversampling model for class imbalance problem in software defect prediction. IEEE Access, 2018, 6: 24184–24195. https://doi.org/ 10.1109/ACCESS.2018.2817572

JEONG G., KIM S., and ZIMMERMANN T. Improving bug triage with bug tossing graphs. In: Proceedings of the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT Symposium on the foundations of software engineering. New York: Association for Computing Machinery, 2009: 111–120. https://doi.org/ 10.1145/1595696.1595715

KIM D., TAO Y., KIM S., and ZELLER A. Where should we fix this bug? A two-phase recommendation model. IEEE Transactions on Software Engineering, 2013, 39(11):1597–1610. https://doi.org/ 10.1109/TSE.2013.24

KLEINBERG J. M. Hubs, authorities, and communities. ACM Computing Surveys (CSUR), 1999, 31(4es): 5– es.

https://doi.org/ 10.1145/345966.345982

LAMKANFI A., DEMEYER S., SOETENS Q. D., and VERDONCK T. Comparing mining algorithms for predicting the severity of a reported bug. In: Proceedings of the 2011 15th European Conference on Software Maintenance and Reengineering, Washington, D.C.: IEEE Computer Society, 2011: 249–258. https://doi.org/ 10.1109/CSMR.2011.31

LIN Z., SHU F., YANG Y., HU C., and WANG Q. An empirical study on bug assignment automation using Chinese bug data. In: Proceedings of 2009 3rd International Symposium on Empirical Software Engineering and Measurement. Washington, D.C.: IEEE Computer Society, 2009: 2011451–2011455. https://doi.org/ 10.1109/ESEM.2009.5315994

MANI S., SANKARAN A., and ARALIKATTE R. DeepTriage: Exploring the effectiveness of deep learning for bug triaging. In: Proceedings of the ACM India Joint International Conference on Data Science and Management of Data, 2019: 171–179. https://doi.org/10.1145/3297001.3297023

MIRJALILI S. Dragonfly algorithm: a new metaheuristic optimization technique for solving single-objective, discrete, and multi-objective problems. Neural Computing and Applications, 2016, 27(4): 1053– 1073.

https://doi.org/ 10.1007/s00521-015-1920-1

MOCKUS A. A quantitative approach to identifying expertise. In: Proceedings of the 24th International Conference on Software Engineering (ICSE'02). New York: Association for Computing Machinery, 2002: 56-62.

https://doi.org/ 10.1109/ICSE.2002.1007994

MURPHY G. and CUBRANIC D. Automatic bug triage using text categorization. In: Proceedings of the Sixteenth International Conference on Software Engineering & Knowledge Engineering (SEKE'2004), Banff, Alberta, Canada, June 20-24, 2004. Washington, D.C.: Citeseer, 2004: 1–6.

http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=0DA4C977D6CF3A7CC74DD08E56C3A74E?doi=10.1.1.91.6144&rep=rep1&type=pdf

NAGUIB H., NARAYAN N., BRÜGGE B., and HELAL D. Bug report assignee recommendation using activity profiles. In: 2013 10th Working Conference on Mining Software Repositories (MSR), Piscataway, New Jersey: IEEE TCSE, 2013: 22–30.

RAWASHDEH E. F., ALJARAH I., and FARIS H. A cooperative co-evolutionary method for optimizing random weight networks and its application for medical classification problems. Journal of Ambient Intelligence and Humanized Computing. 2020, 327: 1–22.

https://doi.org/ 10.1007/978-3-319-11933-5_88

REYNOLDS C. W. Flocks, herds, and schools: A distributed behavioral model. In: Proceedings of the 14th Annual Conference on Computer Graphics and Interactive Techniques. New York: Association for Computing Machinery, 1987: 25–34.

https://doi.org/ 10.1145/37402.37406

SCHÜTZE H., MANNING C. D., and RAGHAVAN P. Introduction to information retrieval. Cambridge: Cambridge University Press, 2008. https://doi.org/10.1017/CBO9780511809071

SETTOUTI N., CHIKH M. A., and BARRA V. A new feature selection approach based on ensemble methods in semi-supervised classification. Pattern Analysis and Applications, 2017, 20(3):673–686. https://doi.org/10.1007/s10044-015-0524-9

SHOKRIPOUR R., ANVIK J., KASIRUN Z. M., and ZAMANI S. Why so complicated? Simple term filtering and weighting for location-based bug report assignment recommendation. In: Proceedings of the 2013 10th Working Conference on Mining Software Repositories (MSR). Washington, D.C.: IEEE Computer Society, 2013: 20132–20111. https://doi.org/ 10.1109/MSR.2013.6623997

TAMRAWI A., NGUYEN T. T., AL-KOFAHI J., and NGUYEN T. N. Fuzzy set-based automatic bug triaging (NIER track). In: Proceedings of the 33rd International Conference on Software Engineering. Washington, D.C.: IEEE Computer Society, 2011: 884–887. https://doi.org/ 10.1145/1985793.1985934

TAN J. S., HO C. K., LIM A., and RAMLY M. Predicting network faults using random forest and c5. 0. International Journal of Engineering Technology, 2018, 7(2): 93–96. https://doi.org/ 10.14419/ijet.v7i2.14.11164

TRAN H. M., LANGE C., CHULKOV G., SCHÖNWÄLDER J., and KOHLHASE M. Applying semantic techniques to search and analyze bug tracking data. Journal of Network and Systems Management, 2009, 17(3): 285–308. https://doi.org/ 10.1007/s10922-009-9134-4

TRAN H. M., and LE S. T. Software bug ontology supporting semantic bug search on peer-to-peer networks. New Generation Computing, 2014, 32(2): 145– 162.

https://doi.org/ 10.3233/978-1-61499-254-7-213

TUCEK J., LU S., HUANG C., XANTHOS S., and ZHOU Y. Triage: diagnosing production run failures at the user's site. ACM SIGOPS Operating Systems Review, 2007, 41(6): 131–144. https://doi.org/ 10.1145/1294261.1294275

VENKATARAMANI R., GUPTA A., ASADULLAH A., MUDDU B., and BHAT V. Discovery of technical expertise from open source code repositories. In: Proceedings of the 22nd International Conference on World Wide Web, New York: Association for Computing Machinery, 2013: 97–98. https://doi.org/ 10.1145/2487788.2487832

WANG T., ZHANG W., WEI J., and ZHONG H. Fault detection for cloud computing systems with correlation analysis. In: Proceedings of the 2015 IFIP/IEEE International Symposium on Integrated Network Management (IM). Washington, D.C.: IEEE Computer Society, 2015: 652–658.

WANG X., ZHANG L., XIE T., ANVIK J., and SUN J. An approach to detecting duplicate bug reports using natural language and execution information. In: Proceedings of the 30th international conference on Software engineering New York: Association for Computing Machinery, 2008: 461–470. https://doi.org/ 10.1145/1368088.1368151

WEISS C., PREMRAJ R., ZIMMERMANN T., and ZELLER A. How long will it take to fix this bug? In: Proceedings of the 4th International Workshop on Mining Software Repositories (MSR'07: ICSE Workshops 2007), Piscataway, New Jersey: Institute of Electrical and Electronics Engineers, 2007: 12–17. https://doi.org/ 10.1109/MSR.2007.13

XUAN J., JIANG H., HU Y., REN Z., ZOU W., LUO Z., and WU X. Towards effective bug triage with software data reduction techniques. IEEE transactions on knowledge and data engineering, 2014, 27(1): 264–280. https://doi.org/ 10.1109/TKDE.2014.2324590

UAN J., JIANG H., REN Z., YAN J., and LUO Z. Automatic bug triage using semi-supervised text classification. arXiv preprint arXiv: 1704.04769, 2017.

YIN Y., DONG X., and XU T. Rapid and efficient bug assignment using elm for IoT software. IEEE Access, 2018, 6: 52713–52724. https://doi.org/ 10.1109/ACCESS.2018.2869306

YU W., LIANG F., HE X., HATCHER W. G., LU C., LIN J., and YANG X. A survey on the edge computing for the Internet of things. IEEE Access, 2017, 6: 6900–6919. https://doi.org/ 10.1109/ACCESS.2017.2778504

YUSOP N. S. M. Understanding usability defect reporting in software defect repositories. In: Proceedings of the ASWEC 2015 24th Australasian Software Engineering Conference. New York: Association for Computing Machinery, 2015: 134–137. https://doi.org/ 10.1145/2811681.2817757

YUSOP N. S. M., GRUNDY J., and VASA R.. Reporting usability defects: a systematic literature review. IEEE Transactions on Software Engineering, 2016, 43(9): 848–867. https://doi.org/ 10.1109/TSE.2016.2638427

ZHANG J., ACKERMAN M. S., and ADAMIC L. Expertise networks in online communities: structure and algorithms. In: Proceedings of the 16th international conference on World Wide Web, New York: Association for Computing Machinery, 2007: 221–230. https://doi.org/ 10.1145/1242572.1242603

ZHANG T., JIANG H., LUO X., and CHAN A. T. A literature review of research in bug resolution: Tasks, challenges, and future directions. The Computer Journal, 2016, 59(5): 741–773. https://doi.org/ 10.1093/comjnl/bxv114

ZHANG T., YANG G., LEE B., and CHAN A. T. Guiding bug triage through developer analysis in bug reports. International Journal of Software Engineering and Knowledge Engineering, 2016, 26(03): 405–431. https://doi.org/ 10.1142/S0218194016500170

ZHANG T., YANG G., LEE B., and LUA E. K. A novel developer ranking algorithm for automatic bug triage using the topic model and developer relations. In: Proceedings of the 2014 21st Asia-Pacific Software Engineering Conference, vol. 1. Piscataway, New Jersey: Institute of Electrical and Electronics Engineers, 2014: 223–230.

https://doi.org/ 10.1109/APSEC.2014.43

ZIMMERMANN T., NAGAPPAN N., GUO P. J., and MURPHY B. Characterizing and predicting which bugs get reopened. In: Proceedings of the 2012 34th International Conference on Software Engineering (ICSE) Piscataway, New Jersey: Institute of Electrical and Electronics Engineers, 2012: 1074–1083. https://doi.org/ 10.1109/ICSE.2012.6227112

BUGZILLA, n.d. https://bugzilla.mozilla.org/

ECLIPSE, n.d. https://bugs.eclipse.org/bugs/

GCC BUGZILLA, n.d. https://gcc.gnu.org/bugzilla/buglist.cgi?

APACHE NETBEANS, 2017-2020. https://netbeans.org/bugzilla/


Refbacks

  • There are currently no refbacks.