scispace - formally typeset
Search or ask a question

Showing papers presented at "IEEE International Conference on Requirements Engineering in 2014"


Proceedings ArticleDOI
29 Sep 2014
TL;DR: In this article, the authors use natural language processing techniques to identify fine-grained app features in the reviews and then extract the user sentiments about the identified features and give them a general score across all reviews.
Abstract: App stores allow users to submit feedback for downloaded apps in form of star ratings and text reviews. Recent studies analyzed this feedback and found that it includes information useful for app developers, such as user requirements, ideas for improvements, user sentiments about specific features, and descriptions of experiences with these features. However, for many apps, the amount of reviews is too large to be processed manually and their quality varies largely. The star ratings are given to the whole app and developers do not have a mean to analyze the feedback for the single features. In this paper we propose an automated approach that helps developers filter, aggregate, and analyze user reviews. We use natural language processing techniques to identify fine-grained app features in the reviews. We then extract the user sentiments about the identified features and give them a general score across all reviews. Finally, we use topic modeling techniques to group fine-grained features into more meaningful high-level features. We evaluated our approach with 7 apps from the Apple App Store and Google Play Store and compared its results with a manually, peer-conducted analysis of the reviews. On average, our approach has a precision of 0.59 and a recall of 0.51. The extracted features were coherent and relevant to requirements evolution tasks. Our approach can help app developers to systematically analyze user opinions about single features and filter irrelevant reviews.

484 citations


Proceedings ArticleDOI
29 Sep 2014
TL;DR: A ambiguity taxonomy based on software engineering, legal, and linguistic understandings of ambiguity is developed and examined how 17 technologists and policy analysts in a graduate-level course use this taxonomy to identify ambiguity in a legal text.
Abstract: Software engineers build software systems in increasingly regulated environments, and must therefore ensure that software requirements accurately represent obligations described in laws and regulations. Prior research has shown that graduate-level software engineering students are not able to reliably determine whether software requirements meet or exceed their legal obligations and that professional software engineers are unable to accurately classify cross-references in legal texts. However, no research has determined whether software engineers are able to identify and classify important ambiguities in laws and regulations. Ambiguities in legal texts can make the difference between requirements compliance and non-compliance. Herein, we develop a ambiguity taxonomy based on software engineering, legal, and linguistic understandings of ambiguity. We examine how 17 technologists and policy analysts in a graduate-level course use this taxonomy to identify ambiguity in a legal text. We also examine the types of ambiguities they found and whether they believe those ambiguities should prevent software engineers from implementing software that complies with the legal text. Our research suggests that ambiguity is prevalent in legal texts. In 50 minutes of examination, participants in our case study identified on average 33.47 ambiguities in 104 lines of legal text using our ambiguity taxonomy as a guideline. Our analysis suggests (a) that participants used the taxonomy as intended: as a guide and (b) that the taxonomy provides adequate coverage (97.5%) of the ambiguities found in the legal text.

76 citations


Proceedings ArticleDOI
29 Sep 2014
TL;DR: A tool-assisted process that automatically identifies security-relevant sentences in natural language requirements artifacts and classifies them according to the security objectives, either explicitly stated or implied by the sentences.
Abstract: Natural language artifacts, such as requirements specifications, often explicitly state the security requirements for software systems. However, these artifacts may also imply additional security requirements that developers may overlook but should consider to strengthen the overall security of the system. The goal of this research is to aid requirements engineers in producing a more comprehensive and classified set of security requirements by (1) automatically identifying security-relevant sentences in natural language requirements artifacts, and (2) providing context-specific security requirements templates to help translate the security-relevant sentences into functional security requirements. Using machine learning techniques, we have developed a tool-assisted process that takes as input a set of natural language artifacts. Our process automatically identifies security-relevant sentences in the artifacts and classifies them according to the security objectives, either explicitly stated or implied by the sentences. We classified 10,963 sentences in six different documents from healthcare domain and extracted corresponding security objectives. Our manual analysis showed that 46% of the sentences were security-relevant. Of these, 28% explicitly mention security while 72% of the sentences are functional requirements with security implications. Using our tool, we correctly predict and classify 82% of the security objectives for all the sentences (precision). We identify 79% of all security objectives implied by the sentences within the documents (recall). Based on our analysis, we develop context-specific templates that can be instantiated into a set of functional security requirements by filling in key information from security-relevant sentences. Index Terms— Security, requirements, objectives, templates, access control, auditing, text classification, constraints, natural language parsing.

68 citations


