Now showing 1 - 10 of 26
  • Publication
    A Requirements Engineering Perspective to AI-Based Systems Development: A Vision Paper
    ( 2023)
    Franch, Xavier
    ;
    ;
    Martínez-Fernández, Silverio
    Context and motivation: AI-based systems (i.e., systems integrating some AI model or component) are becoming pervasive in society. A number of characteristics of AI-based systems challenge classical requirements engineering (RE) and raise questions yet to be answered. Question: This vision paper inquires the role that RE should play in the development of AI-based systems with a focus on three areas: roles involved, requirements’ scope and non-functional requirements. Principal Ideas: The paper builds upon the vision that RE shall become the cornerstone in AI-based system development and proposes some initial ideas and roadmap for these three areas. Contribution: Our vision is a step towards clarifying the role of RE in the context of AI-based systems development. The different research lines outlined in the paper call for further research in this area.
  • Publication
    Preface
    ( 2021)
    Ardito, Luca
    ;
    ;
    Morisio, Maurizio
    ;
    Torchiano, Marco
  • Publication
    Developing and Operating Artificial Intelligence Models in Trustworthy Autonomous Systems
    ( 2021)
    Martínez-Fernández, Silverio
    ;
    Franch, Xavier
    ;
    ;
    Oriol, Marc
    ;
    Companies dealing with Artificial Intelligence (AI) models in Autonomous Systems (AS) face several problems, such as users' lack of trust in adverse or unknown conditions, gaps between software engineering and AI model development, and operation in a continuously changing operational environment. This work-in-progress paper aims to close the gap between the development and operation of trustworthy AI-based AS by defining an approach that coordinates both activities. We synthesize the main challenges of AI-based AS in industrial settings. We reflect on the research efforts required to overcome these challenges and propose a novel, holistic DevOps approach to put it into practice. We elaborate on four research directions: (a) increased users' trust by monitoring operational AI-based AS and identifying self-adaptation needs in critical situations; (b) integrated agile process for the development and evolution of AI models and AS; (c) continuous deployment of different context-specific instances of AI models in a distributed setting of AS; and (d) holistic DevOps-based lifecycle for AI-based AS.
  • Publication
    Tackling consistency-related design challenges of distributed data-intensive systems an action research study
    ( 2021) ;
    Deßloch, Stefan
    ;
    Wolff, Eberhard
    ;
    ;
    Background: Distributed data-intensive systems are increasingly designed to be only eventually consistent. Persistent data is no longer processed with serialized and transactional access, exposing applications to a range of potential concurrency anomalies that need to be handled by the application itself. Controlling concurrent data access in monolithic systems is already challenging, but the problem is exacerbated in distributed systems. To make it worse, only little systematic engineering guidance is provided by the software architecture community regarding this issue. Aims: In this paper, we report on our study of the effectiveness and applicability of the novel design guidelines we are proposing in this regard. Method: We used action research and conducted it in the context of the software architecture design process of a multi-site platform development project. Results: Our hypotheses regarding effectiveness and applicability have been accepted in the context of the study. The initial design guidelines were refined throughout the study. Thus, we also contribute concrete guidelines for architecting distributed data-intensive systems with eventually consistent data. The guidelines are an advancement of Domain-Driven Design and provide additional patterns for the tactical design part. Conclusions: Based on our results, we recommend using the guidelines to architect safe eventually consistent systems. Because of the relevance of distributed data-intensive systems, we will drive this research forward and evaluate it in further domains.
  • Publication
    Q-rapids tool prototype
    ( 2018)
    López, Lidia
    ;
    Martínez-Fernández, Silverio
    ;
    Gómez, Cristina
    ;
    Choras, Michal
    ;
    Kozik, Rafal
    ;
    Guzmán, Liliana
    ;
    ;
    Franch, Xavier
    ;
    Software quality is an essential competitive factor for the success of software companies today. Increasing the software quality levels of software products and services requires an adequate integration of quality requirements (QRs) in the software life-cycle, which is still scarcely supported in current rapid software development (RSD) approaches. One of the goals of the Q-Rapids (Quality-aware Rapid Software Development) method is providing tool support to decision-makers for QR management in RSD. The Q-Rapids method is based on gathering data from several and heterogeneous sources, to be aggregated into quality-related strategic indicators (e.g., customer satisfaction, product quality) and presented to decision-makers using a highly informative dashboard. The current release of Q-Rapids Tool provides four sets of functionality: (1) data gathering from source tools (e.g. GitLab, Jira, SonarQube, and Jenkins), (2) aggregation of data into three levels of abstraction (metrics, product/process factors, and strategic indicators), (3) visualization of the aggregated data, and (4) navigation through the aggregated data. The tool has been evaluated by four European companies that follow RSD processes.
  • Publication
    A Quality Model for Actionable Analytics in Rapid Software Development
    ( 2018)
    Martínez-Fernández, Silverio
    ;
    ;
    Guzmán, Liliana
    ;
    Background: Accessing relevant data on the product, process, and usage perspectives of software as well as integrating and analyzing such data is crucial for getting reliable and timely actionable insights aimed at continuously managing software quality in Rapid Software Development (RSD). In this context, several software analytics tools have been developed in recent years. However, there is a lack of explainable software analytics that software practitioners trust. Aims: We aimed at creating a quality model (called Q-Rapids quality model) for actionable analytics in RSD, implementing it, and evaluating its understandability and relevance. Method: We performed workshops at four companies in order to determine relevant metrics as well as product and process factors. We also elicited how these metrics and factors are used and interpreted by practitioners when making decisions in RSD. We specified the Q-Rapids quality model by comparing and integrating the results of the four workshops. Then we implemented the Q-Rapids tool to support the usage of the Q-Rapids quality model as well as the gathering, integration, and analysis of the required data. Afterwards we installed the Q-Rapids tool in the four companies and performed semi-structured interviews with eight product owners to evaluate the understandability and relevance of the Q-Rapids quality model. Results: The participants of the evaluation perceived the metrics as well as the product and process factors of the Q-Rapids quality model as understandable. Also, they considered the Q-Rapids quality model relevant for identifying product and process deficiencies (e.g., blocking code situations). Conclusions: By means of heterogeneous data sources, the Q-Rapids quality model enables detecting problems that take more time to find manually and adds transparency among the perspectives of system, process, and usage.
  • Publication
    Towards Automated Data Integration in Software Analytics
    ( 2018)
    Martínez-Fernández, Silverio
    ;
    Jovanovic, Petar
    ;
    Franch, Xavier
    ;
    Software organizations want to be able to base their decisions on the latest set of available data and the real-time analytics derived from them. In order to support "real-time enterprise" for software organizations and provide information transparency for diverse stakeholders, we integrate heterogeneous data sources about software analytics, such as static code analysis, testing results, issue tracking systems, network monitoring systems, etc. To deal with the heterogeneity of the underlying data sources, we follow an ontology-based data integration approach in this paper and define an ontology that captures the semantics of relevant data for software analytics. Furthermore, we focus on the integration of such data sources by proposing two approaches: a static and a dynamic one. We first discuss the current static approach with a predefined set of analytic views representing software quality factors and further envision how this process could be automated in order to dynamically build custom user analysis using a semi-automatic platform for managing the lifecycle of analytics infrastructures.
  • Publication
    Data-driven elicitation, assessment and documentation of quality requirements in agile software development
    ( 2018)
    Franch, Xavier
    ;
    Gómez, Cristina
    ;
    ;
    López, Lidia
    ;
    Martínez-Fernández, Silverio
    ;
    Oriol, Marc
    ;
    Partanen, Jari
    Quality Requirements (QRs) are difficult to manage in agile software development. Given the pressure to deploy fast, quality concerns are often sacrificed for the sake of richer functionality. Besides, artefacts as user stories are not particularly well-suited for representing QRs. In this exploratory paper, we envisage a data-driven method, called Q-Rapids, to QR elicitation, assessment and documentation in agile software development. Q-Rapids proposes: (1) The collection and analysis of design and runtime data in order to raise quality alerts; (2) The suggestion of candidate QRs to address these alerts; (3) A strategic analysis of the impact of such requirements by visualizing their effect on a set of indicators rendered in a dashboard; (4) The documentation of the requirements (if finally accepted) in the backlog. The approach is illustrated with scenarios evaluated through a questionnaire by experts from a telecom company.
  • Publication
    How can quality awareness support rapid software development? - A research preview
    ( 2017)
    Guzman, Liliana
    ;
    Oriol, Marc
    ;
    Rodríguez, Pilar
    ;
    Franch, Xavier
    ;
    ;
    Oivo, Markku
    Context and Motivation: Rapid software development (RSD) refers to the organizational capability to develop, release, and learn from software in rapid cycles without compromising its quality. To achieve RSD, it is essential to understand and manage software quality along the software lifecycle. Question/Problem: Despite the numerous information sources related to product quality, there is a lack of mechanisms for supporting continuous quality management throughout the whole RSD process. Principal ideas/Results: We propose Q-Rapids, a data-driven, quality-aware RSD framework in which quality and functional requirements are managed together. Quality requirements are incrementally elicited and refined based on data gathered at both development time and runtime. Project, development, and runtime data is aggregated into quality-related indicators to support decision makers in steering future development cycles. Contributions: Q-Rapids aims to increase software quality through continuous data gathering and analysis, as well as continuous management of quality requirements.
  • Publication
    Data-driven requirements engineering in agile projects: The Q-rapids approach
    ( 2017)
    Franch, Xavier
    ;
    Ayala, Claudia P.
    ;
    López, Lidia
    ;
    Martínez-Fernández, Silverio
    ;
    Rodríguez, Pilar
    ;
    Gómez, Cristina
    ;
    ;
    Oivo, Markku
    ;
    Partanen, Jari
    ;
    Räty, Timo
    ;
    Rytivaara, Veikko
    Requirements identification, specification and management are key activities in the software development process. In the last years, many approaches to these activities have emerged, based on the exploitation of huge amounts of data gathered from software repositories and system usage. The Q-Rapids project proposes the collection and analysis of such data and its consolidation into a set of strategic indicators as product quality, time to market and team productivity. These indicators are visualized through a dashboard designed to support decision-makers. In this paper, we present the ongoing research undertaken in this project. We use the concept of blocking situation to exemplify the Q-Rapids approach.