<?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-2016-6-754-766</article-id><article-id custom-type="elpub" pub-id-type="custom">mais-412</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>The Formalism and Language Tools for Semantics Speciﬁcation of Software Libraries</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-0003-0276-4517</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>Itsykson</surname><given-names>V. M.</given-names></name></name-alternatives><bio xml:lang="ru"><p>канд. техн. наук, доцент, ул. Политехническая, д. 29, г. Санкт-Петербург, 195251, Россия</p></bio><bio xml:lang="en"><p>PhD, 29 Polytechnicheskaya str., Saint-Petersburg 195251, Russia</p></bio><email xlink:type="simple">vlad@icc.spbstu.ru</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>Peter the Great St. Petersburg Polytechnic University</institution><country>Russian Federation</country></aff></aff-alternatives><pub-date pub-type="collection"><year>2016</year></pub-date><pub-date pub-type="epub"><day>20</day><month>12</month><year>2016</year></pub-date><volume>23</volume><issue>6</issue><fpage>754</fpage><lpage>766</lpage><permissions><copyright-statement>Copyright &amp;#x00A9; Ицыксон В.М., 2016</copyright-statement><copyright-year>2016</copyright-year><copyright-holder xml:lang="ru">Ицыксон В.М.</copyright-holder><copyright-holder xml:lang="en">Itsykson V.M.</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/412">https://www.mais-journal.ru/jour/article/view/412</self-uri><abstract><p>Статья посвящена вопросам спецификации структуры и поведения программных библиотек. Описываются существующие проблемы спецификации библиотек. Дается краткий обзор состояния дел в области формализации спецификации библиотек и библиотечных функций. Формулируются требования к создаваемому формализму. На основе требований предлагается формализм, позволяющий специфицировать все необходимые свойства библиотек, требуемые для автоматизации нескольких классов задач: обнаружение дефектов в программном обеспечении, миграция приложений в новое окружение, генерация программной документации. На базе формализма формулируются требования к языковым средствам спецификации библиотек. В заключении определяются дальнейшие направления исследований.</p></abstract><trans-abstract xml:lang="en"><p>The paper is dedicated to the speciﬁcation of the structure and the behaviour of soft-ware libraries. It describes the existing problems of libraries speciﬁcations. A brief overview of the research ﬁeld concerned with formalizing the speciﬁcation of libraries and library functions is presented. The requirements imposed on the formalism designed are established; the formalism based on these requirements allows specifying all the properties of the libraries needed for automation of several classes of problems: defects detection in the software, migration of applications into a new environment, gen-eration of software documentation. The requirements on the language tools based on the developed formalism are proposed. The conclusion deﬁnes potential directions for further research.</p></trans-abstract><kwd-group xml:lang="ru"><kwd>формальная спецификация</kwd><kwd>программная библиотека</kwd><kwd>поведенческое описание</kwd><kwd>программный дефект</kwd><kwd>язык спецификаций</kwd></kwd-group><kwd-group xml:lang="en"><kwd>formal speciﬁcation</kwd><kwd>software library</kwd><kwd>behavioral description</kwd><kwd>software defect</kwd><kwd>speciﬁcation language</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">Lamb D., “IDL: sharing intermediate representations”, ACM Trans. Program. Lang. Syst, 9:3 (1987), 297–318.</mixed-citation><mixed-citation xml:lang="en">Lamb D., “IDL: sharing intermediate representations”, ACM Trans. Program. Lang. Syst, 9:3 (1987), 297–318.</mixed-citation></citation-alternatives></ref><ref id="cit2"><label>2</label><citation-alternatives><mixed-citation xml:lang="ru">Exton C., Watkins D., Thompson D., “Comparisons between CORBA IDL and COM/DCOM MIDL: Interfaces for Distributed Computing”, Proceedings of the Technology of Object- Oriented Languages and Systems – Tools-25 (TOOLS ’97), IEEE Computer Society, Washington, DC, USA, 1997, 15–23.</mixed-citation><mixed-citation xml:lang="en">Exton C., Watkins D., Thompson D., “Comparisons between CORBA IDL and COM/DCOM  MIDL: Interfaces for Distributed Computing”, Proceedings of the Technology of Object- Oriented Languages and Systems – Tools-25 (TOOLS ’97), IEEE Computer Society, Washington, DC, USA, 1997, 15–23.</mixed-citation></citation-alternatives></ref><ref id="cit3"><label>3</label><citation-alternatives><mixed-citation xml:lang="ru">Sankar S., Hayes R., “ADL—an interface deﬁnition language for specifying and testing software”, SIGPLAN, 29:8 (1994), 13–21.</mixed-citation><mixed-citation xml:lang="en">Sankar S., Hayes R., “ADL—an interface deﬁnition language for specifying and testing software”, SIGPLAN, 29:8 (1994), 13–21.</mixed-citation></citation-alternatives></ref><ref id="cit4"><label>4</label><citation-alternatives><mixed-citation xml:lang="ru">Allen R., Garlan D., “Formalizing architectural connection”, Proceedings of the 16th international conference on Software engineering (ICSE ’94), IEEE Computer Society Press, Los Alamitos, CA, USA, 1994, 71–80.</mixed-citation><mixed-citation xml:lang="en">Allen R., Garlan D., “Formalizing architectural connection”, Proceedings of the 16th international conference on Software engineering (ICSE ’94), IEEE Computer Society Press, Los Alamitos, CA, USA, 1994, 71–80.</mixed-citation></citation-alternatives></ref><ref id="cit5"><label>5</label><citation-alternatives><mixed-citation xml:lang="ru">Хоар Ч., Взаимодействующие последовательные процессы, М.: Мир, 1989.</mixed-citation><mixed-citation xml:lang="en">Hoar C.A.R., Communicating sequential processes, Mir, Moscow, 1989, (in Russian).</mixed-citation></citation-alternatives></ref><ref id="cit6"><label>6</label><citation-alternatives><mixed-citation xml:lang="ru">Roscoe A.W., “Modelling and verifying key-exchange protocols using CSP and FDR”, Proceedings of 1995 IEEE Computer Security Foundations Workshop, IEEE Computer Society Press, 1995.</mixed-citation><mixed-citation xml:lang="en">Roscoe A.W., “Modelling and verifying key-exchange protocols using CSP and FDR”, Proceedings of 1995 IEEE Computer Security Foundations Workshop, IEEE Computer Society Press, 1995.</mixed-citation></citation-alternatives></ref><ref id="cit7"><label>7</label><citation-alternatives><mixed-citation xml:lang="ru">de Alfaro L, Henzinger T., “Interface automata”, Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering (ESEC/FSE-9), ACM, New York, NY, USA, 2001, 109–120.</mixed-citation><mixed-citation xml:lang="en">de Alfaro L, Henzinger T., “Interface automata”, Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international  symposium on Foundations of software engineering (ESEC/FSE-9), ACM, New York, NY, USA,  2001, 109–120.</mixed-citation></citation-alternatives></ref><ref id="cit8"><label>8</label><citation-alternatives><mixed-citation xml:lang="ru">Ramanathan M., Grama A., Jagannathan S., “Static speciﬁcation inference using predicate mining”, Proceedings of the 28th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI ’07), ACM, New York, USA, 2007, 123–134.</mixed-citation><mixed-citation xml:lang="en">Ramanathan M., Grama A., Jagannathan S., “Static speciﬁcation inference using predicate mining”, Proceedings of the 28th ACM SIGPLAN Conference on Programming  Language Design and Implementation (PLDI ’07), ACM, New York, USA, 2007, 123–134.</mixed-citation></citation-alternatives></ref><ref id="cit9"><label>9</label><citation-alternatives><mixed-citation xml:lang="ru">Sankaranarayanan S.,Ivancic F.,Gupta A., “Mining library speciﬁcations using inductive logic programming”, Proceedings of the 30th international conference on Software engineering (ICSE ’08), ACM, New York, USA, 2008, 131–140.</mixed-citation><mixed-citation xml:lang="en">Sankaranarayanan S.,Ivancic F.,Gupta A., “Mining library speciﬁcations using inductive logic programming”, Proceedings of the 30th international conference on Software engineering (ICSE ’08), ACM, New York, USA, 2008, 131–140.</mixed-citation></citation-alternatives></ref><ref id="cit10"><label>10</label><citation-alternatives><mixed-citation xml:lang="ru">Ball T., Rajamani S.K., SLIC: a Specication Language for Interface Checking (of C), Microsoft Research, Technical Report, MSR-TR-2001-21, 2002.</mixed-citation><mixed-citation xml:lang="en">Ball T., Rajamani S.K., SLIC: a Specication Language for Interface Checking (of C), Microsoft Research, Technical Report, MSR-TR-2001-21, 2002.</mixed-citation></citation-alternatives></ref><ref id="cit11"><label>11</label><citation-alternatives><mixed-citation xml:lang="ru">Leavens G.T., “The future of library speciﬁcation”, Proceedings of the FSE/SDP workshop on Future of software engineering research (FoSER ’10), ACM, New York, USA, 2010, 211–216.</mixed-citation><mixed-citation xml:lang="en">Leavens G.T., “The future of library speciﬁcation”, Proceedings of the FSE/SDP workshop on Future of software engineering research (FoSER ’10), ACM, New York, USA,  2010, 211–216.</mixed-citation></citation-alternatives></ref><ref id="cit12"><label>12</label><citation-alternatives><mixed-citation xml:lang="ru">Ицыксон В.М., Зозуля А.В., “Формализм для описания частичных спецификаций компонентов программного окружения”, Научно-технические ведомости СПбГПУ. Информатика. Телекоммуникации. Управление, 4 (2011), 81–90.</mixed-citation><mixed-citation xml:lang="en">Itsykson V.M., Zozulya  A.V., “The formalism for description of the partial speciﬁcations of program envinroment  components”, St. Petersburg State Polytechnical University Journal. Computer Science.  Telecommunication and Control Systems, 4 (2011), 81–90, (in Russian).</mixed-citation></citation-alternatives></ref><ref id="cit13"><label>13</label><citation-alternatives><mixed-citation xml:lang="ru">Ицыксон В.М., Глухих М.И., “Язык спецификаций поведения программных компонентов”, Научно-технические ведомости СПбГПУ. Информатика. Телекоммуникации. Управление, 3 (2010), 63–71.</mixed-citation><mixed-citation xml:lang="en">Itsykson V.M., Glukhikh M.I., “A  program component behavior speciﬁcation language”, St. Petersburg State Polytechnical  University Journal. Computer Science. Telecommunication and Control Systems, 3 (2010),  63–71, (in Russian).</mixed-citation></citation-alternatives></ref><ref id="cit14"><label>14</label><citation-alternatives><mixed-citation xml:lang="ru">Akhin M.Kh., Belyaev M.A., Itsykson V.M., “Software defect detection by combining bounded model checking and approximations of functions”, Automatic Control and Computer Sciences, 48:7 (2014), 389–397.</mixed-citation><mixed-citation xml:lang="en">Akhin M.Kh., Belyaev M.A., Itsykson V.M., “Software defect detection by combining bounded model checking and approximations of functions”, Automatic Control and Computer Sciences, 48:7 (2014), 389–397.</mixed-citation></citation-alternatives></ref><ref id="cit15"><label>15</label><citation-alternatives><mixed-citation xml:lang="ru">Itsykson V., etc, “Automatic defects detection in industrial C/C++ software”, Proceeding of 5th Central and Eastern European Software Engineering Conference in Russia (CEE- SECR), IEEE, 2009, 50–55.</mixed-citation><mixed-citation xml:lang="en">Itsykson V., etc, “Automatic defects detection in industrial C/C++ software”, Proceeding of 5th Central and Eastern European Software Engineering Conference in Russia (CEE- SECR), IEEE, 2009, 50–55.</mixed-citation></citation-alternatives></ref><ref id="cit16"><label>16</label><citation-alternatives><mixed-citation xml:lang="ru">Ицыксон В.М., Зозуля А.В., “Автоматизированная трансформация программ при миграции на новые библиотеки”, Программная инженерия, 6 (2012), 8–14.</mixed-citation><mixed-citation xml:lang="en">Itsykson  V.M., Zozulya A.V., “Automated Program Transformation for Migration to New Libraries”, Software Engineering, 6 (2012), 8–14, (in Russian).</mixed-citation></citation-alternatives></ref><ref id="cit17"><label>17</label><citation-alternatives><mixed-citation xml:lang="ru">Kirchner F., etc, “Frama-C: A software analysis perspective”, Formal Aspects of Computing, 27:3 (2015), 5733609.</mixed-citation><mixed-citation xml:lang="en">Kirchner F., etc, “Frama-C: A software analysis perspective”, Formal Aspects of Computing, 27:3 (2015), 5733609.</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>