Proceedings ArticleDOI
29 Sep 2014
TL;DR: This work conducted three experiments to evaluate crowdsourcing a manual requirements extraction task to a larger number of untrained workers, and presents results from two pilot studies and a third experiment to justify applying a task decomposition approach to requirements extraction.
Abstract: Natural language text sources have increasingly been used to develop new methods and tools for extracting and analyzing requirements. To validate these new approaches, researchers rely on a small number of trained experts to perform a labor-intensive manual analysis of the text. The time and resources needed to conduct manual extraction, however, has limited the size of case studies and thus the generalizability of results. To begin to address this issue, we conducted three experiments to evaluate crowdsourcing a manual requirements extraction task to a larger number of untrained workers. In these experiments, we carefully balance worker payment and overall cost, as well as worker training and data quality to study the feasibility of distributing requirements extraction to the crowd. The task consists of extracting descriptions of data collection, sharing and usage requirements from privacy policies. We present results from two pilot studies and a third experiment to justify applying a task decomposition approach to requirements extraction. Our contributions include the task decomposition workflow and three metrics for measuring worker performance. The final evaluation shows a 60% reduction in the cost of manual extraction with a 16% increase in extraction coverage.

53 citations


Proceedings ArticleDOI
29 Sep 2014
TL;DR: A novel framework is proposed that extracts familiar ideas from the requirements and stakeholders' comments using topic modeling and applies part-of-speech tagging to obtain unfamiliar idea combinations and complements existing approaches by generating original and relevant requirements in an automated manner.
Abstract: Requirements engineering (RE), framed as a creative problem solving process, plays a key role in innovating more useful and novel requirements and improving a software system's sustainability. Existing approaches, such as creativity workshops and feature mining from web services, facilitate creativity by exploring a search space of partial and complete possibilities of requirements. To further advance the literature, we support creativity from a combinational perspective, i.e., making unfamiliar connections between familiar possibilities of requirements. In particular, we propose a novel framework that extracts familiar ideas from the requirements and stakeholders' comments using topic modeling and applies part-of-speech tagging to obtain unfamiliar idea combinations. We apply our framework on two large open source software systems and further report a human subject evaluation. The results show that our framework complements existing approaches by generating original and relevant requirements in an automated manner.

48 citations


Proceedings ArticleDOI
29 Sep 2014
TL;DR: A modeling language for non-functional requirements (NFRs) that views NFRs as requirements over qualities, mapping a software-related domain to a quality space is proposed, capturing the essence of probabilistic and fuzzy goals as proposed in the literature.
Abstract: We propose a modeling language for non-functional requirements (NFRs) that views NFRs as requirements over qualities, mapping a software-related domain to a quality space. The language is compositional in that it allows (recursively) complex NFRs to be constructed in several ways. Importantly, the language allows the definition of requirements about the quality of fulfillment of other requirements, thus capturing, among others, the essence of probabilistic and fuzzy goals as proposed in the literature. We also offer a methodology for systematically refining informal NFRs elicited from stakeholders, resulting in unambiguous, de-idealized, and measurable requirements. The proposal is evaluated with a requirements dataset that includes 370 NFRs crossing 15 projects. The results suggest that our framework can adequately handle and clarify NFRs generated in practice.

45 citations


Proceedings ArticleDOI
29 Sep 2014
TL;DR: A case study on a set of non-structured functional requirements for the Electrical and Electronic systems inside heavy road vehicles, written in natural language, and reassesses the applicability of the extended Specification Pattern System represented in a restricted English grammar finds that the concept of patterns is likely to be generally applicable for the automotive domain.
Abstract: The importance of using formal methods and tech- niques for verification of requirements in the automotive industry has been greatly emphasized with the introduction of the new ISO26262 standard for road vehicles functional safety. The lack of support for formal modeling of requirements still represents an obstacle for the adoption of the formal methods in industry. This paper presents a case study that has been conducted in order to evaluate the difficulties inherent to the process of transforming the system requirements from their traditional written form into semi-formal notation. The case study focuses on a set of non-structured functional requirements for the Electrical and Electronic (E/E) systems inside heavy road vehicles, written in natural language, and reassesses the applicability of the extended Specification Pattern System (SPS) represented in a restricted En- glish grammar. Correlating this experience with former studies, we observe that, as previously claimed, the concept of patterns is likely to be generally applicable for the automotive domain. Additionally, we have identified some potential difficulties in the transformation process, which were not reported by the previous studies and will be used as a basis for further research.

43 citations


