<?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 custom-type="elpub" pub-id-type="custom">mais-1055</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>Верификация C-программ в мультиязыковой системе СПЕКТР</article-title><trans-title-group xml:lang="en"><trans-title>C Program Verication in the Multilanguage System Spectrum</trans-title></trans-title-group></title-group><contrib-group><contrib contrib-type="author" corresp="yes"><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Непомнящий</surname><given-names>В. А.</given-names></name><name name-style="western" xml:lang="en"><surname>Nepomniashy</surname><given-names>V. A.</given-names></name></name-alternatives><email xlink:type="simple">vnep@iis.nsk.su</email><xref ref-type="aff" rid="aff-1"/></contrib><contrib contrib-type="author" corresp="yes"><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Ануреев</surname><given-names>И. С.</given-names></name><name name-style="western" xml:lang="en"><surname>Anureev</surname><given-names>I. S.</given-names></name></name-alternatives><email xlink:type="simple">anureev@iis.nsk.su</email><xref ref-type="aff" rid="aff-2"/></contrib><contrib contrib-type="author" corresp="yes"><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Атучин</surname><given-names>М. М.</given-names></name><name name-style="western" xml:lang="en"><surname>Atuchin</surname><given-names>M. M.</given-names></name></name-alternatives><email xlink:type="simple">noemail@neicon.ru</email><xref ref-type="aff" rid="aff-3"/></contrib><contrib contrib-type="author" corresp="yes"><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Марьясов</surname><given-names>И. В.</given-names></name><name name-style="western" xml:lang="en"><surname>Maryasov</surname><given-names>I. V.</given-names></name></name-alternatives><email xlink:type="simple">noemail@neicon.ru</email><xref ref-type="aff" rid="aff-2"/></contrib><contrib contrib-type="author" corresp="yes"><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Петров</surname><given-names>А. А.</given-names></name><name name-style="western" xml:lang="en"><surname>Petrov</surname><given-names>A. A.</given-names></name></name-alternatives><email xlink:type="simple">noemail@neicon.ru</email><xref ref-type="aff" rid="aff-3"/></contrib><contrib contrib-type="author" corresp="yes"><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Промский</surname><given-names>А. В.</given-names></name><name name-style="western" xml:lang="en"><surname>Promsky</surname><given-names>A. V.</given-names></name></name-alternatives><email xlink:type="simple">promsky@iis.nsk.su</email><xref ref-type="aff" rid="aff-2"/></contrib></contrib-group><aff xml:lang="ru" id="aff-1"><institution>Институт систем информатики имени А.П. Ершова СО РАН, Новосибирский государственный университет</institution><country>Russian Federation</country></aff><aff xml:lang="ru" id="aff-2"><institution>Институт систем информатики имени А.П. Ершова СО РАН</institution><country>Russian Federation</country></aff><aff xml:lang="ru" id="aff-3"><institution>Новосибирский государственный университет</institution><country>Russian Federation</country></aff><pub-date pub-type="collection"><year>2010</year></pub-date><pub-date pub-type="epub"><day>20</day><month>12</month><year>2010</year></pub-date><volume>17</volume><issue>4</issue><fpage>88</fpage><lpage>100</lpage><permissions><copyright-statement>Copyright &amp;#x00A9; Непомнящий В.А., Ануреев И.С., Атучин М.М., Марьясов И.В., Петров А.А., Промский А.В., 2010</copyright-statement><copyright-year>2010</copyright-year><copyright-holder xml:lang="ru">Непомнящий В.А., Ануреев И.С., Атучин М.М., Марьясов И.В., Петров А.А., Промский А.В.</copyright-holder><copyright-holder xml:lang="en">Nepomniashy V.A., Anureev I.S., Atuchin M.M., Maryasov I.V., Petrov A.A., Promsky A.V.</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/1055">https://www.mais-journal.ru/jour/article/view/1055</self-uri><abstract><p>Представлена расширяемая мультиязыковая система анализа и верификации СПЕКТР, разрабатываемая в рамках одноименного проекта, и показаны перспективы ее использования на примере верификации C-программ. Проект СПЕКТР направлен на создание нового интегрированного подхода к верификации императивных программ, который позволяет интегрировать, унифицировать и комбинировать методы и техники верификации императивных программ, накапливать и использовать знания о них. Особенностью подхода является использование специализированного языка выполнимых спецификаций Atoment для разработки средств верификации программ, который позволяет представить в едином унифицированном формате как методы и техники верификации, так и данные для них (программные модели, аннотации, логические формулы). C-компонента системы СПЕКТР использует двухуровневый метод верификации C-программ. Этот метод является хорошей иллюстрацией интегрированного подхода, поскольку он обеспечивает комплексную верификацию C-программ, базирующуюся на комбинации операционного, аксиоматического и трансформационного подходов.</p></abstract><trans-abstract xml:lang="en"><p>This paper presents the expendable multi-language analysis and verication system
SPECTRUM, which is being developed within the framework of the project SPEC-
TRUM. The project prospects are discussed using the example of C program verication.
The project aims at the development of a new integrated approach to program verica-
tion which will allow the integration, unication and combination of program verication
techniques together with accumulation and reuse of knowledge about them. One of the
project features consists in the use of the specialized executable specication language
Atoment. This language provides a unied format to represent both verication meth-
ods and data for them (program models, annotations, logic formulas). The C-targeted
component of the SPECTRUM system is based on our two-level C program verication
method. This method represents a good illustration of the integrated approach, since
it provides a complex C program verication that combines operational, axiomatic and
transformational approaches.</p></trans-abstract><kwd-group xml:lang="ru"><kwd>верификация</kwd><kwd>спецификация</kwd><kwd>операционная семантика</kwd><kwd>аксиоматическая семантика</kwd><kwd>предметно-ориентированные языки</kwd><kwd>системы верификации</kwd></kwd-group><kwd-group xml:lang="en"><kwd>veri
cation</kwd><kwd>speci
cation</kwd><kwd>operational semantics</kwd><kwd>axiomatic semantics</kwd><kwd>domain-speci
c languages</kwd><kwd>veri
cation systems</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">Ануреев И.С., Марьясов И.В., Непомнящий В.А. Верификация C- программ на основе смешанной аксиоматической семантики // Моделирование и анализ информационных систем. 2010. Том 17, № 3. С. 5-28.</mixed-citation><mixed-citation xml:lang="en">Ануреев И.С., Марьясов И.В., Непомнящий В.А. Верификация C- программ на основе смешанной аксиоматической семантики // Моделирование и анализ информационных систем. 2010. Том 17, № 3. С. 5-28.</mixed-citation></citation-alternatives></ref><ref id="cit2"><label>2</label><citation-alternatives><mixed-citation xml:lang="ru">Непомнящий В.А., Ануреев И.С., Михайлов И.Н., Промский А.В. На пути к верификации С программ. Аксиоматическая семантика языка C-kernel // Программирование. 2003. N 6. С. 1-16.</mixed-citation><mixed-citation xml:lang="en">Непомнящий В.А., Ануреев И.С., Михайлов И.Н., Промский А.В. На пути к верификации С программ. Аксиоматическая семантика языка C-kernel // Программирование. 2003. N 6. С. 1-16.</mixed-citation></citation-alternatives></ref><ref id="cit3"><label>3</label><citation-alternatives><mixed-citation xml:lang="ru">Непомнящий В.А., Ануреев И.С., Михайлов И.Н., Промский А.В. Ориентированный на верификацию язык C-light // Системная информатика: Сб. науч. тр. Новосибирск: Издательство СО РАН, 2004. Вып. 9: Формальные методы и модели информатики. С. 51-134.</mixed-citation><mixed-citation xml:lang="en">Непомнящий В.А., Ануреев И.С., Михайлов И.Н., Промский А.В. Ориентированный на верификацию язык C-light // Системная информатика: Сб. науч. тр. Новосибирск: Издательство СО РАН, 2004. Вып. 9: Формальные методы и модели информатики. С. 51-134.</mixed-citation></citation-alternatives></ref><ref id="cit4"><label>4</label><citation-alternatives><mixed-citation xml:lang="ru">Непомнящий В.А., Ануреев И.С., Промский А.В., Дубрановский И.В. На пути к верификации C# программ: трехуровневый подход // Программирование. 2006. № 4. С. 4-20.</mixed-citation><mixed-citation xml:lang="en">Непомнящий В.А., Ануреев И.С., Промский А.В., Дубрановский И.В. На пути к верификации C# программ: трехуровневый подход // Программирование. 2006. № 4. С. 4-20.</mixed-citation></citation-alternatives></ref><ref id="cit5"><label>5</label><citation-alternatives><mixed-citation xml:lang="ru">Anureev I.S. A three-stage method of C program verification // Joint NCC&amp;IIS Bulletin, Series Computer Science. 2008. Vol. 28. P. 1-29.</mixed-citation><mixed-citation xml:lang="en">Anureev I.S. A three-stage method of C program verification // Joint NCC&amp;IIS Bulletin, Series Computer Science. 2008. Vol. 28. P. 1-29.</mixed-citation></citation-alternatives></ref><ref id="cit6"><label>6</label><citation-alternatives><mixed-citation xml:lang="ru">Alkassar E., Hillebrand M.A., Leinenbach D., Schirmer N.W., Starostin A. The Verisoft Approach to Systems Verification // VSTTE 2008. Lect. Notes Comput. Sci. 2008. Vol. 5295. P. 209-224.</mixed-citation><mixed-citation xml:lang="en">Alkassar E., Hillebrand M.A., Leinenbach D., Schirmer N.W., Starostin A. The Verisoft Approach to Systems Verification // VSTTE 2008. Lect. Notes Comput. Sci. 2008. Vol. 5295. P. 209-224.</mixed-citation></citation-alternatives></ref><ref id="cit7"><label>7</label><citation-alternatives><mixed-citation xml:lang="ru">Cohen E., Dahlweid M., Hillebrand M.A., Leinenbach D., Moskal M., Santen T., Schulte W., Tobies S. VCC: A Practical System for Verifying Concurrent C // Proc. TPHOLs 2009. LNCS. 2009. Vol. 5674. P. 23-42.</mixed-citation><mixed-citation xml:lang="en">Cohen E., Dahlweid M., Hillebrand M.A., Leinenbach D., Moskal M., Santen T., Schulte W., Tobies S. VCC: A Practical System for Verifying Concurrent C // Proc. TPHOLs 2009. LNCS. 2009. Vol. 5674. P. 23-42.</mixed-citation></citation-alternatives></ref><ref id="cit8"><label>8</label><citation-alternatives><mixed-citation xml:lang="ru">Filliatre J.C., Marche C. Multi-prover verification of C programs // Proc. ICFEM 2004. LNCS. 2004. Vol. 3308. P. 15-29.</mixed-citation><mixed-citation xml:lang="en">Filliatre J.C., Marche C. Multi-prover verification of C programs // Proc. ICFEM 2004. LNCS. 2004. Vol. 3308. P. 15-29.</mixed-citation></citation-alternatives></ref><ref id="cit9"><label>9</label><citation-alternatives><mixed-citation xml:lang="ru">Jacobs B., Kiniry J.L., Warnier M. Java program verification challenges // Proc. FMCO 2002. Lect. Notes Comput. Sci. 2003. Vol. 2852. P. 202-219.</mixed-citation><mixed-citation xml:lang="en">Jacobs B., Kiniry J.L., Warnier M. Java program verification challenges // Proc. FMCO 2002. Lect. Notes Comput. Sci. 2003. Vol. 2852. P. 202-219.</mixed-citation></citation-alternatives></ref><ref id="cit10"><label>10</label><citation-alternatives><mixed-citation xml:lang="ru">Promsky A.V. Towards C-light Program Verification: Overcoming the Obstacles // Proc. International Workshop on Program Understanding, 19-23 June, Altai Mountains, Russia, 2009. P. 53-63.</mixed-citation><mixed-citation xml:lang="en">Promsky A.V. Towards C-light Program Verification: Overcoming the Obstacles // Proc. International Workshop on Program Understanding, 19-23 June, Altai Mountains, Russia, 2009. P. 53-63.</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>
