<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>Workshops and Research Projects Track, May</journal-title>
      </journal-title-group>
      <issn pub-type="ppub">1613-0073</issn>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Systems⋆</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Nicole Novielli</string-name>
          <email>nicole.novielli@uniba.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Rocco Oliveto</string-name>
          <email>rocco.oliveto@unimol.it</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Fabio Palomba</string-name>
          <email>fpalomba@unisa.it</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Fabio Calefato</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Giuseppe Colavito</string-name>
          <email>giuseppe.colavito@uniba.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Vincenzo De Martino</string-name>
          <email>vdemartino@unisa.it</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Antonio Della Porta</string-name>
          <email>adellaporta@unisa.it</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Giammaria Giordano</string-name>
          <email>giagiordano@unisa.it</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Emanuela Guglielmi</string-name>
          <email>emanuela.guglielmi@unimol.it</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Filippo Lanubile</string-name>
          <email>filippo.lanubile@uniba.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Luigi Quaranta</string-name>
          <email>luigi.quaranta@uniba.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Gilberto Recupito</string-name>
          <email>grecupito@unisa.it</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Simone Scalabrino</string-name>
          <email>simone.scalabrino@unimol.it</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Angelica Spina</string-name>
          <email>a.spina5@studenti.unimol.it</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Antonio Vitale</string-name>
          <email>a.vitale8@studenti.unimol.it</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="editor">
          <string-name>Software Engineering, Machine Learning, Quality Assurance, Recommender Systems</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Bari</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Molise</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>University of Salerno</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2024</year>
      </pub-date>
      <volume>1</volume>
      <fpage>4</fpage>
      <lpage>17</lpage>
      <abstract>
        <p>QualAI is a two-year project that aims to define a set of recommenders to continuously monitor, assess, and improve the quality of AI-based systems, with a particular focus on ML-based systems. Quality assurance will be guaranteed from diferent perspectives and during both the development and operations phases. We will define recommenders for the quality assurance of both data and ML models to enable practitioners to mitigate technical debt. Emphasis will be given to communication issues that could arise in hybrid teams including data scientists and software developers. In this paper, we present the project outline, provide an executive summary of the research activities, and present the expected project results.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>CEUR
ceur-ws.org</p>
    </sec>
    <sec id="sec-2">
      <title>1. Introduction and Motivation</title>
      <p>
        In 2020, Google Health released an extremely accurate AI software for identifying diabetic