Proceedings ArticleDOI
29 Sep 2014
TL;DR: This work motivates, Protos, a requirements engineering approach that gives prominence to the interactions of autonomous parties and specifies a sociotechnical system in terms of its participants' social relationships, specifically, commitments.
Abstract: We address the challenge of requirements engineering for sociotechnical systems, wherein humans and organizations supported by technical artifacts such as software interact with one another. Traditional requirements models emphasize the goals of the stakeholders above their interactions. However, the participants in a sociotechnical system may not adopt the goals of the stakeholders involved in its specification. We motivate, Protos, a requirements engineering approach that gives prominence to the interactions of autonomous parties and specifies a sociotechnical system in terms of its participants' social relationships, specifically, commitments. The participants can adopt any goal they like, a key basis for innovative behavior, as long as they interact according to the commitments. Protos describes an abstract requirements engineering process as a series of refinements that seek to satisfy stakeholder requirements by incrementally expanding a specification set and an assumption set, and reducing requirements until all requirements are accommodated. We demonstrate this process via the London Ambulance System described in the literature.

41 citations


Proceedings ArticleDOI
29 Sep 2014
TL;DR: This paper presents an approach to handle different situations when comparing and attempting to comply with multiple Regulations as part of a goal-oriented modeling framework named LEGAL-URN, which helps organizations find suitable trade-offs and priorities when complying with multiple regulations while at the same time trying to meet their own business objectives.
Abstract: Most systems and business processes in organizations need to comply with more than one law or regulation. Different regulations can partially overlap (e.g., one can be more detailed than the other) or even conflict with each other. In addition, one regulation can permit an action whereas the same action in another regulation might be mandatory or forbidden. In each of these cases, an organization needs to take different strategies. This paper presents an approach to handle different situations when comparing and attempting to comply with multiple regulations as part of a goal-oriented modeling framework named LEGAL-URN. This framework helps organizations find suitable trade-offs and priorities when complying with multiple regulations while at the same time trying to meet their own business objectives. The approach is illustrated with a case study involving a Canadian health care organization that must comply with four laws related to privacy, quality of care, freedom of information, and care consent.

41 citations


Proceedings ArticleDOI
01 Aug 2014
TL;DR: This paper extends prior work in mining quality concerns from textual documents and applies a sequence of machine learning steps to detect quality-related requirements, generate goal graphs contextualized by project-level information, and ultimately to visualize the results.
Abstract: Software requirements specifications often focus on functionality and fail to adequately capture quality concerns such as security, performance, and usability. In many projects, quality-related requirements are either entirely lacking from the specification or intermingled with functional concerns. This makes it difficult for stakeholders to fully understand the quality concerns of the system and to evaluate their scope of impact. In this paper we present a data mining approach for automating the extraction and subsequent modeling of quality concerns from requirements, feature requests, and online forums. We extend our prior work in mining quality concerns from textual documents and apply a sequence of machine learning steps to detect quality-related requirements, generate goal graphs contextualized by project-level information, and ultimately to visualize the results. We illustrate and evaluate our approach against two industrial health-care related systems.

39 citations


Proceedings ArticleDOI
29 Sep 2014
TL;DR: A novel use of requirements traceability to accurately locate where the software should be refactored, and a new scheme to precisely determine what refactorings should be applied to the identified places is developed.
Abstract: Just-in-time requirements management, character- ized by lightweight representation and continuous refinement of requirements, fits many iterative and incremental development projects. Being lightweight and flexible, however, can cause wasteful and procrastinated implementation, leaving certain stakeholder goals not satisfied. This paper proposes traceability- enabled refactoring aimed at fulfilling more requirements fully. We make a novel use of requirements traceability to accurately locate where the software should be refactored, and develop a new scheme to precisely determine what refactorings should be applied to the identified places. Our approach is evaluated through an industrial study. The results show that our approach recommends refactorings more appropriately than a contempo- rary recommender. Index Terms—requirements management; just-in-time require- ments; traceability; refactoring;

Proceedings ArticleDOI
01 Aug 2014
TL;DR: Two tradeoffs brought about the openness in software ecosystems are discussed: i) allowing open, transparent communication while keeping intellectual property confidential within the ecosystem, and ii) having the ability to act globally on a long-term strategy while empowering product teams to act locally to answer end-users' context specific needs in a timely manner.
Abstract: A growing number of software systems is charac- terized by continuous evolution as well as by significant interde- pendence with other systems (e.g. services, apps). Such software ecosystems promise increased innovation power and support for consumer oriented software services at scale, and are character- ized by a certain openness of their information flows. While such openness supports project and reputation management, it also brings some challenges to Requirements Engineering (RE) within the ecosystem. We report from a mixed-method study of IBM R 's CLM R ecosystem that uses an open commercial development model. We analyzed data from from interviews within several ecosystem actors, participatory observation, and software repos- itories, to describe the flow of product requirements information through the ecosystem, how the open communication paradigm in software ecosystems provides opportunities for 'just-in-time' RE, as well as some of the challenges faced when traditional requirements engineering approaches are applied within such an ecosystem. More importantly, we discuss two tradeoffs brought about the openness in software ecosystems: i) allowing open, transparent communication while keeping intellectual property confidential within the ecosystem, and ii) having the ability to act globally on a long-term strategy while empowering product teams to act locally to answer end-users' context specific needs in a timely manner. Index Terms—requirements engineering; software ecosystem; mixed method

