
Anna PeriniFondazione Bruno Kessler | FBK · CIT-SE
Anna Perini
About
254
Publications
55,583
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
6,676
Citations
Citations since 2017
Introduction
Skills and Expertise
Publications
Publications (254)
Requirements Engineering aims at supporting the understanding of the purpose of a software system to be built, and at keeping the whole design and development process aligned with it. Research in Requirements Engineering (RE) provides methods and techniques to support various activities in the requirements life cycle, from requirements elicitation...
Multimedia tutorials are more and more considered for online professional training as a valuable complement to traditional in presence training. Indeed, video and pictures can offer rich detail, show relevant context, and provide concrete visualisations of key concepts. An important aspect of achieving effective learning is to create an engaging ex...
App reviews provide a rich source of feature-related information that can support requirement engineering activities. Analysing them manually to find this information, however, is challenging due to their large quantity and noisy nature. To overcome the problem, automated approaches have been proposed for ‘feature-specific analysis’. Unfortunately,...
According to data-driven Requirements Engineering (RE), explicit and implicit user feedback can be considered a relevant source of requirements, thus supporting requirements elicitation. However, limited attention has been paid so far to the role of online feedback in RE tasks, such as requirements validation, and on how to specify what online feed...
App reviews can provide valuable information about user needs but analyzing them manually is challenging due to their large quantity and noisy nature. To overcome this problem, a variety of app review mining techniques have been proposed. So far, however, research in this area has paid little attention to the software engineering use cases of the m...
Artificial Intelligence (AI) systems are pervasively exploited to manipulate large sets of data, support data-driven decisions, as well as to replace or collaborate with humans in performing boring tasks that require high level precision. Awareness of the need of engineering approaches that align with ethical principles is increasing and motivates...
The original version of this article, unfortunately, contained mistakes. The surname of the first author, Jacek Dąbrowski, was misspelled throughout the online version of the article as “Dębrowski.” The surname, however, is correct in the PDF version. The original article has been corrected.
Collaborative artificial intelligence systems (CAISs) aim to work with
humans in a shared space to achieve a common goal, but this
can pose hazards that could harm human beings. We identify
emerging problems in this context and report our vision of and
progress toward a risk-driven assurance process for CAISs.
Collaborative AI systems (CAISs) aim at working together with humans in a shared space to achieve a common goal. This critical setting yields hazardous circumstances that could harm human beings. Thus, building such systems with strong assurances of compliance with requirements, domain-specific standards and regulations is of greatest importance. O...
Context
Feedback from end users of software applications is a valuable resource in understanding what users request, what they value, and what they dislike. Information derived from user-feedback can support software evolution activities, such as requirements prioritization. User-feedback analysis is still mostly performed manually by practitioners...
Context and motivation. Collaborative AI systems aim at working together with humans in a shared space. Building these systems, which comply with quality requirements, domain specific standards and regulations is a challenging research direction. This challenge is even more exacerbated for new generation of systems that leverage on machine learning...
[Context and motivation] According to Data-Driven Requirements Engineering (RE), explicit and implicit user feedback can be considered a relevant source of requirements, thus supporting requirements elicitation. [Question/problem] Less attention has been paid so far to the role of implicit feedback in RE tasks, such as requirements validation, and...
Collaborative AI systems aim at working together with humans in a shared space to achieve a common goal. This setting imposes potentially hazardous circumstances due to contacts that could harm human beings. Thus, building such systems with strong assurances of compliance with requirements domain specific standards and regulations is of greatest im...
[Context and motivation] Collaborative AI systems aim at working together with humans in a shared space. Building these systems, which comply with quality requirements, domain specific standards and regulations is a challenging research direction. This challenge is even more exacerbated for new generation of systems that leverage on machine learnin...
Interactive videos are becoming common in distance learning, especially for training on procedures to be executed in critical situations, as a complement to simulation sessions in real settings. To this end, research in educational technology devotes attention to the definition of methodologies and authoring tools for teachers and instructional des...
Interactive videos are becoming common as e-Learning tools, applied to different knowledge areas and for different teaching objectives. Active research concerns the definition of methodologies and authoring tools for teachers and instructional designers for the creation of interactive videos, as well as studies on how to evaluate their effectivenes...
Educational videos are massively used in e-learning, while their adoption in professional training as a complement to class sessions needs more careful evaluation. We are investigating opportunities and challenges to use video tutorial for continuous training of professionals in emergency management in the context of an industrial project, called E...
App reviews provide a rich source of user opinions that can support requirement engineering activities. Analysing them manually to find these opinions, however, is challenging due to their large quantity and noisy nature. To overcome the problem, automated approaches have been proposed for so-called opinion mining. These approaches facilitate the a...
App reviews provide a rich source of user opinions that can support requirement engineering activities. Analysing them manually to find these opinions, however, is challenging due to their large quantity and noisy nature. To overcome the problem, automated approaches have been proposed for so-called opinion mining. These approaches facilitate the a...
Gamification is increasingly applied to engage people in performing tool-supported collaborative tasks. From previous experiences we learned that available gamification guidelines are not sufficient, and more importantly that motivational and acceptance aspects need to be considered when designing gamified software applications. To understand them,...
[Context and motivation] App reviews can be a rich source of information for requirements engineers. Recently, many approaches have been proposed to classify app reviews as bug reports, feature requests, or to elicit requirements. [Question/problem] None of these approaches, however, allow requirements engineers to search for users’ opinions about...
[Context and motivation] App reviews can be a rich source of information for requirements engineers. Recently, many approaches have been proposed to classify app reviews as bug reports, feature requests, or to elicit requirements. [Question/problem] None of these approaches, however, allow requirements engineers to search for users’ opinions about...
This keynote addresses the challenges and opportunities for today requirements engineering, which are introduced by the ever growing amount of data generated by software at use. Data analytics techniques, which exploit artificial intelligence algorithms can be used to build tools to support requirements engineers to take faster and better quality d...
Gamification is receiving more and more attention by researchers and practitioners who want to motivate people to participate in various software-supported tasks. Although its
promising nature, there is the risk that many gamified software applications will fail. This is also caused by missing guidelines and methods, which support a structured deve...
Dynamic reconfiguration of software systems can be achieved by exploiting variability models of such systems, combined with mechanisms for selecting and instantiating the appropriate system configuration. We developed a model-driven approach for dynamic software reconfiguration, which uses a component profile-oriented feature model for representing...
Online discussions about software applications and services that take place on web-based communication platforms represent an invaluable knowledge source for diverse software engineering tasks, including requirements elicitation. The amount of research work on developing effective tool-supported analysis methods is rapidly increasing, as part of th...
Making decisions is part of the everyday life of any organization. Documenting such decisions is important to allow organizational members to learn from past mistakes, and to support newcomers in adjusting into the organization. However, nowadays, decisions are usually documented in unstructured ways, which makes it hard to find and interpret them....
Nowadays gamification is frequently employed in many different group activities to keep contribution high. Also in the software development context (e.g., in requirements engineering tasks) gamification is becoming a popular approach for team activities that are supported by software tools.
Despite some practical guidelines are available and severa...
Context and motivation] Gamification is increasingly applied to engage people in performing tool-supported collaborative tasks. Previous experiences demonstrated that: i) available gamification guidelines are not sufficient; ii) motivational and acceptance aspects need to be considered; iii) stakeholders need to be involved in the design. [Question...
Software Product Lines (SPLs) capture commonalities and variability of product families, typically represented by means of feature models. The selection of a set of suitable features when a software product is configured is typically made by exploring the space of tread-offs along different attributes of interest, for instance cost and value. In th...
Automated decision-making techniques are useful to support engineers when performing requirements engineering tasks. However, to be effectively used in practice they need to be integrated into the organisational context, in which stakeholder engagement becomes a critical adoption factor. In this paper, we propose a tool-supported collaborative requ...
Requirements prioritisation is a key decision making activity of the software development process, which relies on the capability of different decision-makers to identify the optimal candidate rankings of the requirements, in order to be able to perform a strategic choice among them. In this paper, we formulate such multi-decision-maker requirement...
Open Source Software (OSS) components are characterised by heterogeneous licenses that give the possibility to use, modify and often redistribute the source code. Their adoption meets several adopter's needs, such as cost reduction, standards alignment, and so on. However, often OSS projects retain several different (or missing) licenses for the va...
Feedback about software applications and services that end-users express through web-based communication platforms represents an invaluable knowledge source for diverse software engineering tasks, including requirements elicitation. Research work on automated analysis of textual messages in app store reviews, open source software (OSS) mailing-list...
This book is intended to discuss important issues concerning Requirements Engineering (RE) and Human-Computer Interaction (HCI), especially the ones related to usability and accessibility. It is dedicated to observations, concepts, approaches, frameworks and practices that promote understanding, facilitating, and increasing the awareness of the rol...
This book constitutes the thoroughly refereed post-conference proceedings of the
First International Workshop on Usability and Accessibility focused Requirements
Engineering, UsARE 2012, held in Zurich, Switzerland, in June 2012 in conjunction
with ICSE 2012, the 34th International Conference on Software Engineering, and the
Second International Wo...
Online user feedback is principally used as an information source for evaluating customers' satisfaction for a given goods, service or software application. The increasing attitude of people towards sharing comments through the social media is making online user feedback a resource containing different types of valuable information. The huge amount...
The increasing demand for complex and distributed software calls for novel software engineering methods and techniques, to create systems able to autonomously adapt to dynamically changing situations. In this paper, we present a framework for engineering requirements for adaptive software systems. The approach, called Tropos4AS, combines goal-orien...
Open-Source Software (OSS) community members report bugs, request features or clarifications by writing messages (in unstructured natural language) to mailing lists. Analysts examine them dealing with an effort demanding and error prone task, which requires reading huge threads of emails. Automated support for retrieving relevant information and pa...
Stakeholders working in open-source software development use social media, emails or any available means in the Internet to communicate and express what they want or need through the use of text. The recognition of such needs or desires (that we call intentions) is usually done by a human reader, and it can require a considerable effort when the am...
Large, distributed software development projects, like Open Source Software (OSS), adopt different collaborative working tools, including online forums and mailing list discussions that are valuable source of knowledge for requirements engineering tasks in software evolution, such as model revision and evolution. In our research, we aim at providin...
The term user feedback is becoming widely used in requirements engineering (RE) research to refer to the comments and evaluations that users express upon having experienced the use of a software application or service. This explicit feedback takes place in virtual spaces (e.g., issue tracking systems, app stores), aiming, for instance, at reporting...
The problem of regulatory compliance for a software system consists of ensuring through a systematic, tool-supported process that the system complies with all elements of a relevant law. To deal with the problem, we build a model of the law and contrast it with a model of the requirements of the system. In earlier work, we proposed a modelling lang...
The potential of mobile technologies is not fully exploited by current software services. One of the most influencing reasons for this problem is the lack of novel software engineering methods and tools that can master the complexity of mobile environments. Looking at a person in a smart environment, where mobile technologies and sensors are instal...
The rapid and worldwide diffusion of applications for smartphones (apps hereafter) has produced a complex ecosystem composed by users, apps, developers and vendors with sometimes contrasting and sometimes matching interests. In the literature, this ecosystem has been investigated from multiple perspectives with different kinds of empirical approach...
Large, distributed software development projects rely on the collaboration of culturally heterogeneous and geographically distributed stakeholders. Software requirements, as well as solution ideas are elicited in distributed processes, which increasingly use online forums and mailing lists, in which stakeholders mainly use free or semi-structured n...
[Context and motivation] User forums provide a virtual space in which participants post comments, upon their experience in using a software, that analysts can eventually redirect to an issue tracking system. Before users post any comment, they should search for a request that is the closest to the one they are about to submit. In doing this, they c...
A self-adaptive software system modifies its behavior at runtime in response to changes within the system or in its execution environment. The fulfillment of the system requirements needs to be guaranteed even in the presence of adverse conditions and adaptations. Thus, a key challenge for self-adaptive software systems is assurance. Traditionally,...
The increasing participation of users of software applications in online discussions is attracting the attention of researchers in requirements elicitation to look at this channel of communication as potential source of requirements knowledge. Taking the perspective of software engineers who analyse online discussions, the task of identifying bugs...
Nowadays, developers and service providers put a lot of effort on collecting and analyzing user feedback with the purpose of improving their applications and services. This motivates the proposal of new tools to collect and analyze feedback. In our work, we develop a user feedback ontology, aimed at clarifying the concepts of this domain. For that,...
Semantic annotation of visual models is useful to provide a precise, formal meaning to model elements, thus making them more understandable to people, enabling a deeper analysis of requirements and automated reasoning. We present an approach for the enrichment of visual models of an organization, with annotations characterized by a semantics define...
Regulatory compliance is gaining attention from information systems engineers who must design systems that at the same time satisfy stakeholder requirements and comply with applicable laws. In our previous work, we have introduced a conceptual modelling language called Nòmos 2 that aids requirements engineers analyze law to identify alternative way...
ContextOver the years, several modeling languages for requirements have been proposed. These languages employ different conceptual approaches, including scenario-based and goal-oriented ones. Empirical studies providing evidence about requirements model comprehensibility are rare, especially when addressing languages that belong to different modeli...
A software system complies with a regulation if its operation is consistent with the regulation under all circumstances. The importance of regulatory compliance for software systems has been growing, as regulations are increasingly impacting both the functional and non-functional requirements of legacy and new systems. HIPAA and SOX are recent exam...
Nòmos is a framework for modelling law-compliant solutions in software system design. It provides a core set of concepts to enable exploring and selecting alternatives in a variability space defined by laws, a graphical notation to visualize models, and tool support for compliance analysis. This short paper illustrates the features above and sketch...
Goal-oriented approaches in requirements engineering aim at under-standing stakeholders' needs, modelling the intentions, dependencies and expec-tation to be met by a system-to-be, or by a new release of an existing system in a software evolution process. In the context of software evolution, we consider user feedback, as commonly available in user...
[Context and motivation] Compliance to relevant laws is increasingly recognized as a critical, but also expensive, quality for software requirements. [Question/Problem] Laws contain elements such as conditions and derogations that generate a space of possible compliance alternatives. During requirements engineering, an analyst has to select one of...
Deciding which, among a set of requirements, are to be considered first and in which order is a strategic process in software development. This task is commonly referred to as requirements prioritization. This paper describes a requirements prioritization method called Case-Based Ranking (CBRank), which combines project's stakeholders preferences w...
Usability and accessibility issues are common causes why software fails to meet user requirements. However, requirements engineers still focus on functional requirements and might ignore to also elicit system usability and accessibility requirements. This is a high risk which can lead to project and software failure. Improving the usability and acc...
Usability and accessibility issues are common causes why software fails to meet user requirements. However, requirements engineers still focus on functional requirements and might ignore to also elicit system usability and accessibility requirements. This is a high risk which can lead to project and software failure. Improving the usability and acc...
Self-adaptive software systems modify their behaviour at runtime in response to changes in the system or its environment. The fulfilment of the system requirements and reachability of the system goals needs to be guaranteed even in the presence of adaptations. Thus, a key challenge for self-adaptive software systems is assurance. Traditionally, con...
Currently, i* is one of the most well founded organizational modelling techniques. Its main feature is the expressibility to represent intentional social relations among stakeholders. In i * models, each mod- eling component is described explicitly through text labels. However, the process of labeling model elements is usually an activity which is...