Now showing 1 - 10 of 54
  • 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
    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
    Data-Driven Technical Debt Management: Software Engineering or Data Science Challenge?
    Software technical debt (TD) is a relevant software engineering problem. Only if properly managed can TD provide benefits while avoiding risks. Current TD management (TDM) support is limited. Recent advances in software engineering (SE) and data science (DS) promote data-driven TDM. In this paper, we summarize experiences concerning data-driven TDM gained in several research projects with industry. We report challenges and their consequences, propose solutions, and sketch improvement directions.
  • Publication
    Preface
    ( 2021)
    Ardito, Luca
    ;
    ;
    Morisio, Maurizio
    ;
    Torchiano, Marco
  • 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
    Deutsche Normungsroadmap Künstliche Intelligenz
    Die deutsche Normungsroadmap Künstliche Intelligenz (KI) verfolgt das Ziel, für die Normung Handlungsempfehlungen rund um KI zu geben, denn sie gilt in Deutschland und Europa in fast allen Branchen als eine der Schlüsseltechnologien für künftige Wettbewerbsfähigkeit. Die EU geht davon aus, dass die Wirtschaft in den kommenden Jahren mit Hilfe von KI stark wachsen wird. Umso wichtiger sind die Empfehlungen der Normungsroadmap, die die deutsche Wirtschaft und Wissenschaft im internationalen KI-Wettbewerb stärken, innovationsfreundliche Bedingungen schaffen und Vertrauen in die Technologie aufbauen sollen.
  • Publication
    Continuously Assessing and Improving Software Quality With Software Analytics Tools: A Case Study
    ( 2019)
    Martínez-Fernández, Silverio
    ;
    ; ;
    Franch, Xavier
    ;
    López, Lidia
    ;
    Ram, Prabhat
    ;
    Rodríguez, Pilar
    ;
    Aaramaa, Sanja
    ;
    Bagnato, Alessandra
    ;
    Choras, Michal
    ;
    Partanen, Jari
    In the last decade, modern data analytics technologies have enabled the creation of software analytics tools offering real-time visualization of various aspects related to software development and usage. These tools seem to be particularly attractive for companies doing agile software development. However, the information provided by the available tools is neither aggregated nor connected to higher quality goals. At the same time, assessing and improving the software quality has also been the key targets for the software engineering community, yielding several proposals for standards and software quality models. Integrating such quality models into software analytics tools could close the gap by providing the connection to higher quality goals. This paper aims at understanding whether the integration of quality models into software analytics tools provides understandable, reliable, useful, and relevant information at the right level of detail about the quality of a process or product and whether practitioners intend to use it. Over the course of more than a year, four companies involved in this case study deployed such a tool to assess and improve software quality in several projects. We used standardized measurement instruments to elicit the perception of 22 practitioners regarding their use of the tool. We complemented the findings with debriefing sessions held at the companies. In addition, we discussed challenges and lessons learned with four practitioners leading the use of the tool. The quantitative and qualitative analyses provided positive results, i.e., the practitioners' perception with regard to the tool's understandability, reliability, usefulness, and relevance was positive. Individual statements support the statistical findings, and constructive feedback can be used for future improvements. We conclude that the potential for future adoption of quality models within software analytics tools definitely exists and encourage other practitioners to use the presented seven challenges and seven lessons learned and adopt them in their companies.
  • Publication
    Empirical software engineering experts on the use of students and professionals in experiments
    ( 2018)
    Falessi, Davide
    ;
    Juristo, Natalia
    ;
    Wohlin, Claes
    ;
    Turhan, Burak
    ;
    Münch, Jürgen
    ;
    ;
    Oivo, Markku
    [Context] Controlled experiments are an important empirical method to generate and validate theories. Many software engineering experiments are conducted with students. It is often claimed that the use of students as participants in experiments comes at the cost of low external validity while using professionals does not. [Objective] We believe a deeper understanding is needed on the external validity of software engineering experiments conducted with students or with professionals. We aim to gain insight about the pros and cons of using students and professionals in experiments. [Method] We performed an unconventional, focus group approach and a follow-up survey. First, during a session at ISERN 2014, 65 empirical researchers, including the seven authors, argued and discussed the use of students in experiments with an open mind. Afterwards, we revisited the topic and elicited experts' opinions to foster discussions. Then we derived 14 statements and asked the ISERN attendees excluding the authors, to provide their level of agreement with the statements. Finally, we analyzed the researchers' opinions and used the findings to further discuss the statements. [Results] Our survey results showed that, in general, the respondents disagreed with us about the drawbacks of professionals. We, on the contrary, strongly believe that no population (students, professionals, or others) can be deemed better than another in absolute terms. [Conclusion] Using students as participants remains a valid simplification of reality needed in laboratory contexts. It is an effective way to advance software engineering theories and technologies but, like any other aspect of study settings, should be carefully considered during the design, execution, interpretation, and reporting of an experiment. The key is to understand which developer population portion is being represented by the participants in an experiment. Thus, a proposal for describing experimental participants is put forward.
  • 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
    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.