Proceedings ArticleDOI
29 Sep 2014
TL;DR: It is observed that the requirements definition and negotiation processes are directly affected by their fluid collaborative and competitive relationships, and the impacts of their tightening partnership on software product management, with a focus on requirements engineering practices.
Abstract: Increasingly, small to medium software producing organisations are working together in collaboration networks to supply complex compositions of their products and services to customers. In this paper, we present a case study of two software companies that are evolving their partnership towards the creation of a software ecosystem. We investigate the impacts of their tightening partnership on software product management, with a focus on requirements engineering practices. We observe that the requirements definition and negotiation processes are directly affected by their fluid collaborative and competitive relationships. Power disputes, volatile roles and mismatches in release synchronisation are also aspects observed in the studied software ecosystem. We extract several observations from the case study that support small to medium software firms in making decisions within their software ecosystem.

Proceedings ArticleDOI
01 Aug 2014
TL;DR: The approach is demonstrated and evaluated using a substantive example concerned with physical access control and the Ambient Calculus is used to represent the topology of the operational environment - including location of assets and agents - and to identify future system states that are reachable from the current one.
Abstract: Adaptive security systems aim to protect critical assets in the face of changes in their operational environment. We have argued that incorporating an explicit representation of the environment’s topology enables reasoning on the location of assets being protected and the proximity of potentially harmful agents. This paper proposes to engineer topology aware adaptive security systems by identifying violations of security requirementsthat may be caused by topological changes, and selecting a setof security controls that prevent such violations. Our approach focuses on physical topologies; it maintains at runtime a live representation of the topology which is updated when assets or agents move, or when the structure of the physical space is altered. When the topology changes, we look ahead at a subset of the future system states. These states are reachable when the agents move within the physical space. If security requirements can be violated in future system states, a configuration of security controls is proactively applied to prevent the system from reaching those states. Thus, the system continuously adapts to topological stimuli, while maintaining requirements satisfaction. Security requirements are formally expressed using a propositional temporal logic, encoding spatial properties in Computation Tree Logic (CTL). The Ambient Calculus is used to represent the topology of the operational environment - including location of assets and agents - as well as to identify future system states that are reachable from the current one. The approach is demonstrated and evaluated using a substantive example concerned with physical access control.

Proceedings ArticleDOI
29 Sep 2014
TL;DR: This paper presents a technique to exploit the information contained in previously defined traces, in order to facilitate the creation and ongoing maintenance of traces, as the requirements evolve.
Abstract: Traceability among requirements artifacts (and beyond, in certain cases all the way to actual implementation) has long been identified as a critical challenge in industrial practice.

Proceedings ArticleDOI
29 Sep 2014
TL;DR: This work reports the experience and results of eliciting user requirements for a situation awareness indoor orientation system dedicated to the visually impaired and performs a knowledge elicitation through three different studies to formulate the system's situation awareness requirements.
Abstract: NRequirement s elicitation can be a challenging process in many systems. This challenge can be greater with a non-standard user population , such as visually impaired users. In this work, we report our experience and results of eliciting user requirements for a situation awareness indoor orientation system dedicated to the visually impaired. We elicited our initial system requirement s through three different studies that focus on users along with orientation and mobility instruc tors. Also , we perform ed a knowledge elicitation through our studies to formulate our systemOs situation awareness requirements. support userOs decisions. Second, SA design helps in deciding Index Terms NVisual impairment , requirement s elicitation, situation awareness requirements, assistive technology , and qualitativ e analysis . I. I NTRODUCTION The World Health O rganization (WHO) estimated that there are currently 285 million people who have a visual impairment [4]. Visually impaired (VI) persons can be either legally or totally blind. Legally blind means having the visual acuity of 20/200 in the better eye due to a vision problem that cannot be corrected, a limited vision field, or a visual disorder [3]. While sighted people rely on their vision to understand and orient themselves in unfamiliar indoor environments, VI persons rely on their other senses to underst and such environments . This reliance, however, causes many challenges that this class of users faces. For instance, VI users might get distracted and veer from their path in any unfamiliar , noisy indoor environment. VI challenges in the unfamiliar buildings motivate us to develop an assistive orientation technology that helps to raise their environmental situation awareness of unfamiliar indoor en vironments, and therefore accommodate userOs orientation. Situation awareness (SA) is known as the Othe perception of the elements in the environment within a volume of time and space, the comprehension of their meaning and the projection of their status in the near future O [16]. Due to the scope of this paper, we will not discuss the SA design. Orientation is Othe ability to use oneOs remaining senses to understand oneOs location in the environment at any given time [1].O Visually impaired users face man y orientation challenges when they enter unfamiliar indoor environments. Tasks, like for example, realizing the surround ing important landmarks , can be difficult in unknown environments as users try to pickup cues and comprehend them to build their mental model. A mental model is a cognitive term that refers to the phenomenon of having an imaginary mental image that depends on a personOs knowledge and experiences [7]. The SA design approach was selected for this work for two reasons. First, the SA design a pproach is useful for systems that what and when to present information to the user s, while maintaining an acceptable information flow that allow s the users to comprehend presented infor mation [5]. The VI need to be able to focus on the environment while using our system. Requirements elicitation with a non -standard population poses many challe nges as software engineers need to understand the problem domain. With VI users, many challenges are pr esented such as the absence of visual aid s to discuss user Os needs. In this study, we discussed our work with two different stakeholder populations to elicit and define initial requirements for a n SA orientation assistive technology to enhance VI orientation in unfamiliar indoor environments. The system goal is to enhance VI user Os performance in unfamiliar indoor environments by providing them with an assistive technology that helps in raising their SA of the surrounding environment. To elicit the system requirements we performed a series of three requirement elicitation studies: domain understanding, orientation and mobility (O&M) recommendations , and survey -based studies. O&M is defined as teaching VI persons th e required skills to be able to travel safely and efficiently in any environment [2]. Eliciting O&M instructorsO knowledge is very important for our design as they can provide recommended guidelines that help in enhancing VI userOs mobility and safety when orienting in unfamiliar indoor environments. Our elicitation studiesO goal is to realize user Os problems and to elicit initial user and SA requirements. Our contribution in this paper can be summarized as conduction of the SA requirement sO elicitation and analysis of VI usersO orientation in unfamiliar indoor environments . Our results can help other researchers who are conducting further

