<?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-1095</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>Attribute Annotations and Their Use
in C Program Deductive Verification</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>Atuchin</surname><given-names>M. M.</given-names></name></name-alternatives><email xlink:type="simple">atuchinm@gmail.com</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-1"/></contrib></contrib-group><aff xml:lang="ru" id="aff-1"><institution>Институт систем информатики имени А.П. Ершова СО РАН</institution><country>Russian Federation</country></aff><pub-date pub-type="collection"><year>2011</year></pub-date><pub-date pub-type="epub"><day>20</day><month>12</month><year>2011</year></pub-date><volume>18</volume><issue>4</issue><fpage>21</fpage><lpage>33</lpage><permissions><copyright-statement>Copyright &amp;#x00A9; Атучин М.М., Ануреев И.С., 2011</copyright-statement><copyright-year>2011</copyright-year><copyright-holder xml:lang="ru">Атучин М.М., Ануреев И.С.</copyright-holder><copyright-holder xml:lang="en">Atuchin M.M., Anureev I.S.</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/1095">https://www.mais-journal.ru/jour/article/view/1095</self-uri><abstract><p>Предложен новый вид аннотаций, называемых атрибутными аннотациями, и методология их применения в дедуктивной верификации программ. Описана коллекция аннотирующих атрибутов для подмножества C-kernel языка C и на их основе представлены два варианта аксиоматической семантики языка C- kernel - семантика прямого прослеживания и смешанная семантика прямого прослеживания.</p></abstract><trans-abstract xml:lang="en"><p>In this paper a new kind of annotations, called attribute annotations, and the methodology for their application in a deductive program verification are proposed. A collection of annotating attributes for the subset C-kernel of the C language is described, and on their base two versions of axiomatic semantics of C-kernel - forward semantics and mixed forward semantics - are presented.</p></trans-abstract><kwd-group xml:lang="ru"><kwd>дедуктивная верификация</kwd><kwd>атрибутная нормализация</kwd><kwd>атрибутные аннотации</kwd><kwd>аксиоматическая семантика</kwd><kwd>C-light</kwd><kwd>C-kernel</kwd></kwd-group><kwd-group xml:lang="en"><kwd>deductive verification</kwd><kwd>attribute normalization</kwd><kwd>attribute annotations</kwd><kwd>axiomatic semantics</kwd><kwd>C-light</kwd><kwd>C-kernel</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">Leroy X. Formal verification of a realistic compiler // Communications of the ACM. 2009. 52(7). P. 107-115.</mixed-citation><mixed-citation xml:lang="en">Leroy X. Formal verification of a realistic compiler // Communications of the ACM. 2009. 52(7). P. 107-115.</mixed-citation></citation-alternatives></ref><ref id="cit2"><label>2</label><citation-alternatives><mixed-citation xml:lang="ru">Filliatre J. C., Marche C. Multi-prover verification of C programs // Proc. ICFEM 2004. 2004. LNCS 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. 2004. LNCS 3308. P. 15-29.</mixed-citation></citation-alternatives></ref><ref id="cit3"><label>3</label><citation-alternatives><mixed-citation xml:lang="ru">Leino K.R.M., Rummer P. A polymorphic intermediate verification language: Design and logical encoding // TACAS 2010. 2010. LNCS 6015. P. 312-327.</mixed-citation><mixed-citation xml:lang="en">Leino K.R.M., Rummer P. A polymorphic intermediate verification language: Design and logical encoding // TACAS 2010. 2010. LNCS 6015. P. 312-327.</mixed-citation></citation-alternatives></ref><ref id="cit4"><label>4</label><citation-alternatives><mixed-citation xml:lang="ru">Leino K. R. M. Dafny: an automatic program verifier for functional correctness // LPAR-16. 2010. LNCS 6355. P. 348-370.</mixed-citation><mixed-citation xml:lang="en">Leino K. R. M. Dafny: an automatic program verifier for functional correctness // LPAR-16. 2010. LNCS 6355. P. 348-370.</mixed-citation></citation-alternatives></ref><ref id="cit5"><label>5</label><citation-alternatives><mixed-citation xml:lang="ru">Cohen E., Dahlweid M, Hillebrand M., et al. VCC: A Practical System for Veirying Concurrent C // TPHOLs 2009. 2009. LNCS 5674. P. 23-42.</mixed-citation><mixed-citation xml:lang="en">Cohen E., Dahlweid M, Hillebrand M., et al. VCC: A Practical System for Veirying Concurrent C // TPHOLs 2009. 2009. LNCS 5674. P. 23-42.</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. 2008. LNCS 5295. P. 209224.</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. 2008. LNCS 5295. P. 209224.</mixed-citation></citation-alternatives></ref><ref id="cit7"><label>7</label><citation-alternatives><mixed-citation xml:lang="ru">Непомнящий В.А., Ануреев И.С., Промский А.В. На пути к верификации С программ. Аксиоматическая семантика языка C-kernel // Программирование. 2003. № 6. С. 5-15.</mixed-citation><mixed-citation xml:lang="en">Непомнящий В.А., Ануреев И.С., Промский А.В. На пути к верификации С программ. Аксиоматическая семантика языка C-kernel // Программирование. 2003. № 6. С. 5-15.</mixed-citation></citation-alternatives></ref><ref id="cit8"><label>8</label><citation-alternatives><mixed-citation xml:lang="ru">Nepomniaschy, V. A., Anureev, I. S., Promsky, A. V. Verification-oriented language C- light and its structural operational semantics // Proc. of Conf. PSI-2003. 2003. LNCS 2890. P. 1-5.</mixed-citation><mixed-citation xml:lang="en">Nepomniaschy, V. A., Anureev, I. S., Promsky, A. V. Verification-oriented language C- light and its structural operational semantics // Proc. of Conf. PSI-2003. 2003. LNCS 2890. P. 1-5.</mixed-citation></citation-alternatives></ref><ref id="cit9"><label>9</label><citation-alternatives><mixed-citation xml:lang="ru">Непомнящий В.А., Ануреев И.С., Михайлов И.Н., Промский А.В. На пути к верификации С программ. Язык C-light и его формальная семантика // Программирование. 2002. № 6. С. 1-13.</mixed-citation><mixed-citation xml:lang="en">Непомнящий В.А., Ануреев И.С., Михайлов И.Н., Промский А.В. На пути к верификации С программ. Язык C-light и его формальная семантика // Программирование. 2002. № 6. С. 1-13.</mixed-citation></citation-alternatives></ref><ref id="cit10"><label>10</label><citation-alternatives><mixed-citation xml:lang="ru">Непомнящий В.А., Ануреев И.С., Промский А.В. На пути к верификации C- программ. Язык С-light и его трансформационная семантика // Проблемы программирования. 2006. № 2-3. С. 359-368.</mixed-citation><mixed-citation xml:lang="en">Непомнящий В.А., Ануреев И.С., Промский А.В. На пути к верификации C- программ. Язык С-light и его трансформационная семантика // Проблемы программирования. 2006. № 2-3. С. 359-368.</mixed-citation></citation-alternatives></ref><ref id="cit11"><label>11</label><citation-alternatives><mixed-citation xml:lang="ru">Непомнящий В.А., Ануреев И.С., Михайлов И.Н., Промский А.В. Ориентированный на верификацию язык C-light // Формальные методы и модели информатики: Сборник научных трудов. Серия "Системная информатика". Новосибирск: Издательство СО РАН. 2004. № 9. C. 51-134.</mixed-citation><mixed-citation xml:lang="en">Непомнящий В.А., Ануреев И.С., Михайлов И.Н., Промский А.В. Ориентированный на верификацию язык C-light // Формальные методы и модели информатики: Сборник научных трудов. Серия "Системная информатика". Новосибирск: Издательство СО РАН. 2004. № 9. C. 51-134.</mixed-citation></citation-alternatives></ref><ref id="cit12"><label>12</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="cit13"><label>13</label><citation-alternatives><mixed-citation xml:lang="ru">ISO/IEC 9899: Programming languages - C. (1999)</mixed-citation><mixed-citation xml:lang="en">ISO/IEC 9899: Programming languages - C. (1999)</mixed-citation></citation-alternatives></ref><ref id="cit14"><label>14</label><citation-alternatives><mixed-citation xml:lang="ru">Nepomniaschy V.A., Sulimov A.A. Promlem-oriented means of program specification and verification in project SPECTRUM // DISCo 1993. 1993. LNCS 722. P. 374-378.</mixed-citation><mixed-citation xml:lang="en">Nepomniaschy V.A., Sulimov A.A. Promlem-oriented means of program specification and verification in project SPECTRUM // DISCo 1993. 1993. LNCS 722. P. 374-378.</mixed-citation></citation-alternatives></ref><ref id="cit15"><label>15</label><citation-alternatives><mixed-citation xml:lang="ru">Nepomniaschy V.A., Sulimov A.A. Problem-oriented verification system and its application to linear algebra programs // Theoretical Computer Science. 1993. 119. P. 173-185.</mixed-citation><mixed-citation xml:lang="en">Nepomniaschy V.A., Sulimov A.A. Problem-oriented verification system and its application to linear algebra programs // Theoretical Computer Science. 1993. 119. P. 173-185.</mixed-citation></citation-alternatives></ref><ref id="cit16"><label>16</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="cit17"><label>17</label><citation-alternatives><mixed-citation xml:lang="ru">Anureev I.S. Introduction to the Atoment language // Joint NCC&amp;IIS Bulletin, Series Computer Science. 2010. Vol. 30. P. 1-16.</mixed-citation><mixed-citation xml:lang="en">Anureev I.S. Introduction to the Atoment language // Joint NCC&amp;IIS Bulletin, Series Computer Science. 2010. Vol. 30. P. 1-16.</mixed-citation></citation-alternatives></ref><ref id="cit18"><label>18</label><citation-alternatives><mixed-citation xml:lang="ru">Непомнящий В.А., Ануреев И.С., Атучин М.М., Марьясов И.В., Петров А.А., Промский А.В. Система анализа и верификации C-программ СПЕКТР-2 // Моделирование и анализ информационных систем. 2010. Том 17, № 4. С. 88-100.</mixed-citation><mixed-citation xml:lang="en">Непомнящий В.А., Ануреев И.С., Атучин М.М., Марьясов И.В., Петров А.А., Промский А.В. Система анализа и верификации C-программ СПЕКТР-2 // Моделирование и анализ информационных систем. 2010. Том 17, № 4. С. 88-100.</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>
