<!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 />
    <article-meta>
      <title-group>
        <article-title>SQuaRE Matters: Reflection of Software Quality Evaluation, Benchmark, Pattern Classification and Practitioners' Perception through SQuaRE</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Hironori Washizaki</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>eXmotion Co., Ltd.</institution>
          ,
          <addr-line>3-4-3 Kitashinagawa, Shinagawa City, Tokyo, 141-0032</addr-line>
          ,
          <country country="JP">Japan</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The ISO/IEC 25000 Systems and software Quality Requirements and Evaluation (SQuaRE) series is a valuable framework to measure and evaluate quality from more multifaceted, objective, and standardized criteria across products and organizations. This talk introduces successful use cases of SQuaRE: software systems quality evaluation and benchmarking, and machine Learning and IoT system design patterns classification with practitioners' perception.</p>
      </abstract>
      <kwd-group>
        <kwd>1 Software quality</kwd>
        <kwd>quality measurement</kwd>
        <kwd>quality evaluation</kwd>
        <kwd>standard</kwd>
        <kwd>software development</kwd>
        <kwd>machine learning systems</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>The ISO/IEC 25000 Systems and software
Quality Requirements and Evaluation (SQuaRE)
series is a useful framework to measure and
evaluate quality from more multifaceted,
objective, and standardized criteria across
products and organizations [1]. SQuaRE is
independent of the domain or product. It
assembles important quality characteristics,
measurement values, and evaluation methods.</p>
      <p>SQuaRE should be a valuable standard for
various use cases, such as software evaluation and
classification, from the viewpoint of quality
attributes. This talk introduces successful use
cases of SQuaRE: software systems quality
evaluation and benchmarking, and machine
Learning and IoT system design patterns
classification with practitioners’ perception.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Quality benchmarking evaluation and</title>
      <p>Conventional quality evaluations of software
concentrate on specific quality characteristics.
Moreover, the measurement data are limited to
particular products and organizations.
Consequently, the present state of product quality
and quality in use characteristics are not fully
understood, preventing effective decision-making
for software stakeholders. To alleviate this
problem, ISO/IEC defined the SQuaRE series for
comprehensive quality measurement and
evaluation. However, these standards remain
rather general and abstract, making them difficult
to apply.</p>
      <p>
        In these papers [
        <xref ref-type="bibr" rid="ref1">2</xref>
        ]–[
        <xref ref-type="bibr" rid="ref3">4</xref>
        ], we established a
SQuaRE-based comprehensive software quality
evaluation framework, Waseda Software Quality
Framework (WSQF), which concretizes many
product quality and quality in use measurement
methods originally defined in the SQuaRE series.
By applying the WSQF to 21 commercial
readyto-use software products, we revealed the status of
software product quality. A resulted
comprehensive benchmark includes trends of the
quality measurement values, relationships among
quality characteristics, the relationship between
quality-in-use and product quality, and the
relationship between the quality characteristics
and product contexts within the limits of an
application.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. Machine learning design pattern classification with practitioners’ perception</title>
      <p>
        Machine learning (ML) software engineering
design patterns encapsulate reusable solutions to
commonly occurring problems within the given
contexts of ML systems and software design.
These ML patterns should help develop and
maintain ML systems and software from the
design perspective. However, to the best of our
knowledge, there was no study on the
practitioners’ insights on the use of ML patterns
for the design of their ML systems and software.
In these papers [
        <xref ref-type="bibr" rid="ref4">5</xref>
        ], [
        <xref ref-type="bibr" rid="ref5">6</xref>
        ], we reported the results of
a literature review to identify ML design patterns.
We also reported a questionnaire-based survey on
ML system developers’ state-of-practices with
concrete ML patterns. Furthermore, we described
most of the identified patterns in previous papers
[
        <xref ref-type="bibr" rid="ref6">7</xref>
        ]–[
        <xref ref-type="bibr" rid="ref9">10</xref>
        ].
      </p>
      <p>
        Any design pattern should address one or more
quality characteristics that are associated with
design problems. For ML design patterns, we
assumed that the product quality characteristics
defined in the SQuaRE quality model (i.e.,
ISO/IEC 25010:2011), as well as ML model and
prediction quality characteristics, can be
addressed. We analyzed the quality characteristics
by reading problems and solutions descriptions of
the 15 ML design patterns and identifying related
specific descriptions or keywords. Many ML
design patterns address maintainability. Most
operation patterns address model and prediction
quality characteristics [
        <xref ref-type="bibr" rid="ref5">6</xref>
        ].
      </p>
      <p>
        Furthermore, we surveyed 300+ software and
ML developers who participated in an online
seminar on ML patterns in July 2020 in terms of
perception of quality characteristics considered in
ML system design and development [
        <xref ref-type="bibr" rid="ref4">5</xref>
        ]. Out of