Proceedings ArticleDOI
29 Sep 2014
TL;DR: This paper presents an integrative security knowledge model and a heuristic method to detect vulnerabilities in requirements based on reported security incidents and proposes a method based on natural language analysis to refine and to adapt security knowledge.
Abstract: Security is an increasingly important quality facet in modern information systems and needs to be retained. Due to a constantly changing environment, long-living software sys- tems "age" not by wearing out, but by failing to keep up-to- date with their environment. The problem is that requirements engineers usually do not have a complete overview of the security- related knowledge necessary to retain security of long-living software systems. This includes security standards, principles and guidelines as well as reported security incidents. In this paper, we focus on the identification of known vulnerabilities (and their variations) in natural-language requirements by leveraging security knowledge. For this purpose, we present an integrative security knowledge model and a heuristic method to detect vulnerabilities in requirements based on reported security in- cidents. To support knowledge evolution, we further propose a method based on natural language analysis to refine and to adapt security knowledge. Our evaluation indicates that the proposed assessment approach detects vulnerable requirements more reliable than other methods (Bayes, SVM, k-NN). Thus, requirements engineers can react faster and more effectively to a changing environment that has an impact on the desired security level of the information system. Index Terms—Security requirements, Heuristics, Requirements analysis, Software evolution, Knowledge carrying software

Proceedings ArticleDOI
29 Sep 2014
TL;DR: This work describes a novel technique for early decision-making and tradeoff analysis using goal models with uncertainty, which analyzes goal satisfaction over sets of models that can result from resolving uncertainty.
Abstract: Requirements Engineering (RE) involves eliciting, understanding, and capturing system requirements, which naturally involves much uncertainty. During RE, analysts choose among alternative requirements, gradually narrowing down the system scope, and it is unlikely that all requirements uncertainties can be resolved before such decisions are made. There is a need for methods to support early requirements decision-making in the presence of uncertainty. We address this need by describing a novel technique for early decision-making and tradeoff analysis using goal models with uncertainty. The technique analyzes goal satisfaction over sets of models that can result from resolving uncertainty. Users make choices over possible analysis results, allowing our tool to find critical uncertainty reductions which must be resolved. An iterative methodology guides the resolution of uncertainties necessary to achieve desired levels of goal satisfaction, supporting trade-off analysis in the presence of uncertainty.

Proceedings ArticleDOI
29 Sep 2014
TL;DR: This work proposes a new method that combines an inquiry-cycle based approach with the feature diagram notation to review only relevant patterns and quickly select the most appropriate patterns for the situation.
Abstract: Security requirements patterns represent reusable security practices that software engineers can apply to improve security in their system. Reusing best practices that others have employed could have a number of benefits, such as decreasing the time spent in the requirements elicitation process or improving the quality of the product by reducing product failure risk. Pattern selection can be difficult due to the diversity of applicable patterns from which an analyst has to choose. The challenge is that identifying the most appropriate pattern for a situation can be cumbersome and time-consuming. We propose a new method that combines an inquiry-cycle based approach with the feature diagram notation to review only relevant patterns and quickly select the most appropriate patterns for the situation. Similar to patterns themselves, our approach captures expert knowledge to relate patterns based on decisions made by the pattern user. The resulting pattern hierarchies allow users to be guided through these decisions by questions, which introduce related patterns in order to help the pattern user select the most appropriate patterns for their situation, thus resulting in better requirement generation. We evaluate our approach using access control patterns in a pattern user study.