retinopathy in pictures of patients’ eyes. The classifier achieved over 90% accuracy and provided
a diagnosis in less than 10 minutes. Unfortunately, when deployed for use in hospitals, the
AIbased classifier experienced a drop in performance compared to the lab setting. Also, the system
often failed to provide an outcome: being trained with high-resolution pictures, it discarded
over one-fith of images due to their low quality. This caused delays of up to months to obtain
a diagnosis, resulting in complaints from patients [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. This accident shows how assessing
performance in the lab might not be enough to ensure the quality of AI-based systems, as the
success of a machine learning (ML) model does not consist exclusively of its accuracy. Special
attention should be devoted to users’ needs and context of action as well as to the integration
of ML models with non-ML software as part of a large AI-based system,
In a typical software system, given the requirements, the behavior is always specified by the
developers. In an ML-based system, instead, data scientists define the operationalization of
constructs playing a role in the addressed problem. Also, they build a training set, and identify
the envisaged ML technique , which then defines the system behavior (ML models). Such
systems require maintenance and quality assurance like any other system but special attention
should be devoted to the typical issues afecting the quality of data and ML models [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. As such,
assessing and improving the quality of ML-based systems presents unique challenges involving
diferent aspects, which we discuss in the following. First, quality issues can be found in the ML
models that the system uses to build it or its parameters, as well as in the data used for training
them. For example, the historical data once used to train the ML model cannot be used blindly
because they may become outdated and no longer reflect the status quo, due to a concept drift
that might be occurring. Second, communication issues might arise as the teams working on
ML-based systems are intrinsically heterogeneous. Several peculiar quality issues may arise,
related, for example, to team communication and technological gaps, e.g., data scientists and
software developers may use incompatible technologies. Finally, further issues might arise at
the level of deployment and operations. The automated build process of some modules of an
ML-based system and the construction of container images often require training one or more
ML models. Specific quality issues may occur in this phase.
      </p>
      <p>In essence, developers and data scientists are now confronted with the challenge of being
more agile and adaptive. More specifically, new methods and strategies are needed for keeping
ML-based systems responsive, monitored, and dependent on reliable variables. MLOps1 is an ML
engineering culture and practice that aims at dealing with the above challenges. MLOps unifies
the ML system development (Dev) and ML system operation (Ops) advocating for automation
and monitoring at all steps of ML system construction, including integration, testing, releasing,
deployment, and infrastructure management, thus representing an umbrella for best practices
and guiding principles around machine learning.</p>
      <p>
        The above considerations motivate this project proposal. QualAI aims to define a set of
recommenders that can be used to continuously monitor, assess, and improve the quality of
AI-based systems, with a particular focus on ML-based systems. Quality assurance will be
guaranteed from diferent perspectives and during both the development and operations phases.
We will define recommenders for the quality assurance of both data and ML models. Results
will allow practitioners to mitigate technical debt [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Emphasis will be given to communication
issues that could arise between data scientists and software developers. Finally, we will define
approaches to (i) identify quality issues in the CI/CD pipeline; and (ii) monitor the quality
of the system during the operations phase. QualAI will, both, facilitate the analysis of the
recommendations (thanks to their explainability) and the planning of the corrective operations
suggested by QualAI (thanks to the cost-efective analysis). A web platform integrating the
recommenders for assessing the quality of ML-based systems will be released to produce quality
badges summarizing the quality of a given AI-based system.
      </p>
      <p>QualAI is a two-year project that has been funded in July 2023 by the European Union
NextGenerationEU through the PRIN 2022 call for projects of the Italian Ministry of University
and Research for projects. In the following we provide a description of the research goals and
an executive summary, by also positioning this research in the frame of related work.</p>
    </sec>
    <sec id="sec-3">
      <title>2. Goals and Expected Results</title>
      <p>Project Goal and Final Outcome The goal of QualAI is to define a set of recommenders
to improve the quality of AI-based systems, in general, and of ML-systems, in particular, from
diferent perspectives: data and ML models, ML integration, and deployment and operations.
This goal will be achieved by monitoring the quality of the ML-based system during its whole
life-cycle aiming at collecting useful information to automatically assess its level of quality. Once
a quality issue, i.e., technical debt, has been identified, corrective operations will be suggested
to remove the technical debt and improve the overall quality of the ML-based system.</p>
      <p>
        All the QualAI recommendations will have a cost-efective and explainable connotation. They
will be designed to rank the identified issues or the identified corrective operations based on
the ratio between the potential costs that developers should spend to address the issue, e.g.,
change the ML model, and the potential benefits that their removal might provide to the overall
quality of the ML-based system. Also, each recommendation is enriched with a human-readable
explanation, in textual or visual form, see for instance Bellini et al. [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], providing the rationale
behind the identified issues or the identified corrective actions. Such properties will increase
the practitioners’ confidence in the recommendations received and make informed decisions.
The QualAI recommenders can be properly designed to be easily integrated into a Continuous
Integration/Continuous Deployment (CI/CD) pipeline aiming at continuously improving the
quality of ML-based systems.
      </p>
      <p>The final outcome of the QualAI projects is represented by a set of recommenders able to
assess and improve the quality of ML-based systems. Figure 1 shows the overall workflow of
QualAI. The recommenders composing QualAI are activated when a developer or data scientist
commits a change to the ML-based system. Then, QualAI analyzes the quality of the new version
of the ML-based system from diferent perspectives: data and ML models, ML integration, and
deployment and operations. The pipeline of QualAI recommenders can be easily integrated
into the original CI/CD pipeline of the ML-based system to allow continuous quality assurance.
In this respect, QualAI also provides specific recommenders to optimize and improve the CI/CD
pipeline. The quality assessment is performed by the Quality Assessment component of QualAI.
At the end of the analysis, the QualAI Quality Assessment component provides as output a
set of quality badges (one for each quality dimension analyzed) that summarize the quality
of the system and emphasize specific quality issues. These badges could be used by a project
manager to simply analyze the quality of the system or as a support to certify that the ML
system has a certain level of quality. The QualAI Quality Assessment component also provides
information (e.g., the quality problem identified and its location) to the Quality Improvement
component of QualAI. The Quality Improvement component is in charge to identify corrective
actions (i.e., refactoring operations) aiming at removing the identified issues and thus improving
the overall quality of the system. Each recommendation is accompanied by a description in
a human-comprehensible format as well as an analysis of the cost-benefits for each proposed
operation. Such analyses will facilitate the planning and the schedule of the proposed operations
(e.g., the software analyst could decide to focus the attention on the most critical issues and
postpone the others).</p>
      <p>Both the Quality Assessment and Quality Improvement components rely on the monitoring
framework of QualAI, i.e., the shared knowledge base which all the recommenders are based
on. Such a knowledge base is continuously and automatically updated and contains resources
internal (e.g., source code, ML models, training data, issues, logs, mailing lists, user reviews) to
the ML system under analysis and external to the system (e.g., source code and related artifacts
of other ML-based software projects, question and answer sites).</p>
      <p>The accuracy of the QualAI recommenders will be empirically evaluated. We plan to conduct
mixed-method research that combines (1) the mining of data science projects, which aims at
establishing the accuracy of the recommenders; and (2) survey- and interview-based studies
with developers to get feedback on the efectiveness of the proposed recommenders. In the
context of the study, we will define guidelines for conducting such empirical studies and for
creating and sharing replication packages. We also plan to apply the QualAI recommenders on
a set of industrial software systems and involve practitioners by exploiting the collaboration
with our industrial partners.</p>
      <p>Objectives and Expected Results To the overall goal of our research project, we will address
the following objectives.</p>
      <p>• OB1: Definition of a monitoring framework for knowledge management . As a shared
preliminary objective, we will define what data sources should be considered and what
formats should be used to represent the data. More specifically, in this project we will
analyze developers’ communication (e.g., on collaboration platforms), user feedback
(e..g, through application reviews), source code and notebooks, and build logs through
continuous integration tools, application logs from monitoring tools. The commonly used
ML process models will be reviewed and synthesized as a preliminary step, to ensure that
the approaches defined as an outcome of the other objectives provide adequate support
for most of the realistic application scenarios of ML-based systems. The expected result
of this activity is a common framework that will be used in all the following phases.
• OB2: Definition of approaches for assessing and improving the quality of data and ML
models. We will consider the causes leading to the degradation of several properties
of ML systems, including robustness, eficiency, privacy, interpretability, fairness, and
reproducibility. As a result, we plan to build a comprehensive catalog of the issues
afecting the above-mentioned properties as well as the mitigation strategies that can
improve them. To this aim, we will define novel approaches to identify issues in the
data used for training the models, in the machine learning techniques used to build
them, and in their configuration, based on, both, static and dynamic analysis. In this
respect, we plan to propose recommenders that balance the cost needed to address the
issues identified and the associated efectiveness. Also, all the recommendations will be
explainable, in an efort of facilitating the identification of more critical issues to address.
The second expected result is a set of cost-efective recommendation techniques that can
automatically improve data and model quality.
• OB3: Definition of approaches for assessing and improving the quality of the integration
between the underlying ML models and the rest of the system. We will focus on several
relevant aspects, including team communication, technical gap, and system security. The
ifrst expected result is a set of cost-efective techniques that can automatically detect
quality issues at integration and system level. To achieve this goal, we will define novel
approaches for detecting quality issues both in the integration (process-oriented) and
in the resulting system (product-oriented). Such approaches will be mostly based on
static analysis techniques (e.g., detection of community and code smells). Finally, novel
approaches will be defined for automatically improving the quality of the integration
(e.g., techniques for automatically adapting the technologies used by data scientists to
production-ready code) and of the resulting system (e.g., ML-based system-specific
refactoring operations). We also plan to devise approaches based on data-driven techniques,
which will still follow an explainable and cost-efective philosophy. The second expected
result is a set of cost-efective approaches to recommend operations for fixing the quality
issues at the ML integration level.
• OB4: Definition of approaches for assessing and improving the quality of deployment and
operation of ML-based systems. We will focus on the CI/CD philosophy and, specifically,
on the configuration of the pipelines for building the final product and checking its quality.
Indeed, suboptimal configurations of such pipelines may hinder the quality of the final
product. We will also focus on virtualization and/or containerization and, specifically,
on the composition of the images describing the execution environments of the system
components. Finally, we will focus on the software log quality. The first expected result
is a set of techniques that can automatically detect quality issues at the deployment and
operation levels. To achieve this goal, we will define novel approaches based on static
analysis techniques (e.g., detection of configuration smells for Docker files) and dynamic
analysis techniques (e.g., analysis of the execution logs). The second expected result is a
set of cost-efective approaches that can recommend operations to fix the quality issues
at the deployment and operation levels. Especially, new approaches will be defined for
automatically improve the quality of deployment and operation.</p>
    </sec>
    <sec id="sec-4">
      <title>3. State of the Art</title>
      <p>In the following, we overview the literature on the three pillars of QualAI.</p>
      <p>
        Data and ML Models Studies were conducted to describe issues afecting data and ML model
quality. Sculley et al. [
        <xref ref-type="bibr" rid="ref2 ref4">4, 2</xref>
        ] identified design issues that threaten robustness, relevance, and
eficiency. Recently, taxonomies and causes of bugs for deep learning applications were also
developed [
        <xref ref-type="bibr" rid="ref5 ref6">5, 6</xref>
        ]. Bugs were generally related to wrong configuration of ML models, which
impacts their robustness, or to misinterpretation of the ML model, leading data scientists to
not understand its predictions. Zhang et al. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] elicited open challenges in ML testing showing
that the most critical issues afecting the reliability of ML systems concern their robustness,
fairness, and correctness. Brun and Meliou [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] urged SE researchers to address the challenges
of designing fair software. Further studies [
        <xref ref-type="bibr" rid="ref10 ref11 ref9">9, 10, 11</xref>
        ] described the challenges of reproducing
computational notebooks, i.e., tools designed to make data analysis easier to document and
reproduce. Recent studies proposed tools to detect anomalies or ineficiencies in datasets before
feeding them into ML pipelines [
        <xref ref-type="bibr" rid="ref12 ref13">12, 13</xref>
        ]. All these studies highlight the importance of data and
model quality for building successful AI systems. However, the few available studies represent
a call for further research on investigating quality issues related to AI systems and defining
recommenders to improve their overall quality.
      </p>
      <p>
        ML Integration Quality assurance of ML integration is challenging due to the diferent
backgrounds of data scientists, who build ML models, and software developers, who make the
ML models available in the system [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. Recommenders were proposed to detect such social
smells that occur, for example, when communication lacks between teams working on diferent
system components [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. Sculley et al. [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] highlighted that cultural debt may arise when teams
with diferent skills collaborate, and process management debt may accrue when many ML
models are run in the same system, leading to problems with resource management and the
model maintenance. Kim (2020) described roles and responsibilities that diferent stakeholders
should have when debugging and testing ML models at diferent development stages. Zhang
et al. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] highlighted that security problems in ML systems may appear not only in the model
in isolation but also in the integration with the rest of the system. Indeed, ML systems can be
vulnerable to unique attacks, such as model stealing or data poisoning, which might compromise
their integrity and confidentiality. The literature mostly focuses on understanding issues related
to ML integration quality. Only recently, researchers have started investigating communication
issues in multidisciplinary teams for AI-based software development [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. We plan to further
investigate communication challenges in the development of ML systems.
      </p>
      <p>
        Deployment and Operations A few studies investigated how to appropriately deploy AI
systems, especially concerning how to set up CI/CD pipelines. Recent research pointed out
the need for ML-specific pipelines that consider common needs, like the availability of models
with good accuracy or suitable training data - thus supporting the idea of establishing quality
control mechanisms for ML systems. Karlas et al. [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] defined a tool for integrating ML tools
within existing CI/CD pipelines. Humbatova et al. [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]identified further issues related to model
configuration, e.g., API-related issues, which call for additional tools. Cito et al. [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] analyzed
common quality issues of Dockerfiles in open-source projects, while Wu et al. [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] defined a
proper catalog of configuration smells for such files. No previous studies specifically addressed
the problem of quality assurance for ML system containerization. The literature does not
provide enough support to specialists in properly deploying ML systems. We also found no
techniques for monitoring ML systems in production.
      </p>
    </sec>
    <sec id="sec-5">
      <title>Acknowledgments</title>
      <p>This research was funded by the European Union - NextGenerationEU through the Italian
Ministry of University and Research, Projects PRIN 2022 (“QualAI: Continuous Quality Improvement
of AI-based Systems”, grant n. 2022B3BP5S, CUP: H53D23003510006).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>E.</given-names>
            <surname>Beede</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Baylor</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Hersch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Iurchenko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Wilcox</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Ruamviboonsuk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L. M.</given-names>
            <surname>Vardoulakis</surname>
          </string-name>
          ,
          <article-title>A human-centered evaluation of a deep learning system deployed in clinics for the detection of diabetic retinopathy</article-title>
          ,
          <source>in: Proc. of the 2020 CHI Conf. on Human Factors in Computing Systems, CHI '20</source>
          ,
          <string-name>
            <surname>ACM</surname>
          </string-name>
          ,
          <year>2020</year>
          , p.
          <fpage>1</fpage>
          -
          <lpage>12</lpage>
          . doi:
          <volume>10</volume>
          .1145/3313831.3376718.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>D.</given-names>
            <surname>Sculley</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Holt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Golovin</surname>
          </string-name>
          , E. Davydov,
          <string-name>
            <given-names>T.</given-names>
            <surname>Phillips</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Ebner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Chaudhary</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Young</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.-F.</given-names>
            <surname>Crespo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Dennison</surname>
          </string-name>
          ,
          <article-title>Hidden technical debt in machine learning systems</article-title>
          ,
          <source>in: Proc. of the 28th Int'l Conf. on Neural Information Processing Systems - Volume 2, NIPS'15</source>
          , MIT Press,
          <year>2015</year>
          , p.
          <fpage>2503</fpage>
          -
          <lpage>2511</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>V.</given-names>
            <surname>Bellini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Schiavone</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T. Di</given-names>
            <surname>Noia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ragone</surname>
          </string-name>
          ,
          <string-name>
            <surname>E. Di Sciascio</surname>
          </string-name>
          ,
          <article-title>Knowledge-aware autoencoders for explainable recommender systems</article-title>
          ,
          <source>in: Proc. of the 3rd Workshop on Deep Learning for Recommender Systems, DLRS</source>
          <year>2018</year>
          , ACM,
          <year>2018</year>
          , p.
          <fpage>24</fpage>
          -
          <lpage>31</lpage>
          . doi:
          <volume>10</volume>
          .1145/ 3270323.3270327.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>D.</given-names>
            <surname>Sculley</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Holt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Golovin</surname>
          </string-name>
          , E. Davydov,
          <string-name>
            <given-names>T.</given-names>
            <surname>Phillips</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Ebner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Chaudhary</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Young</surname>
          </string-name>
          ,
          <article-title>Machine learning: The high interest credit card of technical debt</article-title>
          , in: SE4ML:
          <article-title>Software Engineering for Machine Learning (</article-title>
          <source>NIPS 2014 Workshop)</source>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Chen</surname>
          </string-name>
          , S.-C. Cheung,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Xiong</surname>
          </string-name>
          ,
          <string-name>
            <surname>L. Zhang,</surname>
          </string-name>
          <article-title>An empirical study on tensorflow program bugs</article-title>
          ,
          <source>in: Proc. of the 27th ACM SIGSOFT Int'l Symp. on Software Testing and Analysis</source>
          ,
          <source>ISSTA</source>
          <year>2018</year>
          , ACM,
          <year>2018</year>
          , p.
          <fpage>129</fpage>
          -
          <lpage>140</lpage>
          . doi:
          <volume>10</volume>
          .1145/3213846.3213866.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>N.</given-names>
            <surname>Humbatova</surname>
          </string-name>
          , G. Jahangirova,
          <string-name>
            <given-names>G.</given-names>
            <surname>Bavota</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Riccio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Stocco</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Tonella</surname>
          </string-name>
          ,
          <article-title>Taxonomy of real faults in deep learning systems</article-title>
          ,
          <source>2020 IEEE/ACM 42nd Int'l Conf. on Software Engineering (ICSE)</source>
          (
          <year>2019</year>
          )
          <fpage>1110</fpage>
          -
          <lpage>1121</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>J. M.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Harman</surname>
          </string-name>
          , L. Ma, Y. Liu,
          <article-title>Machine learning testing: Survey, landscapes and horizons</article-title>
          ,
          <source>IEEE Trans. on Softw. Eng</source>
          .
          <volume>48</volume>
          (
          <year>2022</year>
          )
          <fpage>1</fpage>
          -
          <lpage>36</lpage>
          . doi:
          <volume>10</volume>
          .1109/TSE.
          <year>2019</year>
          .
          <volume>2962027</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Brun</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Meliou</surname>
          </string-name>
          ,
          <article-title>Software fairness</article-title>
          ,
          <source>in: Proc. of the 2018 26th ACM Joint Meeting on European Software Engineering Conf. and Symposium on the Foundations of Software Engineering, ESEC/FSE</source>
          <year>2018</year>
          , ACM,
          <year>2018</year>
          , p.
          <fpage>754</fpage>
          -
          <lpage>759</lpage>
          . doi:
          <volume>10</volume>
          .1145/3236024.3264838.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>J. F.</given-names>
            <surname>Pimentel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Murta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Braganholo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Freire</surname>
          </string-name>
          ,
          <article-title>Understanding and improving the quality and reproducibility of jupyter notebooks</article-title>
          ,
          <source>Empirical Software Engineering</source>
          <volume>26</volume>
          (
          <year>2021</year>
          )
          <article-title>65</article-title>
          . doi:
          <volume>10</volume>
          .1007/s10664-021-09961-9.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>S.</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Prasad</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. Z.</given-names>
            <surname>Henley</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Sarma</surname>
          </string-name>
          , T. Barik,
          <article-title>What's wrong with computational notebooks? pain points, needs, and design opportunities</article-title>
          ,
          <source>in: Proc. of the 2020 CHI Conf. on Human Factors in Computing Systems, CHI '20</source>
          ,
          <string-name>
            <surname>ACM</surname>
          </string-name>
          ,
          <year>2020</year>
          , p.
          <fpage>1</fpage>
          -
          <lpage>12</lpage>
          . doi:
          <volume>10</volume>
          .1145/3313831.3376729.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>J.</given-names>
            <surname>Wang</surname>
          </string-name>
          , T.-y. Kuo,
          <string-name>
            <given-names>L.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Zeller</surname>
          </string-name>
          ,
          <article-title>Assessing and restoring reproducibility of jupyter notebooks</article-title>
          ,
          <source>in: Proc. of the 35th IEEE/ACM Int'l Conf. on Automated Software Engineering, ASE '20</source>
          ,
          <string-name>
            <surname>ACM</surname>
          </string-name>
          ,
          <year>2021</year>
          , p.
          <fpage>138</fpage>
          -
          <lpage>149</lpage>
          . doi:
          <volume>10</volume>
          .1145/3324884.3416585.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>E.</given-names>
            <surname>Breck</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Polyzotis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Roy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Whang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Zinkevich</surname>
          </string-name>
          ,
          <article-title>Data validation for machine learning</article-title>
          , in: A. T. et al. (Ed.),
          <source>Proc. of MLSys</source>
          <year>2019</year>
          ,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>N.</given-names>
            <surname>Hynes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Sculley</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Terry</surname>
          </string-name>
          ,
          <article-title>The data linter: Lightweight, automated sanity checking for ml data sets</article-title>
          ,
          <source>in: NIPS MLSys Workshop</source>
          , volume
          <volume>1</volume>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>N.</given-names>
            <surname>Nahar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Zhou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Lewis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Kästner</surname>
          </string-name>
          ,
          <article-title>Collaboration challenges in building ml-enabled systems: communication, documentation, engineering, and process</article-title>
          ,
          <source>in: Proc. of the 44th Int'l Conf. on Software Engineering, ICSE '22</source>
          ,
          <string-name>
            <surname>ACM</surname>
          </string-name>
          ,
          <year>2022</year>
          , p.
          <fpage>413</fpage>
          -
          <lpage>425</lpage>
          . doi:
          <volume>10</volume>
          .1145/ 3510003.3510209.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>D. A.</given-names>
            <surname>Tamburri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Palomba</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Serebrenik</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Zaidman</surname>
          </string-name>
          ,
          <article-title>Discovering community patterns in open-source: a systematic approach and its evaluation, Empirical Softw</article-title>
          .
          <source>Engg</source>
          .
          <volume>24</volume>
          (
          <year>2019</year>
          )
          <fpage>1369</fpage>
          -
          <lpage>1417</lpage>
          . doi:
          <volume>10</volume>
          .1007/s10664-018-9659-9.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>D.</given-names>
            <surname>Piorkowski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Park</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. Y.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Muller</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Portnoy</surname>
          </string-name>
          ,
          <article-title>How ai developers overcome communication challenges in a multidisciplinary team: A case study</article-title>
          ,
          <source>Proc. ACM Hum.-Comput. Interact</source>
          .
          <volume>5</volume>
          (
          <year>2021</year>
          ). doi:
          <volume>10</volume>
          .1145/3449205.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>B.</given-names>
            <surname>Karlaš</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Interlandi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Renggli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Wu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Zhang</surname>
          </string-name>
          , D. Mukunthu Iyappan Babu,
          <string-name>
            <given-names>J.</given-names>
            <surname>Edwards</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Lauren</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Xu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Weimer</surname>
          </string-name>
          ,
          <article-title>Building continuous integration services for machine learning</article-title>
          ,
          <source>in: Proc. of the 26th ACM SIGKDD Int'l Conf. on Knowledge Discovery &amp; Data Mining, KDD '20</source>
          ,
          <string-name>
            <surname>ACM</surname>
          </string-name>
          , New York, NY, USA,
          <year>2020</year>
          , p.
          <fpage>2407</fpage>
          -
          <lpage>2415</lpage>
          . doi:
          <volume>10</volume>
          .1145/3394486.3403290.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>J.</given-names>
            <surname>Cito</surname>
          </string-name>
          , G. Schermann,
          <string-name>
            <given-names>J. E.</given-names>
            <surname>Wittern</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Leitner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Zumberi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. C.</given-names>
            <surname>Gall</surname>
          </string-name>
          ,
          <article-title>An empirical analysis of the docker container ecosystem on github</article-title>
          ,
          <source>in: 2017 IEEE/ACM 14th Int'l Conf. on Mining Software Repositories (MSR)</source>
          ,
          <year>2017</year>
          , pp.
          <fpage>323</fpage>
          -
          <lpage>333</lpage>
          . doi:
          <volume>10</volume>
          .1109/MSR.
          <year>2017</year>
          .
          <volume>67</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Wu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zhang</surname>
          </string-name>
          , T. Wang,
          <string-name>
            <given-names>H.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <article-title>Characterizing the occurrence of dockerfile smells in open-source software: An empirical study</article-title>
          ,
          <source>IEEE Access 8</source>
          (
          <year>2020</year>
          )
          <fpage>34127</fpage>
          -
          <lpage>34139</lpage>
          . doi:
          <volume>10</volume>
          . 1109/ACCESS.
          <year>2020</year>
          .
          <volume>2973750</volume>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>