<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>Workshops, OpenRE, Posters and Tools Track, and Doctoral Symposium, Essen, Germany</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Prioritizing Software Requirements by Combining the Usage Monitoring Data With Feedback Data</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Syeda Synnia Tanveer</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>National University of Computer and Emerging Sciences</institution>
          ,
          <addr-line>Lahore</addr-line>
          ,
          <country country="PK">Pakistan</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2020</year>
      </pub-date>
      <volume>1</volume>
      <fpage>2</fpage>
      <lpage>04</lpage>
      <abstract>
        <p>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.</p>
      </abstract>
      <kwd-group>
        <kwd>1 Software requirements elicitation</kwd>
        <kwd>Requirements prioritization</kwd>
        <kwd>Combining the Usage Monitoring Data with the Feedback Data</kwd>
        <kwd>Correlation analysis of feedback and monitoring data</kwd>
        <kwd>Recommender System for Software Requirement Prioritization</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        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 [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. A record is maintained for violations of requirements [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], and a process
to take action according to evolving requirements is incorporated [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. 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 [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. 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.
      </p>
      <p>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
presented to the requirements engineer, enhancing the elicitation process. Furthermore to enhance the
prioritization process there is a need to develop a recommender system.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Problem</title>
      <p>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.</p>
      <sec id="sec-2-1">
        <title>3. Relevance</title>
        <p>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].</p>
        <p>
          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 [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ], [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] 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.
        </p>
        <p>
          In contrast, a method [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] 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.
        </p>
        <p>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.</p>
        <p>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].</p>
        <p>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.</p>
        <p>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.</p>
        <p>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.</p>
        <p>A systematic literature review done in 2020 concludes that more machine learning and
repositorymining 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].</p>
        <p>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.</p>
        <p>A need for a requirement prioritization recommender system that combines user feedback and usage
monitoring data is established from literature.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>4. Novelty</title>
      <p>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.</p>
      <sec id="sec-3-1">
        <title>5. Research Method</title>
        <p>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.</p>
        <p>Following steps will be performed for developing the above mentioned system</p>
        <sec id="sec-3-1-1">
          <title>Step 1: Shortlisting feedback and monitoring metrics</title>
        </sec>
        <sec id="sec-3-1-2">
          <title>Step 2: Collection of feedback and monitoring data</title>
        </sec>
        <sec id="sec-3-1-3">
          <title>Step 3: Preprocessing of feedback and monitoring data</title>
          <p>Step 4: Clustering and aggregation on feedback and monitoring data
Step 5: Eliciting and prioritizing requirements based on the processed data</p>
          <p>Step 6: Quantitative and qualitative comparison of elicitation process prior and after applying the
framework</p>
          <p>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.</p>
          <p>By far we have shortlisted feedback and monitoring metrics. We have developed agents to monitor
following metrics:
•
•
•
•
•
•
•
•</p>
        </sec>
        <sec id="sec-3-1-4">
          <title>Active users in a given period</title>
          <p>Sessions per active users
Time spent on a feature
Activity abandonment
Activity completion
Crash instances
Bug reporting</p>
          <p>Feedback provision
•
•
•
•
•
•
•
•
•
•</p>
        </sec>
        <sec id="sec-3-1-5">
          <title>Announcements portal</title>
          <p>Assignments portal
Academic and social alerts
Calendar and scheduling
Feedback Area
Forums
Gradebook Management
Lessons Management
Syllabus Management</p>
          <p>Tests &amp; Quizzes
Initially these metrics will be applied to evaluate following modules of SAKAI
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.</p>
          <p>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.</p>
          <p>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.</p>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>6. Progress</title>
        <p>This project timeline indicates current progress and future plan for this research</p>
        <sec id="sec-3-2-1">
          <title>Start of PhD Research work January 2020</title>
          <p>January 2020-January 2021
• Selecting the domain
• Background Study &amp; 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</p>
        </sec>
      </sec>
      <sec id="sec-3-3">
        <title>7. References</title>
        <p>[8] Fotrousi, F., &amp; Fricker, S. A. (2016). QoE probe: A Requirement-monitoring Tool. In REFSQ
Workshops.</p>
        <p>[9] Froehlich, J., Chen, M. Y., Consolvo, S., Harrison, B., Landay, J. A., Street, S. B., &amp; Mateo, S.
(2007). MyExperience : A System for In situ Tracing and Capturing of User Feedback on Mobile
Phones. 57–70.</p>
        <p>[10] Oriol, M., Stade, M., Fotrousi, F., Nadal, S., Varga, J., Seyff, N., &amp; 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.</p>
        <p>[11] Wüest, D., Fotrousi, F., &amp; 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.</p>
        <p>[12] Glinz, M., &amp; 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.</p>
        <p>[14] Johanssen, J. O., Kleebaum, A., Bruegge, B., &amp; 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.</p>
        <p>[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.</p>
        <p>[16] Bukhsh, F. A., Bukhsh, Z. A., &amp; Daneva, M. (2019). A systematic literature review on
requirement prioritization techniques and their empirical evaluation. Computer Standards &amp; Interfaces,
103389.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Qureshi</surname>
            ,
            <given-names>N. A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Perini</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bruno</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Irst</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ernst</surname>
            ,
            <given-names>N. A.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Mylopoulos</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          (
          <year>2010</year>
          ).
          <article-title>Towards a Continuous Requirements Engineering Framework for Self-Adaptive Systems</article-title>
          .
          <volume>9</volume>
          -
          <fpage>16</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Raimondi</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Skene</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Emmerich</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          (
          <year>2008</year>
          ).
          <article-title>Efficient Online Monitoring of Web-Service SLAs</article-title>
          .
          <fpage>170</fpage>
          -
          <lpage>180</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Mens</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Demeyer</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wermelinger</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Hirschfeld</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          (
          <year>2005</year>
          ). Challenges in Software Evolution.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Khan</surname>
            ,
            <given-names>J. A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liu</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wen</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Ali</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          (
          <year>2019</year>
          ). Crowd Intelligence in Requirements Engineering :
          <source>Current Status and Future Directions</source>
          (Vol.
          <volume>1</volume>
          ). https://doi.org/10.1007/978-3-
          <fpage>030</fpage>
          -15538- 4
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Pacheco</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Garcia</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          (
          <year>2009</year>
          , June).
          <article-title>Effectiveness of stakeholder identification methods in requirements elicitation: experimental results derived from a methodical review</article-title>
          . In 2009 Eighth IEEE/ACIS International Conference on Computer and Information Science (pp.
          <fpage>939</fpage>
          -
          <lpage>942</lpage>
          ). IEEE.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Hurrell</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Smeaton</surname>
            ,
            <given-names>A. F.</given-names>
          </string-name>
          (
          <year>2012</year>
          ).
          <article-title>An Examination of User-Focused Context-Gathering Techniques in Recommendation Interfaces</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Ghasemi</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Amyot</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          (
          <year>2019</year>
          ).
          <article-title>From event logs to goals : a systematic literature review of goal ‑ oriented process mining</article-title>
          .
          <source>Requirements Engineering</source>
          , (
          <volume>0123456789</volume>
          ). https://doi.org/10.1007/s00766-018-00308-3
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>