=Paper=
{{Paper
|id=Vol-2857/ds_paper2
|storemode=property
|title=Prioritizing Software Requirements by Combining the Usage Monitoring Data with the Feedback Data
|pdfUrl=https://ceur-ws.org/Vol-2857/ds2.pdf
|volume=Vol-2857
|authors=Syed Synnia Tanveer,Zeeshan Ali Rana
|dblpUrl=https://dblp.org/rec/conf/refsq/TanveerR21
}}
==Prioritizing Software Requirements by Combining the Usage Monitoring Data with the Feedback Data==
Prioritizing Software Requirements by Combining the Usage Monitoring Data With Feedback Data Syeda Synnia Tanveer1 1 National University of Computer and Emerging Sciences, Lahore, Pakistan Abstract Two of the fundamental sources of data for requirement gathering for system upgradation are usage monitoring data and feedback data. Work has been done to acquire both individually and collectively. This work aims at validating the existing methods for combining feedback and monitoring data on a large scale and taking it a step further by developing a recommender system for requirement elicitation and prioritization. We have developed prototypes for data gathering agents built in JavaScript and connected to our server through REST APIs so that we don’t affect the original code base of deployed applications. Once done with testing locally we will take it to production and proceed further. Validation will be done on SAKAI learning management system implementations in educational institutions. The software requirements prioritization process will be evaluated before and after applying the recommender system. Causal-comparative/quasi experimental research method will be used to evaluate the system developed. Keywords 1 Software requirements elicitation, Requirements prioritization, Combining the Usage Monitoring Data with the Feedback Data, Correlation analysis of feedback and monitoring data, Recommender System for Software Requirement Prioritization 1. Introduction Software evolves and adapts continually according to the user’s ever-changing requirements. Requirements are elicited from the stakeholders continuously so that their needs concerning the particular software are met [1]. A record is maintained for violations of requirements [2], and a process to take action according to evolving requirements is incorporated [3]. Traditionally the elicitation process includes stakeholder interviews, user workshops, product prototyping. These processes can conveniently be managed in an organizational setting. However, they are challenging to manage in a modern context where a globally distributed audience is using the application. Frequent requirements elicitation and validation is the main challenge [4]. Existing methods of requirements engineering include crowd requirements engineering [12] and automatic classification of apps [13]. An efficient and scalable approach is needed to address this challenge of requirement elicitations from such a remote and diverse audience. Analytical reading of logs and application of data mining processes makes it convenient for the development teams to comprehend user feedback. Monitoring and Feedback data collection frameworks are developed with a goal of continuous improvement in requirement elicitation. Such systems have components related to acquisition and storage of data. Further enhancement is made to these components by incorporating a methodology where monitoring data will further be aggregated using matrices along with runtime feedback in order to enable clustering and grouping of feedback statistics. This improves the quality of information In: F.B. Aydemir, C. Gralha, S. Abualhaija, T. Breaux, M. Daneva, N. Ernst, A. Ferrari, X. Franch, S. Ghanavati, E. Groen, R. Guizzardi, J. Guo, A. Herrmann, J. Horkoff, P. Mennig, E. Paja, A. Perini, N. Seyff, A. Susi, A. Vogelsang (eds.): Joint Proceedings of REFSQ-2021 Workshops, OpenRE, Posters and Tools Track, and Doctoral Symposium, Essen, Germany, 12-04-2021 EMAIL: l175507@lhr.nu.edu.pk © 2020 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0). CEUR Wor Pr ks hop oceedi ngs ht I tp: // ceur - SSN1613- ws .or 0073 g CEUR Workshop Proceedings (CEUR-WS.org) presented to the requirements engineer, enhancing the elicitation process. Furthermore to enhance the prioritization process there is a need to develop a recommender system. 2. Problem Frameworks developed for continuous requirements elicitation through combining both usage monitoring and user feedback have been tested on a limited data where data set was small and fragmented. We want to draw conclusion on quantitative benefits of using the above mentioned approach based on a sizable data set. Components for storing and combining data need to be developed, incorporating advance aggregation and clustering techniques. Based on the results gathered from this clustering and aggregations new requirements should be elicited and prioritized. There is a need for developing a recommender system that prioritizes requirements based on combination of user feedback and monitoring data. 3. Relevance Literature review identifies that internal sources for user feedback, tools should be implemented to automate user feedback processing; third, user feedback to requirements should be related through reference points; requirements validation for user feedback should be enhanced along with establishing developer–user communication [14]. Data driven approach towards requirement engineering has also been presented [15]. Several researchers have advocated the usage of monitoring data alongside feedback data as a way of eliciting new requirements. As an example, in order to facilitate elicitation process there are approaches [5], [6] that use a combination of monitoring and feedback data like examining both user submitted forms and data gathered from logs. The challenge faced in this approach was that the data from those users who didn’t submit a feedback could not be included. So it was hard to provide exact Number of users facing a particular issue. In contrast, a method [7] used logs from entire user base and used data science methods to assess actual user behavior, resulting in more requirements. The authors purposed that monitoring information gathered through this process can be used in combination with feedback leading to a refined and well prioritized requirement set. The implementation of this idea was left for future work. Few solutions exist that use monitoring and feedback data together for other purposes. QoE probe [8] is its example. It’s a mobile app that capitalizes on monitoring and feedback data for verification and validation of requirements. Probe requests feedback from time to time and continuously aligns it with system logs. Usage data is recorded with timestamps. It’s recorded when a feature usage started and how long it ended and how the user interacted with the system. Whenever an interaction is completed user is presented with a dialogue box to provide feedback. This gives a thorough insight about user acceptance level and how much they resonance with user needs. This comprises of feedback and monitoring data but lacks analysis component [8]. MyExperience [9] is a similar tool combining monitoring and feedback data. This system facilitates studies regarding human health as health metrics are populated through IOT devices and directly took feedback about how they felt. The concepts presented in this work haven’t been technically implemented. FAME framework was presented, with an objective to facilitate requirement engineers in collecting and analyzing the monitoring and feedback data together with respect to a software system. User feedback is provided by end users using feedback modules while the real time events are monitored through monitoring agents in the host application that are then sent to a data lake. Data from all sources is combined through ontology. The requirement engineer is presented the combined data used to elicit requirements [10]. In this work data pre-processing and incorporation of data storage and clustering and aggregation of feedback and monitoring data is left as future work. It also lacked grouping of feedback and monitoring data and calculating metrics rather than just recording run time events. An effort has been made to let the system elicit user requirements on its own by using monitors that detect certain situations occurring while system use. On such occurrences a system generated request is sent. Feedback is then correlated to monitoring data at that instant. This was implemented in a smart city project and positive results were achieved by combing real time monitoring with preemptive feedback mechanisms. The techniques implemented showed enhancement in the requirement elicitation process and improved the end-user experience [11]. This paper lacked the statistical significance and the study was specific to IOT systems. A systematic literature review done in 2020 concludes that more machine learning and repository- mining based research for requirement prioritization is needed, there is a need for addressing match between software project contextual settings and methods, it is required to evaluate and compare requirement prioritization methods in real-world [16]. The review of literature done above establishes the interest in eliciting requirements from feedback and monitoring data. Validating the frameworks presented in the literature on a sizable dataset and using advanced techniques for clustering and aggregation is a future work consideration [10] as indicated in the above mentioned literature. A need for a requirement prioritization recommender system that combines user feedback and usage monitoring data is established from literature. 4. Novelty We will be testing the combined effect of utilizing both feedback and monitoring data onto a large real-time user base. We will be taking the data through tools that would not affect the original code base and will work as an extension. We would be developing a recommendation system that prioritizes software requirements gathered through the combination of user feedback and usage monitoring data. 5. Research Method A detailed literature review was done to establish the relevance of research. Search terms used were: user feedback data, usage monitoring, combination of usage monitoring and user feedback data, and recommendation system for requirement prioritization, upon literature review it was established that there is a need for a recommendation system that prioritizes software requirements gathered through the combination of user feedback and usage monitoring data. The validation has to be done in real-time production environment. Following steps will be performed for developing the above mentioned system Step 1: Shortlisting feedback and monitoring metrics Step 2: Collection of feedback and monitoring data Step 3: Preprocessing of feedback and monitoring data Step 4: Clustering and aggregation on feedback and monitoring data Step 5: Eliciting and prioritizing requirements based on the processed data Step 6: Quantitative and qualitative comparison of elicitation process prior and after applying the framework If step 6 is successful, we will perform correlation analysis that includes data reduction and correlation coefficient calculation. Then we will develop a recommender system using correlation based collaborative filtering and similarity score calculations. We should be getting elicited and prioritized requirements as an output. This framework will be validated on SAKAI learning management system implemented in universities. By far we have shortlisted feedback and monitoring metrics. We have developed agents to monitor following metrics: • Active users in a given period • Sessions per active users • Time spent on a feature • Activity abandonment • Activity completion • Crash instances • Bug reporting • Feedback provision Initially these metrics will be applied to evaluate following modules of SAKAI • Announcements portal • Assignments portal • Academic and social alerts • Calendar and scheduling • Feedback Area • Forums • Gradebook Management • Lessons Management • Syllabus Management • Tests & Quizzes Causal-comparative/quasi experimental research method will be used to evaluate the system developed. We will evaluate the requirement prioritization process before and after implementation of the recommender system. We will apply the recommender system to the SAKAI learning management system in three universities in Pakistan. The end users are thousands in number. We will collect data regarding software prioritization before and after implementation of the system from the system developers and we will analyze the data collected through the system. Usage data will be collected before and after taking feedback and monitoring data will be collected to access how usage was effected after prioritization through our recommender system. By far we have developed an understanding around SAKAI architecture and deployment and we have reached a conclusion that we will be adding our agents to the front end of the application on through JavaScript code and will link this code to our server through REST APIs. We have developed the basis for collecting monitoring data. This will give us scalability and the code base of the production application won’t be disturbed. We have developed a prototype of relevant JavaScript code and REST APIs and currently we are in process of integration with different modules of the SAKAI application. Once locally tested we will get these agents installed in production. 6. Progress This project timeline indicates current progress and future plan for this research Start of PhD Research work January 2020 January 2020-January 2021 • Selecting the domain • Background Study & research topic selection • Literature Review- State of the Art • Defining the Problem Statement • Proposing a methodology • Implementation of environment setup for data collection • Synopsis Document February 2021-June 2021 • (Tool Development) • Designing scenarios for data collection • Executing scenarios for data collection • Data Preprocessing July 2021-December 2021 • Formulation of Controlled Experiment • Checking Insights • Results Analysis January 2022-June 2022 • Post validation Survey • Evaluation • Extended Literature Review • Compilation of Thesis • Final Defense 7. References [1] Qureshi, N. A., Perini, A., Bruno, F., Irst, K., Ernst, N. A., & Mylopoulos, J. (2010). Towards a Continuous Requirements Engineering Framework for Self-Adaptive Systems. 9–16. [2] Raimondi, F., Skene, J., & Emmerich, W. (2008). Efficient Online Monitoring of Web-Service SLAs. 170–180. [3] Mens, T., Demeyer, S., Wermelinger, M., & Hirschfeld, R. (2005). Challenges in Software Evolution. [4] Khan, J. A., Liu, L., Wen, L., & Ali, R. (2019). Crowd Intelligence in Requirements Engineering : Current Status and Future Directions (Vol. 1). https://doi.org/10.1007/978-3-030-15538- 4 [5] Pacheco, C., & Garcia, I. (2009, June). Effectiveness of stakeholder identification methods in requirements elicitation: experimental results derived from a methodical review. In 2009 Eighth IEEE/ACIS International Conference on Computer and Information Science (pp. 939-942). IEEE. [6] Hurrell, E., & Smeaton, A. F. (2012). An Examination of User-Focused Context-Gathering Techniques in Recommendation Interfaces. [7] Ghasemi, M., & Amyot, D. (2019). From event logs to goals : a systematic literature review of goal ‑ oriented process mining. Requirements Engineering, (0123456789). https://doi.org/10.1007/s00766-018-00308-3 [8] Fotrousi, F., & Fricker, S. A. (2016). QoE probe: A Requirement-monitoring Tool. In REFSQ Workshops. [9] Froehlich, J., Chen, M. Y., Consolvo, S., Harrison, B., Landay, J. A., Street, S. B., & Mateo, S. (2007). MyExperience : A System for In situ Tracing and Capturing of User Feedback on Mobile Phones. 57–70. [10] Oriol, M., Stade, M., Fotrousi, F., Nadal, S., Varga, J., Seyff, N., & Schmidt, O. (2018, August). FAME: supporting continuous requirements elicitation by combining user feedback and monitoring. In 2018 IEEE 26th International Requirements Engineering Conference (RE) (pp. 217-227). IEEE. [11] Wüest, D., Fotrousi, F., & Fricker, S. (2019, March). Combining monitoring and autonomous feedback requests to elicit actionable knowledge of system use. In International Working Conference on Requirements Engineering: Foundation for Software Quality (pp. 209-225). Springer, Cham. [12] Glinz, M., & Roots, A. T. (2019). CrowdRE : Achievements, Opportunities and Pitfalls. 2019 IEEE 27th International Requirements Engineering Conference Workshops (REW), 172–173 [13] Maalej, W. (2015). Bug Report , Feature Request , or Simply Praise ? On Automatically Classifying App Reviews. 116–125. [14] Johanssen, J. O., Kleebaum, A., Bruegge, B., & Paech, B. (2019). How do Practitioners Capture and Utilize User Feedback during Continuous Software Engineering ? 2019 IEEE 27th International Requirements Engineering Conference (RE), 153–164. [15] Franch, X., Ayala, C., López, L., Martínez-fernández, S., Rodríguez, P., Gómez, C.,Rytivaara, V. (2017). Data-driven Requirements Engineering in Agile Projects : The Q-Rapids Approach. [16] Bukhsh, F. A., Bukhsh, Z. A., & Daneva, M. (2019). A systematic literature review on requirement prioritization techniques and their empirical evaluation. Computer Standards & Interfaces, 103389.