Proceedings ArticleDOI
29 Sep 2014
TL;DR: The approach does not depend on a set of original adaptation cases, but employs goal reasoning to provide adaptation solutions when no similar cases are available, and case-based reasoning is used to provide more precise adaptation decisions that better reflect the complex relations among requirements violations, contexts, and current behaviours.
Abstract: Requirements-driven approaches provide an effective mechanism for self-adaptive systems by reasoning over their runtime requirements models to make adaptation decisions. However, such approaches usually assume that the relations among alternative behaviours, environmental parameters and requirements are clearly understood, which is often simply not true. Moreover, they do not consider the influence of the current behaviour of an executing system on adaptation decisions. In this paper, we propose an improved requirements-driven self-adaptation approach that combines goal reasoning and case-based reasoning. In the approach, past experiences of successful adaptations are retained as adaptation cases, which are described by not only requirements violations and contexts, but also currently deployed behaviours. The approach does not depend on a set of original adaptation cases, but employs goal reasoning to provide adaptation solutions when no similar cases are available. And case-based reasoning is used to provide more precise adaptation decisions that better reflect the complex relations among requirements violations, contexts, and current behaviours by utilizing past experiences. Our experimental study with an online shopping benchmark shows that our approach outperforms both requirements-driven approach and case-based reasoning approach in terms of adaptation effectiveness and overall quality of the system.

Proceedings ArticleDOI
29 Sep 2014
TL;DR: A systematic technique for integrating obstacle resolutions as countermeasure goals into goal models is described, shown to guarantee progress towards a complete goal model and to preserve the correctness of refinements in the overall model.
Abstract: Missing requirements are known to be among the major sources of software failure. Incompleteness often results from poor anticipation of what could go wrong with an over-ideal system. Obstacle analysis is a model-based, goal-anchored form of risk analysis aimed at identifying, assessing and resolving exceptional conditions that may obstruct the behavioral goals of the target system. The obstacle resolution step is obviously crucial as it should result in more adequate and more complete requirements. In contrast with obstacle identification and assessment, however, this step has little support beyond a palette of resolution operators encoding tactics for producing isolated countermeasures to single risks. In particular, there is no single clue to date as to where and how such countermeasures should be integrated within a more robust goal model. To address this problem, the paper describes a systematic technique for integrating obstacle resolutions as countermeasure goals into goal models. The technique is shown to guarantee progress towards a complete goal model; it preserves the correctness of refinements in the overall model; and keeps the original, ideal model visible to avoid cluttering the latter with a combinatorial blow-up of exceptional cases. To allow for this, the goal specification language is slightly extended in order to capture exceptions to goals seperately and distinguish normal situations from exceptional ones. The proposed technique is evaluated on a non-trivial ambulance dispatching system.

Proceedings ArticleDOI
01 Aug 2014
TL;DR: The approach to elicit quality-impact relationships and to use them for specifying quality requirements has been applied with user representatives in requirements workshops and used for determining Quality of Service requirements based the involved users' Quality of Experience.
Abstract: Quality requirements, an important class of non functional requirements, are inherently difficult to elicit. Particularly challenging is the definition of good-enough quality. The problem cannot be avoided though, because hitting the right quality level is critical. Too little quality leads to churn for the software product. Excessive quality generates unnecessary cost and drains the resources of the operating platform. To address this problem, we propose to elicit the specific relationships between software quality levels and their impacts for given quality attributes and stakeholders. An understanding of each such relationship can then be used to specify the right level of quality by deciding about acceptable impacts. The quality-impact relationships can be used to design and dimension a software system appropriately and, in a second step, to develop service level agreements that allow re-use of the obtained knowledge of good-enough quality. This paper describes an approach to elicit such quality-impact relationships and to use them for specifying quality requirements. The approach has been applied with user representatives in requirements workshops and used for determining Quality of Service (QoS) requirements based the involved users’ Quality of Experience (QoE). The paper describes the approach in detail and reports early experiences from applying the approach. Index Terms-Requirement elicitation, quality attributes, non-functional requirements, quality of experience (QoE), quality of service (QoS).

