انتساب خطاهای شناسایی شده در نظرات کاربران در مورد برنامکهای همراه به توسعهدهندگان
محورهای موضوعی : مهندسی برق و کامپیوترمریم یونسی 1 , عباس حیدرنوری 2 * , فاطمه قنادی 3
1 - دانشگاه صنعتی شریف
2 - دانشگاه واترلو کانادا
3 - دانشگاه صنعتي شريف
کلید واژه: انتساب خطانگهداری نرمافزاریادگیری ماشیننظرات کاربران,
چکیده مقاله :
نظراتی که کاربران در فروشگاههای برنامکهای همراه مینویسند و خطای برنامکها را گزارش میکنند، میتواند در بهبود کیفیت نرمافزارها تأثیر بهسزایی داشته باشد. بنابراین در این پژوهش رویکردی بر اساس نظرات کاربران برای انتساب خطای برنامه به توسعهدهندگان برنامکها بیان خواهد شد. این رویکرد با استفاده از دادههای کامیتهای برنامه تاریخچهای از عملکرد توسعهدهندگان به دست میآورد و همچنین با استفاده از ایراداتی که توسعهدهندگان از قبل در برنامه رفع کردهاند در مورد سوابق آنها در رفع خطاهای برنامه اطلاعاتی کسب میکند. سپس با استفاده از ترکیب این دو معیار به هر توسعهدهنده آن نرمافزار برای رسیدگی به هر نظر امتیازی اختصاص میدهد تا فهرستی از توسعهدهندگان ارائه کند که به ترتیب اولویت برای رسیدگی به نظر مناسب هستند. ارزیابی این پژوهش از جنبههای مختلف در نهایت نشان میدهد که روش پیشنهادی با دقت ۷۴% قادر به شناخت توسعهدهنده مناسب برای رسیدگی به نظرات خواهد بود. هدف این پژوهش یک موضوع جدید است که پژوهش دیگری حول آن انجام نگرفته و صرفاً باقی پژوهشها راجع به دستهبندی نظرات کاربران بودهاند. بنابراین دقت ارزیابی این پژوهش نشان میدهد که انتساب اتوماتیک خطاهایی که در نظرات کاربران ذکر شدهاند میتواند مفید واقع شود تا فرایند شناسایی و حل خطا بهبود یابد.
Increasing the popularity of smart phones and the great ovation of users of mobile apps has turned the app stores to massive software repositories. Therefore, using these repositories can be useful for improving the quality of the program. Since the bridge between users and developers of mobile apps is the comments that users write in app stores, special attention to these comments from developers can make a dramatic improvement in the final quality of mobile apps. Hence, in recent years, numerous studies have been conducted around the topic of opinion mining, whose intention was to extract and exert important information from user's reviews. One of the shortcomings of these studies is the inability to use the information contained in user comments to expedite and improve the process of fixing the software error. Hence, this paper provides an approach based on users’ feedback for assigning program bugs to developers. This approach builds on the history of a program using its commit data, as well as developers' ability in fixing a program’s errors using the bugs that developers have already resolved in the app. Then, by combining these two criteria, each developer will get a score for her appropriation for considering each review. Next, a list of developers who are appropriate for each bug are provided. The evaluations show that the proposed method would be able to identify the right developer to address the comments with a precision of 74%.
[1] L. Villarroel, G. Bavota, B. Russo, R. Oliveto, and M. Di Penta, "Release planning of mobile apps based on user reviews," in Proc. of the 38th Int. Conf. on Software Engineering, ICSE'16, pp. 14-24, Austin, TX, USA, 14-22 May 2016.
[2] F. Palomba, et al., "User reviews matter! tracking crowdsourced reviews to support evolution of successful apps," in Proc. of the 31st IEEE Int. Conf. on Software Maintenance and Evolution, ICSME'15, pp. 291-300, Bremen, Germany, 29 Sept.-1 Oct. 2015.
[3] A. Ciurumelea, A. Schaufelbuhl, S. Panichella, and H. C. Gall, "Analyzing reviews and code of mobile apps for better release planning," in Proc. IEEE 24th Int. Conf. on Software Analysis, Evolution and Reengineering, SANER'17, pp. 91-102, Klagenfurt, Austria, 20-24 Feb. 2017.
[4] A. Di Sorbo, S. Panichella, C. V. Alexandru, C. A. Visaggio, and G. Canfora, "SURF: summarizer of user reviews feedback," in IEEE/ACM 39th Int. Conf. on Software Engineering Companion, ICSE-C'17, pp. 55-58, Buenos Aires, Argentina, 20-28 May 2017.
[5] S. Scalabrino, et al., "Listening to the crowd for the release planning of mobile apps," Trans. on Software Engineering, vol. 45, no. 1, pp. 1-19, Jan. 2017.
[6] S. Panichella, et al., "ARdoc: app reviews development oriented classifier," in Proc. 24th ACM SIGSOFT Int. Symp. Found. Softw. Eng., pp. 1023-1027, Seattle, WA, USA, 15-17 Nov. 2016.
[7] N. Chen, J. Lin, S. C. H. Hoi, X. Xiao, and B. Zhang, "AR-miner: mining informative reviews for developers from mobile app marketplace," in Proc. of the 36th Int. Conf. on Software Engineering, ICSE'14, pp. 767-778, Hyderabad, India, 31 May-7 Jun. 2014.
[8] C. Gao, J. Zeng, M. R. Lyu, and I. King, "Online app review analysis for identifying emerging issues," in Proc. 40th Int. Conf. on Software Engineering, ICSE'18, pp. 48-58, Gothenburg, Sweden, 27 May-3 Jun. 2018.
[9] C. Gao, et al., "Emerging app issue identification from user feedback: experience on WeChat," in Proc. IEEE-ACM 41st Int. Conf. Softw. Eng.: Softw. Eng. In Pract., pp. 279-288, Montreal, QC, Canada,, 25-31 May 2019.
[10] T. T. Nguyen, A. T. Nguyen, and T. N. Nguyen, "Topic-based, time-aware bug assignment," ACM SIGSOFT Softw. Eng. Notes, vol. 39, no. 1, pp. 1-4, Feb. 2014.
[11] J. Park, M. Lee, J. Kim, S. Hwang, and S. Kim, "CosTriage: a cost-aware triage algorithm for bug reporting systems," in Proc. of the 25th Int. Conf. on Artificial Intelligence, AAAI'11, pp. 139-144, San Francisco, CA, USA, 7-11 Aug. 2011.
[12] R. Shokripour, J. Anvik, Z. M. Kasirun, and S. Zamani, "Why so complicated? simple term filtering and weighting for location-based bug report assignment recommendation," in Proc. of the 10th Working Conf. on Mining Software Repositories, MSR'13, pp. 2-11, Hyderabad, India, 31 May-7 Jun. 2014.
[13] F. Servant and J. A. Jones, "WhoseFault: automatic developer-to-fault assignment through fault localization," in Proc. of the 34th Int. Conf. on Software Engineering, ICSE'12, pp. 36-46, Zurich, Switzerland, 2-9 Jun. 2012.
[14] M. Linares-Vasquez, et al., "Triaging incoming change requests: bug or commit history, or code authorship?," in Proc. of the 28th IEEE Int. Conf. on Software Maintenance, ICSM'12, pp. 451-460, Trento, Italy, 23-28 Sept. 2012.
[15] H. Naguib, N. Narayan, B. Br, and D. Helal, "Bug report assignee recommendation using activity profiles," in Proc. of the 10th Working Conf. on Mining Software Repositories, MSR'13, pp. 22-30, San Francisco,, CA, USA, 18-19 May 2013.
[16] H. Hu, H. Zhang, J. Xuan, and W. Sun, "Effective bug triage based on historical bug-fix information," in Proc. of the 25th IEEE Int. Symp. on Software Reliability Engineering, ISSRE'14, pp. 122-132, Naples, Italy, 3-6 Nov. 2014.
[17] O. Baysal, M. W. Godfrey, and R. Cohen, "A bug you like: a framework for automated assignment of bugs," in Proc. of the 17th IEEE Int. Conf. on Program Comprehension, ICPC'09, pp. 297-298, Vancouver, BC, Canada, 17-19 May 2009.
[18] A. Yadav, S. K. Singh, and J. S. Suri, "Ranking of software developers based on expertise score for bug triaging," Inf. Softw. Technol., vol. 112, pp. 1-17, Aug. 2019.
[19] R. Shokripour, J. Anvik, Z. M. Kasirun, and S. Zamani, "A time-based approach to automatic bug report assignment," J. Syst. Softw., vol. 102, pp. 109-122, Apr. 2015.
[20] X. Xia, D. Lo, X. Wang, and B. Zhou, "Accurate developer recommendation for bug resolution," in Proc. of the 20th Working Conf. on Reverse Engineering, WCRE'13, pp. 72-81, Koblenz, Germany, 14-17 Oct. 2013.
[21] R. Wu, H. Zhang, S. Kim, and S. C. Cheung, "ReLink: recovering links between bugs and changes," in Proc. of the 19th ACM Int. Symp. on the Foundations of Software Engineering, FSE'11, pp. 15-25, Szeged, Hungary, 5-9 Sept. 2011.
[22] J. Sliwerski, T. Zimmermann, and A. Zeller, "When do changes induce fixes?," ACM SIGSOFT Softw. Eng. Notes, vol. 30, no. 4, pp. 1-5, Jul. 2005.
[23] A. T. Nguyen, T. T. Nguyen, H. A. Nguyen, and T. N. Nguyen, "Multi-layered approach for recovering links between bug reports and fixes," in Proc. of the 20th ACM Int. Symp. on the Foundations of Software Engineering, FSE'12, 11pp., Washington, DC, USA, 19-21 Mar. 2012.
[24] M. Linares-Vasquez, D. Lo, T. B. Le, and M. Linares-v, "RCLinker: Automated Linking of Issue Reports and Commits Leveraging Rich Contextual Information," in Proc. IEEE 23rd Int. Conf. on Program Comprehension, 12 pp., Florence, Italy, 18-19 May, 2015.
[25] M. Linares-Vasquez, L. F. Cortes-Coy, J. Aponte, and D. Poshyvanyk, "ChangeScribe: a tool for automatically generating commit messages," in Proc. of the 37th IEEE/ACM Int. Conf. on Software Engineering, ICSE'15, pp. 709-712, Firenze, Italy, 16-24 Mar. 2015.
[26] Y. Sun, Q. Wang, and M. Li, "Understanding the contribution of non-source documents in improving missing link recovery," in Proc. of the 10th ACM/IEEE Int. Symp. on Empirical Software Engineering and Measurement, ESEM'16, 10 pp., Ciudad Real Spain, 8-9 Sept. 2016.
[27] Y. Sun, Q. Wang, and Y. Yang, "FRLink: improving the recovery of missing issue-commit links by revisiting file relevance," Inf. Softw. Technol., vol. 84, pp. 33-47, Apr. 2017.
[28] T. D. B. Le, M. Linares-Vasquez, D. Lo, and D. Poshyvanyk, "RCLinker: automated linking of issue reports and commits leveraging rich contextual information," in Proc. of the 23rd IEEE Int. Conf. on Program Comprehension, ICPC'15, pp. 36-47, Florence, Italy, 18-19 May 2015.