47 research outputs found
ELICA: An Automated Tool for Dynamic Extraction of Requirements Relevant Information
Requirements elicitation requires extensive knowledge and deep understanding
of the problem domain where the final system will be situated. However, in many
software development projects, analysts are required to elicit the requirements
from an unfamiliar domain, which often causes communication barriers between
analysts and stakeholders. In this paper, we propose a requirements ELICitation
Aid tool (ELICA) to help analysts better understand the target application
domain by dynamic extraction and labeling of requirements-relevant knowledge.
To extract the relevant terms, we leverage the flexibility and power of
Weighted Finite State Transducers (WFSTs) in dynamic modeling of natural
language processing tasks. In addition to the information conveyed through
text, ELICA captures and processes non-linguistic information about the
intention of speakers such as their confidence level, analytical tone, and
emotions. The extracted information is made available to the analysts as a set
of labeled snippets with highlighted relevant terms which can also be exported
as an artifact of the Requirements Engineering (RE) process. The application
and usefulness of ELICA are demonstrated through a case study. This study shows
how pre-existing relevant information about the application domain and the
information captured during an elicitation meeting, such as the conversation
and stakeholders' intentions, can be captured and used to support analysts
achieving their tasks.Comment: 2018 IEEE 26th International Requirements Engineering Conference
Workshop
What Works Better? A Study of Classifying Requirements
Classifying requirements into functional requirements (FR) and non-functional
ones (NFR) is an important task in requirements engineering. However, automated
classification of requirements written in natural language is not
straightforward, due to the variability of natural language and the absence of
a controlled vocabulary. This paper investigates how automated classification
of requirements into FR and NFR can be improved and how well several machine
learning approaches work in this context. We contribute an approach for
preprocessing requirements that standardizes and normalizes requirements before
applying classification algorithms. Further, we report on how well several
existing machine learning methods perform for automated classification of NFRs
into sub-categories such as usability, availability, or performance. Our study
is performed on 625 requirements provided by the OpenScience tera-PROMISE
repository. We found that our preprocessing improved the performance of an
existing classification method. We further found significant differences in the
performance of approaches such as Latent Dirichlet Allocation, Biterm Topic
Modeling, or Naive Bayes for the sub-classification of NFRs.Comment: 7 pages, the 25th IEEE International Conference on Requirements
Engineering (RE'17
Two Sides of the Same Coin: Software Developers' Perceptions of Task Switching and Task Interruption
In the constantly evolving world of software development, switching back and
forth between tasks has become the norm. While task switching often allows
developers to perform tasks effectively and may increase creativity via the
flexible pathway, there are also consequences to frequent task-switching. For
high-momentum tasks like software development, "flow", the highly productive
state of concentration, is paramount. Each switch distracts the developers'
flow, requiring them to switch mental state and an additional immersion period
to get back into the flow. However, the wasted time due to time fragmentation
caused by task switching is largely invisible and unnoticed by developers and
managers. We conducted a survey with 141 software developers to investigate
their perceptions of differences between task switching and task interruption
and to explore whether they perceive task switchings as disruptive as
interruptions. We found that practitioners perceive considerable similarities
between the disruptiveness of task switching (either planned or unplanned) and
random interruptions. The high level of cognitive cost and low performance are
the main consequences of task switching articulated by our respondents. Our
findings broaden the understanding of flow change among software practitioners
in terms of the characteristics and categories of disruptive switches as well
as the consequences of interruptions caused by daily stand-up meetings