the 300+ participants, 52 answered our questions,
which corresponds to a response rate of around
17%. Most considered the functional suitability of
the ML systems and software during design. This
seems natural since the functionality is the most
fundamental attribute of any system and software.
In addition, more than 40% of the respondents
considered the maintainability, reliability,
security, and usability of the ML systems and
software. In contrast, portability and compatibility
were rarely considered. According to our pattern
analysis, maintainability and reliability are well
addressed in existing ML patterns, while security
and usability are less addressed; more ML
patterns focusing on security and usability are
anticipated by accumulating more design cases
since these characteristics are majorly concerned.
      </p>
      <p>
        In terms of ML model and prediction quality
characteristics considered when designing ML
systems, the top concern was model robustness,
followed by model explainability and prediction
accuracy [
        <xref ref-type="bibr" rid="ref4">5</xref>
        ]. According to our pattern analysis,
model robustness and prediction are well
addressed in existing ML patterns, but model
explainability is less addressed. These major
characteristics are expected to be reflected in the
future development and revision of ML-related
quality model standards, such as the SQuaRE
quality model for AI systems ISO/IEC DIS 25059
and the related AI-specific data quality measures
ISO/IEC AWI 5259-2.
      </p>
    </sec>
    <sec id="sec-4">
      <title>4. IoT system classification design patterns</title>
      <p>We have applied a similar analysis to the
Internet of Things (IoT) design patterns [11], [12].
IoT patterns, including IoT design and
architecture patterns, have been published to
document the successes (and failures) in IoT
systems and software development [13].</p>
      <p>IoT design patterns should mostly address
interoperability, which is defined as a sub attribute
of compatibility in SQuaRE since, by definition,
IoT is about ensuring interoperability among
objects. To classify IoT patterns, we used all
quality attributes except for functional suitability
defined in the SQuaRE quality model and selected
terms from software engineering: performance,
compatibility, usability, reliability, security,
maintainability, and portability. We excluded
functional suitability because certain functional
requirements are often satisfied by concrete
system and software design decisions, including
the reuse of IoT platforms and software libraries,
instead of the reuse of abstract architecture or
design patterns.</p>
      <p>We observed that some IoT patterns are
dedicated to one or a few quality characteristics,
while others address many characteristics [12].
According to SQuaRE, performance, usability,
reliability, and security significantly influence the
quality in use for primary users, while
compatibility, maintainability, and portability
greatly impact quality in use for secondary users
who maintain the system. The former is an
important concern of primary users, while the
latter is about the ease of extending a system by
maintainers in terms of performance. Furthermore,
we identified potential additional quality
characteristics for IoT as privacy and scalability.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Conclusion</title>
      <p>This talk introduced successful use cases of
SQuaRE: software systems quality evaluation and
benchmarking and machine Learning and IoT
system design patterns classification with
practitioners’ perception.</p>
      <p>Future works can include further analysis of
software systems and design patterns from the
quality viewpoints, a relationship model among
different quality characteristics, and suggesting
new quality characteristics to be considered for
quality models targeting ML and IoT.</p>
    </sec>
    <sec id="sec-6">
      <title>6. Acknowledgements</title>
      <p>This work was partially conducted as a part of
the Research Initiative on Advanced Software
Engineering in 2015, supported by Software
Reliability Enhancement Center (SEC),
Information Technology Promotion Agency
Japan (IPA). This work was also supported by
JST-Mirai JPMJMI20B8 Engineerable AI (eAI),
JSPS JPJSBP 120209936, KAKENHI 21KK0179,
and enPiT-Pro Smart SE.</p>
    </sec>
    <sec id="sec-7">
      <title>7. References</title>
      <p>[1] International Organization for
Standardization, “ISO/IEC 25010:2011
Systems and software engineering —
Systems and software Quality Requirements
and Evaluation (SQuaRE) – System and
software quality models, institution =
International Organization for
Standardization,” ISO/IEC, Tech. Rep., 2011.
Programs in 2022 (PLoP’22). Hillside, Inc.,
2022, pp. 1–8.
[11] H. Washizaki, N. Yoshioka, A. Hazeyama, T.</p>
      <p>Kato, H. Kaiya, S. Ogata, T. Okubo, and E.
B. Fern´andez, “Landscape of iot patterns,”
in SERP4IoT@ICSE. IEEE / ACM, 2019, pp.
57–60.
[12] H. Washizaki, S. Ogata, A. Hazeyama, T.</p>
      <p>Okubo, E. B. Fern´andez, and N. Yoshioka,