Proceedings ArticleDOI
01 Aug 2014
TL;DR: This paper presents an approach to feature-oriented requirements validation for automotive systems w.r.t. both functional behaviors and non-functional properties by following a restricted use case modeling approach and then formalizes such specifications by using a formal yet literate language for analysis.
Abstract: With the growing complexity of embedded real-time systems, requirements validation becomes an ever-more critical activity for developing such systems. Studies have revealed that most of the anomalies, discovered in the development of complex systems, belong to requirement and specification phases. To ease the situation, many efforts have been investigated into the area. Model-based techniques, enabling formal semantics and requirements traceability, are emerging as promising solutions to cost-effective requirements validation. In these techniques, the functional behaviors derived from lower-level requirements are specified in terms of analyzable models at a certain level of abstraction. Further, upper-level requirements are formalized into verifiable queries and/or formulas. Meanwhile, trace links between requirements at various levels of abstraction as well as between requirements and subsequent artifacts (such as verifiable queries and/or formulas, and analyzable models) are built, through which the queries and/or formulas can be fed into the corresponding models. However, such model-based techniques suffer from some limitations, such as how to support semi- or fully-automatic trace links creation between diverse development artifacts, how to ease the demand of heavy mathematics background knowledge to specify queries and/or formulas, and how to analyze models without encountering the state explosion problem. In this thesis, we cover two aspects centering around requirements validation to ease the aforementioned limitations, which are mainly about requirements traceability and model-based requirements validation. In particular, the technical contributions are four-fold: 1) we have introduced an improved VSM-based requirements traceability creation/recovery approach using a novel context analysis and, 2) we have proposed a lightweight model-based approach to requirements validation by using the Timed Abstract State Machine (TASM) language with newly defined Observer and Event constructs and, 3) we have combined our model-based approach with a restricted use case modeling approach for feature-oriented requirements validation and, 4) we have improved the Observer construct of TASM via proposing a new observer specification logic to facilitate the observer specification, as well as defining the corresponding observer execution process. Finally, we have demonstrated the applicability of our contributions in real world usage through various applications.

Proceedings ArticleDOI
29 Sep 2014
TL;DR: This paper proposes a solution for automated detection and resolution of legal cross references and ground its work on Luxembourg's legislative texts, both for studying the natural language patterns in cross reference expressions and for evaluating the accuracy and scalability of the solution.
Abstract: When elaborating compliance requirements, ana- lysts need to follow the cross references in the underlying legal texts and consider the additional information in the cited provisions. To enable easier navigation and handling of cross references, automation is necessary for recognizing the natural language patterns used in cross reference expressions (cross reference detection), and for interpreting these expressions and linking them to the target provisions (cross reference resolution). In this paper, we propose a solution for automated detection and resolution of legal cross references. We ground our work on Luxembourg's legislative texts, both for studying the natural lan- guage patterns in cross reference expressions and for evaluating the accuracy and scalability of our solution. Index Terms—Legal Compliance,Legal Texts,Cross References.

Proceedings ArticleDOI
01 Jan 2014
TL;DR: GUITAR is a tool which delivers automated detection of incorrectness, incompleteness and inconsistency between artifacts, based on the goal-use case integration meta-model and ontologies of domain knowledge and semantics.
Abstract: Combining goal-oriented and use case modeling has been proven to be an effective method in requirements elicitation and elaboration. However, current requirements engineering approaches generally lack reliable support for automated analysis of such modeled artifacts. To address this problem, we have developed GUITAR, a tool which delivers automated detection of incorrectness, incompleteness and inconsistency between artifacts. GUITAR is based on our goal-use case integration meta-model and ontologies of domain knowledge and semantics. GUITAR also provides comprehensive explanations for detected problems and can suggest resolution alternatives.

Proceedings ArticleDOI
25 Aug 2014
TL;DR: The VARED tool chain aims to provide an integrated environment to analyze and verify the requirements and early design of a system.
Abstract: Requirements are a part of every project life cycle; everything going forward in a project depends on them. Good requirements are hard to write, there are few useful tools to test, verify, or check them, and it is difficult to properly marry them to the subsequent design, especially if the requirements are written in natural language. In fact, the inconsistencies and errors in the requirements along with the difficulty in finding these errors contribute greatly to the cost of the testing and verification stage of flight software projects [1]. Large projects tend to have several thousand requirements written at various levels by different groups of people. The design process is distributed and a lack of widely accepted standards for requirements often results in a product that varies widely in style and quality. A simple way to improve this would be to standardize the design process using a set of tools and widely accepted requirements design constraints. The difficulty with this approach is finding the appropriate constraints and tools. Common complaints against the tools available include ease of use, functionality, and available features. Also, although preferable, it is rare that these tools are capable of testing the quality of the requirements.

