<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.3 20210610//EN" "JATS-journalpublishing1-3.dtd">
<article article-type="research-article" dtd-version="1.3" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xml:lang="ru"><front><journal-meta><journal-id journal-id-type="publisher-id">mais</journal-id><journal-title-group><journal-title xml:lang="ru">Моделирование и анализ информационных систем</journal-title><trans-title-group xml:lang="en"><trans-title>Modeling and Analysis of Information Systems</trans-title></trans-title-group></journal-title-group><issn pub-type="ppub">1818-1015</issn><issn pub-type="epub">2313-5417</issn><publisher><publisher-name>Yaroslavl State University</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.18255/1818-1015-2017-6-691-703</article-id><article-id custom-type="elpub" pub-id-type="custom">mais-607</article-id><article-categories><subj-group subj-group-type="heading"><subject>Research Article</subject></subj-group><subj-group subj-group-type="section-heading" xml:lang="ru"><subject>Оригинальные статьи</subject></subj-group><subj-group subj-group-type="section-heading" xml:lang="en"><subject>Articles</subject></subj-group></article-categories><title-group><article-title>К вопросу об измерении уровня абстракции диаграмм состояний на основе тестирования мутаций</article-title><trans-title-group xml:lang="en"><trans-title>Towards Measuring the Abstractness of State Machines based on Mutation Testing</trans-title></trans-title-group></title-group><contrib-group><contrib contrib-type="author" corresp="yes"><contrib-id contrib-id-type="orcid">https://orcid.org/0000-0002-8443-1558</contrib-id><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Баар</surname><given-names>Томас</given-names></name><name name-style="western" xml:lang="en"><surname>Baar</surname><given-names>Thomas</given-names></name></name-alternatives><bio xml:lang="ru"><p>профессор</p></bio><bio xml:lang="en"><p>PhD</p></bio><email xlink:type="simple">thomas.baar@htw-berlin.de</email><xref ref-type="aff" rid="aff-1"/></contrib></contrib-group><aff-alternatives id="aff-1"><aff xml:lang="ru"><institution>Берлинская Высшая школа техники и экономики</institution><country>Германия</country></aff><aff xml:lang="en"><institution>University of Applied Sciences (Hochschule f¨ur Technik und Wirtschaft (HTW) Berlin)</institution><country>Germany</country></aff></aff-alternatives><pub-date pub-type="collection"><year>2017</year></pub-date><pub-date pub-type="epub"><day>18</day><month>12</month><year>2017</year></pub-date><volume>24</volume><issue>6</issue><fpage>691</fpage><lpage>703</lpage><permissions><copyright-statement>Copyright &amp;#x00A9; Баар Т., 2017</copyright-statement><copyright-year>2017</copyright-year><copyright-holder xml:lang="ru">Баар Т.</copyright-holder><copyright-holder xml:lang="en">Baar T.</copyright-holder><license xml:lang="ru" license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>Данная работа распространяется под лицензией Creative Commons Attribution 4.0.</license-p></license><license xml:lang="en" license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>This work is licensed under a Creative Commons Attribution 4.0 License.</license-p></license></permissions><self-uri xlink:href="https://www.mais-journal.ru/jour/article/view/607">https://www.mais-journal.ru/jour/article/view/607</self-uri><abstract><p>Система обозначений диаграмм состояний (state machines) широко применяется в качестве формального средства описания поведения систем. Обычно для одной и той же программной системы можно создать много разных диаграмм состояний. Некоторые из этих моделей могут оказаться эквивалентными, но во многих случаях разные диаграммы состояний описывают одну и ту же систему на разных уровнях абстракции. В этой статье мы предлагаем подход, позволяющий провести фактическое измерение уровня абстракции диаграмм состояний по отношению к заданной реализации программной системы. Диаграмма состояний считается тем менее абстрактной, чем ближе она концептуально к реализованной системе. Согласно нашему подходу эта отдаленность диаграммы состояний от реализации системы измеряется путем применения критерия покрытия, используемого для тестирования мутации программного обеспечения. Уровень абстракции диаграмм состояний можно рассматривать как новый вид метрики. Что касается других метрик, то знание значения уровня абстракции заданной диаграммы состояний дает возможность оценить ее качество в числовых терминах. В тех проектах по разработке программного обеспечения, которые начинаются с построения модели, метрика абстракции может помочь избежать деградации моделей, поскольку она позволяет измерить фактическое отдаление спецификации поведения системы, представленной в виде диаграммы состояний, от текущей реализации системы. В отличие от прочих метрик для диаграмм состояний уровень абстракции нельзя вычислить статически, основываясь лишь на структуре самой диаграммы; для этого нужно сравнивать выполнения диаграмм состояний и соответствующую реализацию системы. Статья публикуется в авторской редакции.</p><p> </p></abstract><trans-abstract xml:lang="en"><sec><title>Abstract</title><p>Abstract. The notation of state machines is widely adopted as a formalism to describe the behaviour of systems. Usually, multiple state machine models can be developed for the very same software system. Some of these models might turn out to be equivalent, but, in many cases, different state machines describing the same system also differ in their level of abstraction. In this paper, we present an approach to actually measure the abstractness level of state machines w.r.t. a given implemented software system. A state machine is considered to be less abstract when it is conceptionally closer to the implemented system. In our approach, this distance between state machine and implementation is measured by applying coverage criteria known from software mutation testing. Abstractness of state machines can be considered as a new metric. As for other metrics as well, a known value for the abstractness of a given state machine allows to assess its quality in terms of a simple number. In model-based software development projects, the abstract metric can help to prevent model degradation since it can actually measure the semantic distance from the behavioural specification of a system in form of a state machine to the current implementation of the system. In contrast to other metrics for state machines, the abstractness cannot be statically computed based on the state machine’s structure, but requires to execute both state machine and corresponding system implementation. The article is published in the author’s wording.</p></sec><sec><title> </title><p> </p></sec></trans-abstract><kwd-group xml:lang="ru"><kwd>разработка программного обеспечения на основе моделей</kwd><kwd>метрика</kwd><kwd>диаграмма состояний</kwd><kwd>тестирование мутаций</kwd></kwd-group><kwd-group xml:lang="en"><kwd>model-based software development</kwd><kwd>metric</kwd><kwd>state machine</kwd><kwd>mutation testing</kwd></kwd-group></article-meta></front><back><ref-list><title>References</title><ref id="cit1"><label>1</label><citation-alternatives><mixed-citation xml:lang="ru">Martin Abadi and Leslie Lamport, “The existence of refinement mappings”, Theoretical Computer Science, 82 (1991), 253–284.</mixed-citation><mixed-citation xml:lang="en">Martin Abadi and Leslie Lamport, “The existence of refinement mappings”, Theoretical Computer Science, 82 (1991), 253–284.</mixed-citation></citation-alternatives></ref><ref id="cit2"><label>2</label><citation-alternatives><mixed-citation xml:lang="ru">Thomas Baar, “SSMA – Simple State Machine Analyzer”, https://github.com/ thomasbaar/simplesma.</mixed-citation><mixed-citation xml:lang="en">Thomas Baar, “SSMA – Simple State Machine Analyzer”, https://github.com/ thomasbaar/simplesma.</mixed-citation></citation-alternatives></ref><ref id="cit3"><label>3</label><citation-alternatives><mixed-citation xml:lang="ru">Thomas Baar, “Verification Support for a State-Transition-DSL Defined with Xtext”, Proceedings of the 10th International Andrei Ershov Informatics Conference, PSI, Lecture Notes in Computer Science, 9609, Springer, 2015, 50–60.</mixed-citation><mixed-citation xml:lang="en">Thomas Baar, “Verification Support for a State-Transition-DSL Defined with Xtext”, Proceedings of the 10th International Andrei Ershov Informatics Conference, PSI, Lecture Notes in Computer Science, 9609, Springer, 2015, 50–60.</mixed-citation></citation-alternatives></ref><ref id="cit4"><label>4</label><citation-alternatives><mixed-citation xml:lang="ru">Robert V. Binder, Bruno Legeard, Anne Kramer, “Model-based testing: where does it stand?”, Communications of the ACM, 58 (2015), 52–56.</mixed-citation><mixed-citation xml:lang="en">Robert V. Binder, Bruno Legeard, Anne Kramer, “Model-based testing: where does it stand?”, Communications of the ACM, 58 (2015), 52–56.</mixed-citation></citation-alternatives></ref><ref id="cit5"><label>5</label><citation-alternatives><mixed-citation xml:lang="ru">Manfred Broy, Bengt Jonsson, Joost-Pieter Katoen, Martin Leucker, Alexander Pretschner, Model-Based Testing of Reactive Systems, Advanced Lectures, Lecture Notes in Computer Science, 3472, Springer, 2005.</mixed-citation><mixed-citation xml:lang="en">Manfred Broy, Bengt Jonsson, Joost-Pieter Katoen, Martin Leucker, Alexander Pretschner, Model-Based Testing of Reactive Systems, Advanced Lectures, Lecture Notes in Computer Science, 3472, Springer, 2005.</mixed-citation></citation-alternatives></ref><ref id="cit6"><label>6</label><citation-alternatives><mixed-citation xml:lang="ru">Shyam R. Chidamber, Chris F. Kemerer, “A metrics suite for object oriented design”, IEEE Transactions on Software Engineering, 20:6 (1994), 476–493.</mixed-citation><mixed-citation xml:lang="en">Shyam R. Chidamber, Chris F. Kemerer, “A metrics suite for object oriented design”, IEEE Transactions on Software Engineering, 20:6 (1994), 476–493.</mixed-citation></citation-alternatives></ref><ref id="cit7"><label>7</label><citation-alternatives><mixed-citation xml:lang="ru">David Harel, “Statecharts: A visual formalism for complex systems”, Science of Computer Programming, 8:3 (1987), 231–274.</mixed-citation><mixed-citation xml:lang="en">David Harel, “Statecharts: A visual formalism for complex systems”, Science of Computer Programming, 8:3 (1987), 231–274.</mixed-citation></citation-alternatives></ref><ref id="cit8"><label>8</label><citation-alternatives><mixed-citation xml:lang="ru">David Harel, Hagi Lachover, Amnon Naamad, Amir Pnueli, Michal Politi, Rivi Sherman, Aharon Shtull-Trauring, Mark B. Trakhtenbrot, “STATEMATE: A working environment for the development of complex reactive systems”, IEEE Transactions on Software Engineering, 16:4 (1990), 403–414.</mixed-citation><mixed-citation xml:lang="en">David Harel, Hagi Lachover, Amnon Naamad, Amir Pnueli, Michal Politi, Rivi Sherman, Aharon Shtull-Trauring, Mark B. Trakhtenbrot, “STATEMATE: A working environment for the development of complex reactive systems”, IEEE Transactions on Software Engineering, 16:4 (1990), 403–414.</mixed-citation></citation-alternatives></ref><ref id="cit9"><label>9</label><citation-alternatives><mixed-citation xml:lang="ru">Itemis, “Yakindu”, http://statecharts.org/.</mixed-citation><mixed-citation xml:lang="en">Itemis, “Yakindu”, http://statecharts.org/.</mixed-citation></citation-alternatives></ref><ref id="cit10"><label>10</label><citation-alternatives><mixed-citation xml:lang="ru">Yue Jia, Mark Harman, “An analysis and survey of the development of mutation testing”, IEEE Transactions on Software Engineering, 37:5 (2011), 649–678.</mixed-citation><mixed-citation xml:lang="en">Yue Jia, Mark Harman, “An analysis and survey of the development of mutation testing”, IEEE Transactions on Software Engineering, 37:5 (2011), 649–678.</mixed-citation></citation-alternatives></ref><ref id="cit11"><label>11</label><citation-alternatives><mixed-citation xml:lang="ru">Microsoft, “SpecExplorer”, https://msdn.microsoft.com/en-us/library/ee620411. aspx.</mixed-citation><mixed-citation xml:lang="en">Microsoft, “SpecExplorer”, https://msdn.microsoft.com/en-us/library/ee620411. aspx.</mixed-citation></citation-alternatives></ref><ref id="cit12"><label>12</label><citation-alternatives><mixed-citation xml:lang="ru">Object Management Group, “Unified Modeling Language (UML), version 2.5”, http:// www.omg.org/spec/UML/2.5/.</mixed-citation><mixed-citation xml:lang="en">Object Management Group, “Unified Modeling Language (UML), version 2.5”, http:// www.omg.org/spec/UML/2.5/.</mixed-citation></citation-alternatives></ref><ref id="cit13"><label>13</label><citation-alternatives><mixed-citation xml:lang="ru">Stephan Weißleder, “Partition Test Generator (ParTeG)”, http://parteg.sourceforge. net/.</mixed-citation><mixed-citation xml:lang="en">Stephan Weißleder, “Partition Test Generator (ParTeG)”, http://parteg.sourceforge. net/.</mixed-citation></citation-alternatives></ref><ref id="cit14"><label>14</label><citation-alternatives><mixed-citation xml:lang="ru">Pitest, “PIT Mutation Testing”, http://pitest.org/.</mixed-citation><mixed-citation xml:lang="en">Pitest, “PIT Mutation Testing”, http://pitest.org/.</mixed-citation></citation-alternatives></ref><ref id="cit15"><label>15</label><citation-alternatives><mixed-citation xml:lang="ru">QuantumLeaps, “QM TM”, http://www.state-machine.com/qm/.</mixed-citation><mixed-citation xml:lang="en">QuantumLeaps, “QM TM”, http://www.state-machine.com/qm/.</mixed-citation></citation-alternatives></ref><ref id="cit16"><label>16</label><citation-alternatives><mixed-citation xml:lang="ru">Bernhard Schätz, Model-Based Development of Software Systems: From Models to Tools, Technical University Munich, 2009.</mixed-citation><mixed-citation xml:lang="en">Bernhard Schätz, Model-Based Development of Software Systems: From Models to Tools, Technical University Munich, 2009.</mixed-citation></citation-alternatives></ref><ref id="cit17"><label>17</label><citation-alternatives><mixed-citation xml:lang="ru">Mark Utting and Bruno Legeard, Practical Model-Based Testing: A Tools Approach, Morgan Kaufmann, 2007.</mixed-citation><mixed-citation xml:lang="en">Mark Utting and Bruno Legeard, Practical Model-Based Testing: A Tools Approach, Morgan Kaufmann, 2007.</mixed-citation></citation-alternatives></ref><ref id="cit18"><label>18</label><citation-alternatives><mixed-citation xml:lang="ru">Gefei Zhang and Matthias Hölzl, “A set of metrics for states and transitions in UML state machines”, Proceedings of the 2014 Workshop on Behaviour Modelling – Foundations and Applications, ACM, 2014.</mixed-citation><mixed-citation xml:lang="en">Gefei Zhang and Matthias Hölzl, “A set of metrics for states and transitions in UML state machines”, Proceedings of the 2014 Workshop on Behaviour Modelling – Foundations and Applications, ACM, 2014.</mixed-citation></citation-alternatives></ref></ref-list><fn-group><fn fn-type="conflict"><p>The authors declare that there are no conflicts of interest present.</p></fn></fn-group></back></article>