“Landscape of architecture and design
patterns for iot systems,” IEEE Internet
Things J., vol. 7, no. 10, pp. 10 091–10 101,
2020. [Online]. Available:
https://doi.org/10.1109/JIOT.2020.3003528
[13] H. Washizaki, A. Hazeyama, T. Okubo, H.</p>
      <p>Kanuka, S. Ogata, and N. Yoshioka,
“Analysis of iot pattern descriptions,” in
SERP4IoT. IEEE, 2021, pp. 21–26</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>H.</given-names>
            <surname>Nakai</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Tsuda</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Honda</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Washizaki</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Fukazawa</surname>
          </string-name>
          , “
          <article-title>Initial framework for software quality evaluation based on ISO/IEC 25022</article-title>
          and ISO/IEC 25023,
          <article-title>” in QRS Companion</article-title>
          . IEEE,
          <year>2016</year>
          , pp.
          <fpage>410</fpage>
          -
          <lpage>411</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [3] --, “
          <article-title>A square-based software quality evaluation framework and its case study,” in IEEE TENCON</article-title>
          . IEEE,
          <year>2016</year>
          , pp.
          <fpage>3704</fpage>
          -
          <lpage>3707</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>N.</given-names>
            <surname>Tsuda</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Washizaki</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Honda</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Nakai</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Fukazawa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Azuma</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Komiyama</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Nakano</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Suzuki</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Morita</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Kojima</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Hando</surname>
          </string-name>
          , “
          <article-title>WSQF: comprehensive software quality evaluation framework and benchmark based on square,” in ICSE (SEIP)</article-title>
          .
          <source>IEEE / ACM</source>
          ,
          <year>2019</year>
          , pp.
          <fpage>312</fpage>
          -
          <lpage>321</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>H.</given-names>
            <surname>Washizaki</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Takeuchi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Khomh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Natori</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Doi</surname>
          </string-name>
          , and S. Okuda, “
          <article-title>Practitioners' insights on machine-learning software engineering design patterns: a preliminary study,” in ICSME</article-title>
          . IEEE,
          <year>2020</year>
          , pp.
          <fpage>797</fpage>
          -
          <lpage>799</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>H.</given-names>
            <surname>Washizaki</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Khomh</surname>
          </string-name>
          , Y. Gu´eh´eneuc, H. Takeuchi,
          <string-name>
            <given-names>N.</given-names>
            <surname>Natori</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Doi</surname>
          </string-name>
          , and S. Okuda, “
          <article-title>Software-engineering design patterns for machine learning applications</article-title>
          ,” Computer, vol.
          <volume>55</volume>
          , no.
          <issue>3</issue>
          , pp.
          <fpage>30</fpage>
          -
          <lpage>39</lpage>
          ,
          <year>2022</year>
          . [Online]. Available: https://doi.org/10.1109/
          <string-name>
            <surname>MC</surname>
          </string-name>
          .
          <year>2021</year>
          .3137227
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>H.</given-names>
            <surname>Washizaki</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Khomh</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Y.-G.</given-names>
            <surname>Gu</surname>
          </string-name>
          <article-title>´eh´eneuc, “Software engineering patterns for machine learning applications (sep4mla),”</article-title>
          <source>in 9th Asian Conference on Pattern Languages of Programs (AsianPLoP</source>
          <year>2020</year>
          ). Hillside, Inc.,
          <year>2020</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>10</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>H.</given-names>
            <surname>Washizaki</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Khomh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.-G.</given-names>
            <surname>Gueheneuc</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Takeuchi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Okuda</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Natori</surname>
          </string-name>
          , and
          <string-name>
            <given-names>N.</given-names>
            <surname>Shioura</surname>
          </string-name>
          , “
          <article-title>Software engineering patterns for machine learning applications (sep4mla) - part 2,” in 27th Conference on Pattern Languages of Programs in 2020 (PLoP'20)</article-title>
          . Hillside, Inc.,
          <year>2021</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>10</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>J.</given-names>
            <surname>Runpakprakun</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. R. O.</given-names>
            <surname>Peralta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Washizaki</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Khomh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.-G.</given-names>
            <surname>Gueheneuc</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Yoshioka</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Fukazawa</surname>
          </string-name>
          , “
          <article-title>Software engineering patterns for machine learning applications (sep4mla) - part 3 - data processing architectures,” in 28th Conference on Pattern Languages of Programs in 2021 (PLoP'21)</article-title>
          . Hillside, Inc.,
          <year>2021</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>11</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>H.</given-names>
            <surname>Washizaki</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Khomh</surname>
          </string-name>
          , and Y.-G. Gueheneuc, “
          <article-title>Software engineering patterns for machine learning applications (sep4mla) - part 4 - ml gateway routing architecture</article-title>
          ,
          <source>” in 29th Conference on Pattern Languages of</source>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>