Proceedings ArticleDOI
01 Aug 2014
TL;DR: An approach to requirements discovery that is developed to passively monitor users for signs of cognitive decline consistent with the onset of dementia is described and reflected on the affect issues for RE and for technology acceptance.
Abstract: Novel envisioned systems face the risk of rejection by their target user community and the requirements engineer must be sensitive to the factors that will determine acceptance or rejection. Conventionally, technology acceptance is determined by perceived usefulness and ease-of-use, but in some domains other factors play an important role. In healthcare systems, particularly, ethical and emotional factors can be crucial. In this paper we describe an approach to requirements discovery that we developed for such systems. We describe how we have applied our approach to a novel system to passively monitor users for signs of cognitive decline consistent with the onset of dementia. A key challenge was eliciting users’ reactions to emotionally charged events never before experienced by them at first hand. Our goal was to understand the range of users’ emotional responses and their values and motivations, and from these formulate requirements that would maximise the likelihood of acceptance of the system. The problem was heightened by the fact that the key stakeholders were elderly people who represent a poorly studied user constituency. We discuss the elicitation and analysis methodologies used, and our experience with tool support. We conclude by reflecting on the affect issues for RE and for technology acceptance.

Proceedings ArticleDOI
01 Aug 2014
TL;DR: A case study adopting a protocol to help requirements engineers to derive safety functional requirements from Fault Tree Analysis, based on a study performed in a Brazilian company in the area of electronic medical devices.
Abstract: State-of-the-art in Requirements Engineering offers many frameworks and techniques to enable requirements engineers in their work. However, for critical systems there are gaps in state-of-the-art, and these can result in dire consequences, potentially putting lives in danger and damage infrastructure and threaten the environment. A well known technique used to help requirements engineers to understand safety hazards situations in the context of safety-critical software is Fault Tree Analysis (FTA). This technique is a good one to decompose hazards identified in the system context into events that may put the system functionalities in risk. However, FTA does not offer a protocol of how to derive safety functional requirements from fault trees. In this paper we present a case study adopting a protocol to help requirements engineers to derive safety functional requirements from FTA. The proposed protocol was based on a study performed in a Brazilian company in the area of electronic medical devices. The development of prototype of a low cost insulin infusion pump, which is a critical system, offered the basis to propose and test a protocol to derive safety functional requirements from FTA. During the case study we collected evidences that help us to discuss if FTA is sufficient to guide software engineers to implement the corresponding control software and also if FTA offers enough information to help requirements engineers to derive safety functional requirements.

Proceedings ArticleDOI
Maya Daneva1
29 Sep 2014
TL;DR: This exploratory study investigates how practitioners developing MMOGs reason about gameplay requirements and handle them in their projects, and finds that in MMOG projects, gameplay is endless within a MMOG, and gameplay happens both in-game and out-of-the game.
Abstract: Gameplay requirements are central to game development. In the business context of massive multiplayer online role-playing games (MMOGs) where game companies' revenues rely on players' monthly subscriptions, gameplay is also recognized as the key to player retention. However, information on what gameplay requirements are and how practitioners `engineer' them in real life is scarce. This exploratory study investigates how practitioners developing MMOGs reason about gameplay requirements and handle them in their projects. 12 practitioners from three leading MMOGs-producing companies were interviewed and their gameplay requirements documents were reviewed. The study's most important findings are that in MMOG projects: (1) gameplay requirements are co-created with players, (2) are perceived and treated by practitioners as sets of choices and consequences, (3) gameplay is endless within a MMOG, and while gameplay requirements do not support any game-end goal, they do support a level-end goal, (4) `paper-prototyping' and play-testing are pivotal to gameplay validation, (5) balancing the elements of the gameplay is an on-going task, perceived as the most difficult and labor-consuming, (6) gameplay happens both in-game and out-of-the game. We conclude with discussion on validity threats to our results and on implications for research and practice.

Proceedings ArticleDOI
29 Sep 2014
TL;DR: TiQi, a natural language approach, which allows users to write or speak trace queries in their own words, is introduced, which includes a vocabulary and associated grammar learned from analyzing NL queries collected from trace practitioners.
Abstract: One of the surprising observations of traceability in practice is the under-utilization of existing trace links. Organizations often create links in order to meet compliance requirements, but then fail to capitalize on the potential benefits of those links to provide support for activities such as impact analysis, test regression selection, and coverage analysis. One of the major adoption barriers is caused by the lack of accessibility to the underlying trace data and the lack of skills many project stakeholders have for formulating complex trace queries. To address these challenges we introduce TiQi, a natural language approach, which allows users to write or speak trace queries in their own words. TiQi includes a vocabulary and associated grammar learned from analyzing NL queries collected from trace practitioners. It is evaluated against trace queries gathered from trace practitioners for two different project environments.