Requirements decision-making as a process of Argumentation: A Google Maps Case Study with Goal Model
Javed Ali Khan1*, Affan Yasin2, Engr. Muhammad Assam3, Wasiat Khan1, Syed Yaqub Shah1, Rehan Ali Khan4
1Department of Software Engineering, University of Science and Technology Bannu, Pakistan
2School of Software, Tsinghua University, Beijing, China.
3College of computer science and technology, Zheijiang University, Hanghzou, China
4College of electrical engineering, Zheijiang University, Hanghzou, China
*Correspondence: Javed Ali Khan, engr_javed501@yahoo.com.
Citation | Khan. J. A, Yasin. A, Assam. E. M, Khan. W, Shah. S. Y and Khan. A. R, “Requirements decision-making as a process of Argumentation: A Google Maps Case Study with Goal Model”, International Journal of Innovations in Science and Technology, Vol 3, Special Issue, pp: 15-33, 2021.
Received |Dec 14, 2021; Revised | Dec 19, 2021 Accepted | Dec 19, 2021; Published | Dec 20, 2021.
________________________________________________________________________
Abstract.
In social media platforms, crowd-users extensively interact and contribute information related to software applications. Usually, crowd-users discuss software features or hot issues and record their opinions about the software applications under discussion either in textual form or via end-user votes. Such requirements-related information is considered a pivotal alternative source for requirements engineers to the already existing in-house stakeholders in order to illustrate decision-making. Also, requirements decision-making for Crowd requirements engineering is a difficult task, as it is always based on incomplete knowledge and requires trade-offs from multi-perspectives. However, existing requirements models and associated tools are still lacking, which enable requirements engineers to make informed decision-making and capture conflicting requirements knowledge. This paper elaborates the interaction among the crowd-users about the Google Map mobile application in the Reddit forum to recover conflicting requirements-related information using the goal modeling approach. For this purpose, we extracted critical arguments from a crowd-users conversation in user forums regarding a given design; built a graphical argumentation model based on the extracted information; aligned types of arguments with goal-oriented modeling constructs in the non-functional requirements framework; conducted exiting goal-model analysis to the requirements model to reach consensus based on argumentation and reasoning, such as supporting, attacking, undefined, and conflicting. The proposal is described with illustrative example models and the associated evaluation processes of design decision-making situation for Google Map interface design.
Keywords: CrowdRE, Argumentation, Goal Modeling, Requirements, user forum.
- INTRODUCTION
With the persistent use of online user forums, app stores, and other prominent social media platforms, i-e Twitter, Facebook, etc., it becomes pivotal to listen to the end-users and understand their requirements, needs, and suggestions for software design and evaluation [1, 2]. Recently, research studies have shown that such a large amount of freely available crowd-users data contributes too many different aspects of crowd requirements engineering and helps in requirements decision-making [3]. In recent studies, researchers have shown greater interest in computational argumentation [4,5] in requirement engineering to identify conflicting crowd requirements information [6,7] and help illustrating decision-making [8].
Kanchev et al. [9] proposed the Canary framework, which captures and identifies large copra of requirement-related knowledge from the end-user forum, then using a high-level query language, pivotal and useful requirements-related information is captured for requirements analysts and engineers to make future requirements-related decisions. Further, Kanchev and Chopra [9] found that user forums contain rich information about software requirements having supporting and rebuttal arguments. At the same time, Kurtanovic and Maalej [10, 11] applied supervised machine learning techniques on amazon store to MINE rationale concepts from end-user reviews. Reviews are classified into different rationale categories: issues, alternatives, criteria, decision, and justification, and also found that how users argue and support their decision regarding up-gradation and application switching.
Furthermore, a typical scenario in user forums is that an end-user starts a conversation topic by sharing their experience of using a software application in the form of a comment, upon which other users comment either in favor or against that initial comment. Other users might give suggestions for a new feature or provide an alternative solution in response to that comment. Also, end users can express like and dislike emotions on other user’s comments. From such discussions threads and their nested structure in a user forum, we can quickly identify key requirements and arguments on a given topic and organize them in a structured way using the existing goal-modeling approach. Such arguments from users can be a good source of information for requirement decision-making [12, 13]. It inspires us to perform an exploratory study on the crowd-users comments in the Reddit user forum to recover distant aspects of social media related to requirements engineering and how they can be restructured and modeled to leverage requirements analysts. Mainly, we are interested in different systematic approaches to model, structure, and analyze requirements knowledge recovered from the user forum in a more structured way.
In this paper, we contributed in the following aspects: (1) we extracted key arguments from a crowd-users conversation in user forums regarding a given design decision topic; (2) built a graphical argumentation model based on the extracted information; (3) align types of arguments with goal-oriented modeling constructed in the non-functional requirements framework; (4) conducted exiting goal-model analysis to the requirements model to reach consensus based on argumentation reasoning.
We answered the following research questions with the proposed research approach: (1) How the typical user forum dataset looks like? (2) How to model key requirements arguments identified from the raw user data and build an argumentation model? (3) How to apply existing goal-model semantic on the argumentation model to recover conflicting requirements information? In other words, how user forums data can be appropriately used during requirements decision-making if we treat them as an argumentation process.
The main structure of research paper is: in literature review, which elaborates on the existing literature work; for instance, it highlights the dataset taken for the proposed approach; in Argumentation for Requirements decision using goal model approach section, we introduce our proposed approach to construct a goal model from the end-comments; in Argumentation integration with model evaluation section, we elaborate on the analysis process and reports the results; In the discussion section, we discuss the research findings, authenticity, applicability, and marketing the proposed approach; In the conclusion section, we conclude the paper and discusses future work.
- Literature review
In this section, related work on requirement engineering (RE) with argumentation is elaborated in detail. The Dung’s abstract argumentation framework [14] and Toulmin arguments [15] are the two most frequently used frameworks in RE research problems, i-e, security requirements [16], risk assessment [17], privacy requirements [18], requirements decision-making [19], consistent goal-based requirements [20], useful information [21] and legal requirements [22,23] to identify conflicting RE knowledge.
Argumentation theory [24] was first introduced in security requirements by Haley et al. [25, 26]. They proposed that system security requirements can be satisfied using formal and informal arguments, called satisfaction arguments. Later, Franqueira et al. [27] extended Haley’s research work by proposing a risk assessment method (RISA) to identify refutations and justifications for the security requirements satisfaction and overcome incomplete and uncertain information. At the same time, Kovacs et al. [28] validated the RISA framework with a complex BitMessage chat application (case study) to analyze security requirements. During analysis, they identified new security requirements to improve the BitMessage client app.
Jureta et al. proposed Acceptability evaluation framework (ACE) [29], which formally caters the discussions between stakeholders and engineers on the validity of RE artifacts in the form of a graph, for which an acceptability condition is defined, if it holds, that means that validity is achieved for the given artifact. Yehia et al. [30] proposed the CaRE framework, transforming informal, ambiguous, conflicting, and incomplete stakeholder requirements into complete, consistent requirements using abstract argumentation. Zee et al. [31, 32] developed a framework to trace the elements of Goal-oriented requirement language (GRL) to the evidence and arguments of system stakeholders. The framework is based on the ASPIC+ framework, extended with practical and evidence-based argumentation. Also, using a UML metamodel, they integrated the ASPIC+ argumentation model with GRL elements. Van et al. [33] extended the Zee work and developed the RationalGRL framework, which helps to map arguments diagrams to the goal models. For this, first, the arguments are identified as end-users goals, then these arguments are converted into the abstract framework (AF), having nodes and attacking arguments. Later, the AF is then translated into anaimed model. Finally, Ghanavati et al. [34] evaluate and analyze the previously developed RationalGRL framework with an example.
Bagheri et al. [35] proposed an argumentation-based approach to capture the inconsistencies in the requirement specification using abstract argumentation semantics. Also, the preference function is utilized to recover the most inconsistent requirement pairs. Elrakaiby et al. [36] proposed an argumentation-based framework to capture ambiguities arrived during requirements elicitation by interview. Murukannaiah et al. [37] proposed an Arg-ACH approach to resolve stakeholder’s goals conflicts by identifying and capturing inconsistencies between the goals and beliefs. Kurtanovic and Maalej [38, 39] applied supervised machine learning techniques on amazon store to mine rationale concepts from user reviews. Reviews are classified into different rationale categories: issues, alternatives, criteria, decision, and justification, and also found that how users argue and support their decision regarding up-gradation and application switching. Recently, Khan et al. [40,41,42] proposed the CrowdRE-Arg approach, which analyzes end-users conversations in the online user forum and identifies conflict-free requirements-related information using abstract argumentation semantics. The CrowdRE-Arg approach is supported by machine learning classifiers and other developed algorithms to automate the proposed framework.
In summary, much research efforts have been made in adopting argumentation to address RE related decision-making processes in a situation when : (i) we need to deal with conflicting information, e.g., security requirements decisions are inherently inconsistent with conflicting viewpoints (attackers and defenders); (ii) it involves weighing, comparing, or evaluating arguments, e.g., goal-oriented analysis are precisely the process of weighing, comparing and evaluating the alternatives supported by different arguments from multiple stakeholders; (iii) when we need to make decisions, e.g., design decisions, compliance decisions, priorities of requirements decisions, etc.
- EXAMPLE CASE
The example we have selected for our case study is a discussion post on Reddit[1] forum about Google Maps, encircled with red color, as shown in Figure. 1. Reddit is a social web forum where registered users, referred to as Redditors, can express their agreement or disagreement with up-votes and down-votes. Every day, millions of people worldwide have different demographics and skills posts, likes, and comments. The Reddit community is broken down into smaller communities referred to as subreddits, where each subreddit represents a different general topic, e.g., “Games,” and is managed by the moderators. Redditors can subscribe to various subreddits so that their contents are displayed on the home page of Redditors. Redditors can submit a post in the form of a story, link, or video while selecting one of the subreddits they subscribed to the Reddit user forum. Posts with a high value of up-votes appear at the top in subreddits. Redditors earn “karma” for submitting either a post or make comments on any post.
[1]https://www.reddit.com/ Access on 25-5-2021
Figure 1. Example under consideration of Google map mobile app.
Also, Reddit users may get “Reddit gold” if other users like or value his post or comment. Posts on the Reddit forum are displayed in hierarchical order. The most common features of the Google Map mobile application are, explore locations, street view, turn-by-turn view, public transits, finding parking lots. In the example, different crowd-users (contributors) discuss the change made to the Google Map mobile application in its layout by replacing the driving and transit button with the commute button in the bottom tab of the application.
In total, 53 Redditors joined the crowd-user discussion in the user forum. They contributed 72 posts in the end-user forum against the main discussion topic, encircled with the blue color, as shown in Figure 1. For the crowd-user discussion topic, we consider only 54 end-user comments as relevant to the requirements engineering domain during the manual analysis using the content analysis approach [43], while the remaining 18 comments were either classified as irrelevant or deleted by the administrator or the crowd-users itself. Therefore, we need to ignore its corresponding replies to preserve the natural flow of user comments.
Figure 2. Typical comment structure on online user forum.
Figure. 2 shows an end-user conversation except between different crowd-users that discusses a Google Map design issue. A crowd-user named “AnxiousSun” submits an attacking argument in response to the main discussion topic, encircled with red color. Similarly, Baspeysp registered a supporting claim in response to the “AnxiousSun” attacking claim, encircled with a yellow color, followed by other crowd-users arguments, classified as alternative options to the Google Map mobile application. We use it as a running example to illustrate the analysis process we propose.
- ARGUMENTATION FOR REQUIREMENTS DECISIONS USING GOAL MODELING APPROACH
In this paper, we proposed an approach that extracts requirements-related arguments from user forum discussions and use them to support requirements decisions by using the semantics of existing goal-modeling tools. The proposed research approach includes the following steps: (1) We use a goal-oriented modeling technique to organize the discussion process between the crowd-users. (2) Next, we manually identify the key requirements decision arguments by using the content analysis approach [44], which is modeled as the root node of the goal model to identify whether it is conflict-free or not (3) Major requirements-related arguments of crowd-users are categorized according to its nature: alternative operationalization, facts/belief/justification, emotional label, issue/challenge, each of them is elaborated in Table. 1 (4) According to the different nature of the arguments, we suggest different continuing argumentation processes as requirements elicitation or evaluation processes to follow. For example, the potential of argumentation as a tool for convincing and persuading others, understanding a topic collaboratively, and finding an agreed solution that can be adopted for the purpose of requirements. In particular, computational argumentation theory [45] supports decision-making based on the rationale to reach a goal by resolving the conflicts, by identifying attacking and supporting arguments [45]. Furthermore, the crowd-users comments in the user’s forums are lengthy as compared to the app store [46] and Twitter [46], which often contain rationale information that can be worthy for making requirements decisions based on argumentation [47]. We identified the original user discussion in the user forum and extracted information relevant to requirements. We parse them manually using the content analysis approach [48] and go through the steps mentioned above to explore the feasibility of the proposed method.
Identifying the decision topic as a Root Node
When there is a software design or requirements decision to make, one often initiates a new discussion topic in the forum discussion. In our case, it is “Adding a commute Tab in Google Map interface,” for which we would like to collect the arguments of crowd-users from the user forum, which are registered by them in response to the main discussion topic, as depicted in Figure 2. The decision point is the root goal, as shown in Figure 3, for which end-users propose multiple design alternatives, issues, and supporting and attacking arguments to reach that root goal. The root node is encircled with red color in Figure 3.
Figure 3. Identifying Discussion Topic as the Root Goal constructed in Goal Mode
Type of Arguments as Goal
We represented requirements in our model with the NFR framework[2] graphical elements. Some examples from the proposed approach and icon used from the NFR goal model are shown in Table 1. While conducting a detailed analysis about the topic under discussion, we follow the flow of the crowd-users discussion in the user forum. In the Reddit forum, user comments are displayed in a hierarchical structure, as shown in Figure 2. Where each comment constitutes a relation toward another comment. Based on which we can derive a goal model shown in Figure 3. We can see that crowd-users’ discussion contains information relevant to requirements decisions and can be modeled as an argumentation structure. Identified requirements-related artifacts from the crowd-users conversation in the user forum are discussed below.
In general, arguments are made of a claim and with its associated evidence. In social media forums, end users’ claims could be categorized into different types: a software feature, a crowd-user preference on the software interface design, or crowd-user feedback about their experience with the system, depending on the topic under discussion. Relation type is either attacking, supporting, issue, and suggestion or alternative. Relation type helps in requirements decision-making and identifying conflict-free requirements/features.
Arguments that suggests alternatives or Features: Users could suggest multiple alternatives concerning the topic under discussion. Each of the proposed alternatives is considered an operationalization of a problem represented by a soft goal of the NFR framework, as depicted in Table 1. For example, a user desires that “a commute button should be changed automatically based on whether you selected public transport to travel or you are driving by yourself, like Google have their other app Google Assistant” is an alternative of “Adding a commute Tab in Google map interface”, which are both serving a higher level softgoal of “Better User Experience for Google Map”. While the symbol >is used to represent the alternative or feature relationship between the requirements arguments, as shown in Table. 1.
Arguments that providing facts or evidence: Crowd-users could provide evidence that is either supporting or attacking the goal or sub-goal. Such information is an essential reference for requirements-related decision-making. By identifying the key arguments from the crowd-user conversations in the user forum, we can find users' concerns and preferences [49]. We represented such arguments in our model by using the modeling concept of "Claim" in the NFR framework and the "supporting" and "attacking" relation between arguments are represented by "Make" and "Break" contribution links that are used to either support or weaken a relationship between two arguments in the NFR framework. For example, a crowd-user attack on the former argument is depicted in "Row 2" of Table. 1, as "google can only afford two tabs also, google assistant is a different team app." This argument is further supported by other arguments developed during the ongoing crowd-user discussion in the user forum. To represent the attacking and supporting relationships in the NFR goal model constructed from the crowd-user comments in the user forum, we use >, and > symbols.
Table 1. Types of arguments identified from user forum
Argumentation types |
Examples from Reddit forum |
Graphical Icon |
Associated Link |
Alternative as an NFR Operationalisation |
‘Can’t they just rename the tab dynamically based on whether you selected drive or public transport in the “how you get to work?” question they asked you? This is how Google Assistant handles things.’ |
>, goal refinements with contribution, or correlation links |
|
Fact, Belief, Justification as an NFR Claim |
“Google app can afford two tabs and google assistant is a different team product, it’s impossible for Google to have a good integration across all products.” |
>, > goal refinements with contribution links |
|
Emotional Label as an NFR Label |
“Like it, Happy with 4 Tabs, Perfect solution.” |
, , , goal labels |
|
Issue, Challenge as an NFR Softgoal |
“Using both (drive and transit) but annoying, don’t want to fiddle with setting. I walk also, what happen to that? Why tabs in first place? It has a cycle option?” |
> goal refinements with contribution, or correlation links |
Arguments that imposing questions or challenges: While doing a detailed and comprehensive analysis of user comments in the user forum using the content analysis approach, it was observed that users may ask questions or pose challenges in response to certain software features or the root node. In response to their question, other crowd-users may enquire clarification questions or challenge the validity of certain claims. Such arguments are either pending for decisions or lead to a new round of requirements elicitation. Such question helps requirement engineers in clarifying the requirements. A few examples are shown in Table 1, in which a crowd-user asks a question against the root goal “Why tabs in the first place?” and a question “It has a cycle option?”. Furthermore, in response to these questions, other crowd-users submit suggestions or alternatives, which are further discussed by other end-users in the user forum. For example, in Figure 6, following up the question being asked, requirement engineers can further refine the goal model and get useful information about the feature or issue, its alternatives, advantages, and limitations to refine the requirements and help software engineers to implement in smoothly.
Arguments that expresses emotional attitude: End-users express their emotional attitude in social forums towards software functionalities/features under discussion. Their votes are either positive or negative. Votes against software features should be considered important indicators for whether end-users are satisfied with a given/intended functionality or whether they provide alternative solutions as suggestions to relieve their grudges. Examples of emotional attitude along with desired modeling symbol are shown in Row no. 3 of Table 1. Emotional attitudes are modeled as a label to a given NFR node; positive ones are labeled with “Satisfied” (), while negative ones are labeled with “Denied” (). When both positive and negative comments exist, we could evaluate them qualitatively as “weakly satisfied” () or “weakly denied” (). These are built-in NFR semantics used to identify whether the root node (requirement) is conflict-free or not based on their supporting and attacking arguments or emotions.
- ARGUMENTATION INTEGRATED WITH MODEL EVALUATION
In requirements engineering, especially in evaluating goal models, both qualitative and quantitative evaluation approaches are proposed, e.g., the label propagation algorithm in the NFR framework and the formal reasoning approaches goal models . To reach the final requirements decision, we need to handle various decision-making situations as depicted in the following meta-patterns.
(a)Goal satisfaction as Winning Arguments
When a goal receives supporting evidence, sentiments, or comments, it is a winning argument, as shown in Figure 4. Three end-users support the root goal by expressing their positive feelings, i-e, “like it,” “good, keep it simple,” and “I like it with one tab less.” Therefore, such evidence results in the satisfaction of the root goal, a winning argument. There are other cases in the user forum where the support of an argument is the justification/explanation for the claims rather than a simple expression of “like” or “dislike.” But even with “like” and “dislike,” we can already capture user preferences. By applying the existing NFR semantics, it is identified that the root node is identified as conflict-free and is therefore referred to as a winning argument or requirements.
Figure 4. Goal satisfaction as winning arguments
(b) Goal Denial by Counter Arguments
When a goal or sub-goal is attacked by counteracting evidence, sentiments, or crowd-user comments, it is a losing argument or requirement. In Figure 5, two examples of the root node being attacked by sub-arguments in the ongoing crowd-users discussion in the user forum. In the first example, a user commented, “where there are driving directions, there is no need for commute if work at home” attacks the root node, which results in the denial of the root node by the definition of abstract argumentation and NFR goal model semantics. In the second example, the end-user claims that “Maps are too bloated, explore tab should be another app.”, which is supported by another claim, “Way too bloated, use to locate only, have a better app about location,” which again results in the denial of the root node by the definition of abstract argumentation and NFR goal model semantics. With the supports and attacks relations, we can adopt the formalisms from the abstract argumentation, where we identify the set of requirements that are conflict-free, complete, grounded, or stable.
Figure 5. Goal denial by counter arguments
In this case, the arguments “where there are driving directions, there is no need for commute if work at home”, “Maps are too bloated, explore tab should be another app”, and “Way to bloated, use to locate only, have better app about location” are identified as conflict-free requirements or arguments. There is also the extension mechanisms where rebut denotes a disagreement with the claim, whereas an undercut denotes adisagreement with the support, i.e., an explanation or justification.
(c)Goal satisfaction as Winning Arguments
In the end-user forum, there are cases where crowd-users raise certain questions or challenges in response to the main discussion topic, which needs further elaboration or clarification, against which other crowd-users register comments in the ongoing discussion. One such example is explained in Figure 6, where a crowd-User1 raised a question, “How practical for those who don’t drive or don’t take public transits?” against the main discussion topic “Adding a commute tab in the google map interface.” Against which another crowd-User2 registered a comment “commute setting will allow you to enable/disable different travel methods…” which supports the aforementioned argument. Next, in response to that comment, a Crowd-User3 submits an argument, “I don’t want to do enable/disable all the time, I want to pick….”, which shows a possible new feature for the requirements engineer and an attacking argument at the same time. Next, Crowd-User4 objects to the above comment that “Random direction for reaching any place are still available for searching”, a claim based on his experience using the Google map mobile app.
Figure 6. Goal refinement by arguments imposing questions and challenges (parital)
Similarly, a Crowd-User5 supports the previous comment by expressing his positive emotion, while a Crowd-User7 attacks it by claiming that “there is nothing to do with the explore button on the tab, they only want to push me for that.” Finally, a Crowd-User6 submitted a comment in response that “although it’s annoying to use both, it works perfectly for me.” The symbol represents conflicting output for a certain requirements-related argument, while the symbol represents undecided results for a crowd-user comment in the discussion topic on the user forum. It can be concluded from Figure 6 that the root node “Adding a commute tab in google map interface” is classified as a conflicting design requirement for the Google Map mobile application, which is due to the certain crowd-users arguments that are labeled as “undecided” during the evaluation of the root node using existing NFR goal model semantics. However, requirements engineers can model such dialogical argumentation and trace the arguments in requirements decision-making by weighing their corresponding supporting and attacking arguments, which leads to a final decision about the given design question. In this case, based on their supporting and attacking arguments, the main discussion topic is identified as conflicting and needs to be ignored.
(d) Goal evaluation by clustering and aggregation of crowd opinions
The overall NFR goal diagram of the ongoing discussion between the crowd-users in the user forum about the Google Map mobile application is depicted in Figure 7. In total, 63/72 crowd-comments were manually collected, among which 54 end-users comments were recognized as relevant, nine were irrelevant and ignored using the content analysis approach [9], while the remaining nine end-users comments were either deleted by the forum administrator due to the violation of term and conditions or deleted by the end-user because of that we need to delete their corresponding sub-arguments to preserve the original structure of the discussion topic in the forum. Furthermore, 48 unique crowd-users took part in the discussion topic; one user commented five times, four users commented three times, and four users commented twice about the Google Maps mobile app. After the detailed review and analysis of the flow of discussion using the content analysis approach [41], 19 end-users claims were identified that are classified as either supporting or attacking, 24 operationalization/suggestions/ features/alternatives were identified, and seven questions or challenges were raised out of which the end-users further discussed three questions while four questions were left unanswered. Six emotional attitudes are classified again into supporting or attacking opinions.
Finally, we aggregate the annotated crowd-user comments from the online user discussion in the user forum to construct the argumentation-based goal model and reach a conclusion based on their supporting and attacking arguments by applying the existing semantics of the NFR goal model, as shown in Figure 7. the crowd-users register 16 sub-arguments in response to the root node that is represented with the identified relationship (suggestion, supporting, attacking, or question), out of which ten user comments are concluded and referred as winning arguments with () symbol, as shown in Fig. 8. The conclusion of the root node is derived by evaluating the aggregated evidence of their supporting and attacking arguments in the ongoing user discussion in the Reddit user forum. Using the existing semantics of the NFR goal model, the root node “Adding a commute tab in Google Map interface” is identified as conflicting, having the symbol based on their supporting and attacking arguments. Therefore, it is concluded that current goal modeling approaches cannot identify the conflicting viewpoints in the user conversations over the social media platform. It is necessary to develop an argumentation-based goal modeling approach to identify conflict-free arguments using extended abstract argumentation semantics. Further, as shown in Figure. 7, three major crowd-users arguments deny the proposed change in the Google map interface. Also, certain crowd-users provide suggestions in response to the main discussion topic that is considered alternative solutions and leaves it pending further decision. Questions are being raised in the user conversations, which are yet to be answered. These are undecided routes in the goal model which need further elicitation; hence these are not considered in a decisive situation. Some end-users expressed their likes to the root node.
Figure 7. Requirements decision by aggregation of crowd opinions
To conclude, in total, we identified eight attacking arguments that are registered against the main discussion topic in the goal model, getting four supporting arguments or sentiments from the crowd-users in the forum. In contrast, three crowd-users comments were undecided, and one route was neutral. This information provides important insights for requirements engineers in the forthcoming requirements decision-making. It explicitly shows crowd-user arguments, resolves the ambiguities, and identifies potential important requirements/features. However, we will require argumentation-based modeling tools to efficiently identify the conflicting arguments or requirements in the social media platform that would help requirements engineers decide emerging new features or exiting hot issues in the ongoing user conversations.
- DISCUSSION
This paper reports the initial results of adopting arguments to crowd-generated requirements information from the end-user forum. The proposed approach is feasible for such application scenarios, where eliciting and modeled arguments align with goal-oriented requirements models, such as the NFR framework. Requirements-related decision-making is supported by the underlying formalisms offered by the computational argumentation framework, where arguments and counter-arguments are recognized and traded-off. However, we will require argumentation-based modeling tools to efficiently identify the conflicting arguments or requirements in the social media platform that would help requirements engineers decide emerging new features or exiting hot issues in the ongoing user conversations as current goal modeling tools lack in identifying conflict-free arguments using the existing semantics. In our proposed approach, Where argumentation provides a natural and important tool to formalize requirements engineering process and artifacts, especially for handling inconsistent and incomplete requirements information and capturing dialogical requirements elicitation. When such argumentative abilities are explicitly modeled, requirements decisions are made traceable, rationalized, and verifiable.
Authenticity of the study: Crowd Requirements engineering (CrowdRE) is an emerging field used to elicit, validate, model, prioritize, and negotiate software requirements for market-driven software applications. The main source of collecting requirements-related information for market-driven applications is social media platforms. Whereas, in the online software applications distribution platforms such as google play store, Apple’s play store , Amazon software application store, or other mobile applications stores, end-users easily search, install, and give feedback’s or comments on software applications. According to a research study, nearly over 3 million software applications are available in the Google Play and App store, as of June 2020, with over 75 billion software application downloads per month. This software applications distribution is not limited to mobile applications anymore. Other software types such as desktop applications, software plugins, and other open-source software are now available via app stores. For example, the Eclipse Marketplace for the Eclipse Development Environment has approximately 25 million active Bundles, plugins, and different products available. Also, specialized crowd-users feedback platforms based on the principle of crowdsourcing, where crowd-users can suggest, comment, and vote on the possible idea proposed by the other crowd-users, are getting immense popularity; one such platform is UserVoice. Considering such a large amount of pivotal information for requirements engineers and software developers, we take a step to the model end-user conversation in the social media platform with the existing goal of modeling software to recover conflicting requirements-related information. The novelty of the proposed work is utilizing the existing NFR goal modeling tool and its semantics to recover conflicting requirements information, according to our knowledge, which has been demonstrated with the Google Maps mobile application case study.
Applicability of the proposed Approach: The proposed approach is an experimental study on utilizing the existing NFR goal modeling tool and its semantics to identify conflicting requirements-related information. The proposed approach can be utilized as the first step in modeling crowd requirements to identify conflicting, incomplete, unclear, and ambiguous requirements information. Also, the proposed approach encourages to development of an automated requirements validation and modeling approach to efficiently model crowd requirements. For this purpose, we can adopt natural language processing, machine learning classifiers, and argumentation theory to automate the process. Additionally, the modified proposed approach can automatically identify conflict-free new features, design alternatives, issues, and their winning arguments by using abstract argumentation theory from the user conversation in the user forums underneath rationale. It will help requirements engineers decide conflict-free emergent requirements or hot issues faced by end-users underneath rationale. The process will reveal the end-users tactic knowledge and make the decision-making process transparent by capturing the rationale and documenting the requirements.
Furthermore, we elaborated earlier that the proposed approach concluded that existing NFR goal modeling tools are limited in modeling and identifying conflict-free requirements-related information in the social media platforms based on experimental study. Hence, we can grab this opportunity to develop and market the CrowdRE modeling tool to identify conflict-free emergent requirements or hot issues faced by end-users underneath rationale in the social media platforms.
- CONCLUSION AND FUTURE WORK
This paper analyzed and evaluated the interaction between the crowd-users about the Google Map mobile application in the Reddit forum to recover conflicting requirements-related information using the goal modeling approach. For this purpose, we first extracted critical arguments from a crowd-users conversation in user forums regarding a given design decision, a new feature proposed, or an issue identified. Secondly, we build a graphical argumentation model using the extracted arguments from the end-user discussion. Next, we aligned the extracted arguments with goal-oriented modeling constructs in the non-functional requirements framework. Finally, we utilized the exiting goal-model analysis and semantics to the requirements argumentation model to reach a consensus-based on argumentation theory and reasoning. Additionally, we demonstrate the proposed approach with a crowd-users conversation on Google Map interface design from the Reddit user forum. The current argumentation modeling case study is based on historical data, which is after the fact. In the future, if we can embed the argumentation analysis during an ongoing discussion and use it to direct the requirements process on the run, the interests of requirements decision-makers can be better served, as more valuable and timely recommendations can be provided. In the future, the scalability of the proposed method needs to be studied, and the prospective automated tool chain is to be implemented to address the needs of significant complex engineering problems.
REFRENCES
[1] E. Yehia., F. Alessio, and J. Mylopoulos: “CaRE: A refinement calculus for requirements engineering based on argumentation semantics”. In. Preceding of 26 IEEE international conference on Requirement Engineering (RE@Next! 18), pp 364-369 (2018)
[2] R.Z. Moghaddam, B.P. Bailey, and C. Poon: “Ideatracker: an interactive visualization supporting collaboration and consensus building in online interface design discussion” In: Proceedings of the 13th IFIP TC 13 international conference on Human-computer interaction- Volume Part I. INTERACT’11, Berlin, Heidelberg, Springer-Verlag (2011) 259-276.
[3] P. M. Dung, “On the acceptability of arguments and its fundamental role in nonmonotonic reasoning, logic programming and n-person games,” Artif. Intell., vol. 77, no. 2, pp. 321–357, 1995.
[4] J. A. Khan, L. Liu, L. Wen, and A. Raian: “Crowd Intelligence inRequirements Engineering: Current Status and Future Directions”. Proc. Int. Conf. Requirements Engineering: Foundation for Softwarequality, Essen, Germany, March 2019, pp 245–261
[5] J. Mylopoulos, L. Chung, and B. Nixon: “Representing and using non-functional requirements: A process-oriented approach. Software Engineering”, IEE transaction on, 18(6): 483-497, 1992.
[6] E. Guzman, R. Alkadhi, and N. Seyff: “A Needle in a Haystack: What Do Twitter Users Say about Software”?. In. Preceding of RE 2016 International conference: pp. 96-105 (2016).
[7] R. Sebastiani, P. Giorgini, J. Mylopoulos: “Simple and Minimum-Cost Satisfiability for Goal Models”. CAiSE 2004: 20-35
[8] P. Giorgini, J. Mylopoulos, E. Nicchiarelli, and R. Sebastiani: “Reasoning with Goal Models”. ER 2002: 167-181
[9] V. N. L. Franqueira., Thein T. Tun., Y. Yu, R. Wieringa, B. Nuseibeh: “Risk and argument: A risk-based argumentation method for practical security” In. 19th IEEE International Requirement Engineering Conference, RE 2011, pp. 239–248 (2011).
[10] I, J. Jureta, J. Mylopoulos, and S. Faulkner: “Analysis of multi-party agreement in requirements validation”. In. 16th IEEE International Requirement Engineering Conference, RE 2009, pp. 57–66 (2009).
[11] G. M. Kanchev and A. K Chopra: “Social media through the requirements lens: A case study of Google maps”. CrowdRE@RE 2015: 7-12
[12] D. Ionita, J. Bullee, R. J. Wieringa: “Argumentation-based security requirements elicitation: The next round”. In. 1st IEEE international workshop on evolving security and privacy requirements engineering (ESPRE), pp 7-12 (2014).
[13] Eclipse Foundation. Eclipse marketplace[EB/OL]. https://marketplace.eclipse.org/,
Last accessed on December 2019.
[14] User Voice. Roadmap prioritization from product feedback[EB/OL].
https://www.uservoice.com/, Last accessed on December 2019
[15] E. Toulmin, “The Uses of Argumentation”, Cambridge Univ. Press, vol. 37, no. 2, pp. 168–182, aug 1959.
[16] M. V. Zee, D. Marosin, F. Bex, S. Ghanavati.: “RationalGRL: A framework for rationalizing goal models using argument diagrams”. In. Proc. of the 35 Int. Conf. on Conceptual Modeling (ER’2016), Short paper, pp 553-560 (2016).
[17] T. T. Tun, A. K. Bandara, C. Haley, I. Omoronyia, and B. Nuseibeh.: “Privacy Arguments: Analysing selective disclosure requirement for mobile application”. In. 20th IEEE international requirement engineering conference, pp 131-140 (2012)
[18] E. Yehia, F. Alessio, P. Spoletini, G. Stefania, and B. Nuseibeh,: “Using argumentation to explain ambiguity in requirement elicitation interviews”. In. 25th IEEE international conference on requirement engineering, (2017).
[19] I. Mirbel and S. Villata: “Enhancing Goal-based Requirements Consistency: an Argumentation based Approach”. In. Int. Work. Compute. Log. Multi-Agent Syst., pp. 110–127 (2012).
[20] M. R. Itzel and A. Perni: “Argumentation-based discussion for user forum: A Research Preview”. In. Preceding of the 20th International working conference on requirements engineering: Foundation for software quality (REFSQ 2014), pp 232-238 (2014).
[21] G. M. Kanchev, P. K. Murukannaiah, A. K. Chopra, P. Sawyer. “Canary: Extracting requirements-related information from online discussions”. In. Preceding of 25th International Requirement Engineering Conference (RE17), pp 31-40 (2017).
[22] S. Ingolfo, A. Siena, J. Mylopoulos, A. Perini. “Arguing regulatory compliance of software requirements”. Data Knowledge Engineering (DKE), vol. 87, pp. 279– 296, (2013).
[23] R. Muthuri, G. Boella, J. Hulstijn, L. Humphreys. “Argumentation-based legal requirements engineering- The role of legal interpretation in requirement acquisition”. In. 24th IEEE international requirement engineering conference workshops (RELAW), pp 249-258 (2016).
[24] J. A. Khan, L. Lin, Y. Jia, and L. Wen: “Linguistic Analysis of Crowd Requirements: An experimental study”. In. preceding of 27th IEEE international conference on requirement engineering workshop (Empri 18), pp (24-31) (2018).
[25] SC.B. Haley, J.D. Moffett, R. Laney, and B. Nuseibeh, “Arguing Security: Validating Security Requirements Using Structured Argumentation,” Proc. Third Symp. Requirements Eng. for Informa- tion Security with the 13th Int’l Requirements Eng. Conf., 2005.
[26] C. B. Haley, R. Laney, J. D. Moffett, and Bashar, N.: “Security requirements engineering: A framework for representation and analysis”, TSE, vol. 34, no. 1, pp. 133–153, 2008.
[27] Y Yu, V. N. L. Franqueira, T. T. Tun, R. J. Wieringa, B. Nuseibeh: “Automated analysis of security requirements through risk-based argumentation”. JSS, 106, 102-116 (2015).
[28] A. Kovacs, I. Karakatsanis, and D. Svetinovic.: “Argumentation-based security requirements analysis: BitMessage case study”. In. IEEE international conference on Internet of Things (iThings), and IEEE green computing and communications (GreenCom) and IEEE cyber, physical and social computing (CPSCom), pp 408-414 (2014).
[29] I. J. Jureta, F. Stephane, S. Pierre-Yves: “Clear justification of modeling decision for goal-oriented requirement engineering”. Requirement Engineering Journal (2008), 87-115 (2008).
[30] E. Yu, and J. Mylopoulos: “Why goal-oriented requirement engineering”. In. proceeding of the 4th International workshop on requirement engineering: Foundation of software quality. Vol 15, page 15-22, 1998.
[31] M. V. Zee, S. Ghanavati: “Capturing Evidence and Rationales with Requirements Engineering and Argumentation-Based Techniques”. In Proc. of the 26th Benelux Conf. on Artificial Intelligence (BNAIC2014), (2014).
[32] M. V. Zee, F. Bex, and S. Ghanavati: “Rationalization of Goal Models in GRL using Formal Argumentation”. In. Proc. of RE: Next! Track at RE’15, August 2015.
[33] Van et al.: “Bug Report, Feature Request, or Simply Praise? On Automatically Classifying App Reviews”. In. Proc. 23rd IEEE Int’l Requirements Eng. Conf. (RE 15), pp. 116–125(2015).
[34] S. Ghanavati, M. V. Zee, and F. Bex: “Argumentation-based methodology for Goal-oriented Requirement Language (GRL)”. In. Proceedings of the 29h international conference on Advance information system engineering (CAiSE 2017), pp 97-102 (2017).
[35] E. Bagheri and F. Ensan: “Consolidating Multiple requirement specifications through argumentation”. In. Proceeding of the ACM symposium on applied computing (SAC), pp 659-666 (2011).
[36] Elrakaiby, P. Baroni, M. Giacomin, A. Hunter, H. Prakken, C. Reed, G. Simari, M. Thimm, and S. Villata (2017)”Towards Artificial Argumentation”, AI Magazine, 38(3):25-36.
[37] P. K. Murukannaiah, A. Kalia, P.R. Telang, and P. S. Munidar: “Resolving goal conflicts via argumentation-based analysis of competing hypotheses”. In. Preceding of 23th IEEE International conference on Requirement engineering (RE 2015), pp 156-165 (2015).
[38] Z. Kurtanovic, W. Maalej. “Mining user rationale from software reviews”. In. Preceding of 25th international conference on requirement engineering (RE 17). (2017).
[39] Z. Kurtanovic, W. Maalej. “On user rationale in software engineering”. Requirement engineering journal, pp 357-379 (2018).
[40] J. A. Khan, Y. Xie, L. Liu, L. Wen. “Analysis of requirements-related arguments in user forums”. Proceedings of the IEEEInternational Conference on Requirements Engineering 2019; 2019-September: 63–74
[41] J. A. Khan, L. Liu, L. Wen L,A. Rain. “Conceptualising, extracting and analysing requirements arguments in users’ forums: TheCrowdRE-Arg framework. Journal of Software: Evolution and Process: e2309
[42] J. A. Khan, L. Liu, and L. Webn. “Requirements knowledge acquisition from online user forums”. IET Software 2020; 14(3): 242–253
[43] K.A.Neuendorf.: “The content analysis Guidebook” .Sage Publications,2002.
[44]Google. Play store[EB/OL]. https://play.google.com/store/, Last accessed on 2020-09-04.
[45] Apple. App store[EB/OL]. https://www.apple.com/ios/app-store/, Last accessed on 2020-09-04.
[46] Amazon. Amazon software[EB/OL]. https://www.amazon.com/design-downloadbusiness-education-software/b?node=229534, Last accessed on 2020-09-04.
[47] Statista. Number of available applications in the google play store from december 2009 to june2020[EB/OL]. https://www.statista.com/statistics/266210/number-of-available-applications-in-the-google-play-store/, Last accessed on July 2020.
[48] Statista. Number of available apps in the apple app store from 2008 to 2020[EB/OL]. . https://www.statista.com/statistics/268251/number-of-apps-in-the-itunes-app-store-since-2008/, Last accessed on July 2020.
[49] Statista. Cumulative number of apps downloaded from the apple app store from july 2008 tojune 2017 (in billions)[EB/OL].
https://www.statista.com/statistics/263794/number-of-downloads-from-the-appleapp-store, Last accessed on July 2020.