ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ВСрификация Π‘-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ смСшанной аксиоматичСской сСмантики

Π”ΠΈΡΡΠ΅Ρ€Ρ‚Π°Ρ†ΠΈΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

НаконСц, рассмотрим ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ компилятора CompCert (Ѐранция, INRI А) для языка Clight, ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Jlepya. Π­Ρ‚ΠΎΡ‚ язык прСдставляСт собой довольно большоС подмноТСство языка Π‘, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ (Π² Ρ‚ΠΎΠΌ числС ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ), объСдинСния. Однако Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΡΡ… Clight Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½Ρ‹ ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹Π΅ эффСкты (Π² Ρ‡Π°ΡΡ‚ности, Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΡΡ… Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°, Π΄Π΅ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ВСрификация Π‘-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ смСшанной аксиоматичСской сСмантики (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

  • Π“Π»Π°Π²Π°.
  • Π―Π·Ρ‹ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΉ
    • 1. 1. Π―Π·Ρ‹ΠΊ Π‘-Н
    • 1. 2. Π―Π·Ρ‹ΠΊ Π‘-ΠΊΠ΅Π³ΠΏΠ΅
    • 1. 3. Π―Π·Ρ‹ΠΊ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠΉ
      • 1. 3. 1. Π’ΠΈΠΏΡ‹ ΠΈ Π°Π»Ρ„Π°Π²ΠΈΡ‚
      • 1. 3. 2. ВыраТСния
      • 1. 3. 3. ΠŸΠΎΠ΄ΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ°
      • 1. 3. 4. Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ
      • 1. 3. 5. ЛогичСскиС утвСрТдСния
  • Π“Π»Π°Π²Π°.
  • ΠœΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Π°Ρ опСрационная сСмантика языка Π‘-Н^
    • 2. 1. Абстрактная машина языка Π‘-Н^
    • 2. 2. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΈ Π°Π±ΡΡ‚Ρ€Π°ΠΊΡ‚Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
    • 2. 3. Аксиомы ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π²Ρ‹Π²ΠΎΠ΄Π°
    • 2. 4. Π‘Π΅ΠΌΠ°Π½Ρ‚ΠΈΠΊΠ° частичной коррСктности
    • 2. 5. Врансляция языка Π² Π‘-ΠΊΠ΅Π³ΠΏΠ΅
      • 2. 5. 1. ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ†ΠΈΠΉ
      • 2. 5. 2. ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ
  • Π“Π»Π°Π²Π°.
  • БмСшанная аксиоматичСская сСмантика языка Π‘-ΠΊΠ΅Π³ΠΏΠ΅
    • 3. 1. ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ понятия
    • 3. 2. ВыраТСния
    • 3. 3. Π”Π΅ΠΊΠ»Π°Ρ€Π°Ρ†ΠΈΠΈ
    • 3. 4. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹
    • 3. 5. Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°
    • 3. 6. ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΈΠ½Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² ΠΈΠ· Π‘-Н^ Π² Π‘-ΠΊΠ΅Π³ΠΏΠ΅
  • Π“Π»Π°Π²Π°.
  • ΠΠ΅ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ смСшанной аксиоматичСской сСмантики
    • 4. 1. ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ понятия
    • 4. 2. Π’Π΅ΠΎΡ€Π΅ΠΌΠ° ΠΎ Π½Π΅ΠΏΡ€ΠΎΡ‚иворСчивости
  • Π“Π»Π°Π²Π°.
  • ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ примСнСния смСшанной аксиоматичСской сСмантики
    • 5. 1. ВычислСниС Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π»Π°
    • 5. 2. Поиск Π² Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΌ односвязном спискС
    • 5. 3. ВопологичСская сортировка

Π’ Π΄ΠΈΡΡΠ΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ прСдставлСны Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ сСмантики языков C-light ΠΈ C-kernel, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π½Π° Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π₯ΠΎΠ°Ρ€Π°. Π”ΠΎΠΊΠ°Π·Π°Π½Π° Ρ‚Π΅ΠΎΡ€Π΅ΠΌΠ° ΠΎ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ности аксиоматичСской сСмантики языка C-kernel, исслСдован вопрос ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΈΠ½Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΏΡ€ΠΈ трансляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈΠ· ΡΠ·Ρ‹ΠΊΠ° Π‘-light Π² ΡΠ·Ρ‹ΠΊ C-kernel, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹, ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… сСмантик.

ΠΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ‚Π΅ΠΌΡ‹

.

Π€ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ вСрификация ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ — Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ соврСмСнного программирования. ΠžΡΠΎΠ±Ρ‹ΠΉ интСрСс прСдставляСт вСрификация ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, написанных Π½Π° Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½Ρ‘Π½Π½Ρ‹Ρ… языках систСмного программирования Ρ‚Π°ΠΊΠΈΡ…, ΠΊΠ°ΠΊ Π‘. ΠžΠ±Π»Π°ΡΡ‚ΡŒ примСнСния этого языка ΠΎΠ³Ρ€ΠΎΠΌΠ½Π°: ΠΎΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния для Π±Ρ‹Ρ‚ΠΎΠ²ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ Π΄ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм ΠΈ Π°Π²ΠΈΠΎΠ½ΠΈΠΊΠΈ.

ΠžΠ±ΠΎΠ·Ρ€ΠΈΠΌΠ°Ρ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ сСмантика являСтся Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ прСдпосылкой Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ язык ΡƒΠ΄ΠΎΠ±Π΅Π½ для Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ. Однако Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ сСмантики для ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ языка Π‘, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ стандарту ISO [62], Π½Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΠ΅Ρ‚. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, сказываСтся залоТСнная Π² Π‘ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° Π½ΠΈΠ·ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ — ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ ΠΏΠ°ΠΌΡΡ‚ΠΈ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π±Π°ΠΉΡ‚ΠΎΠ² ΠΈ Π΄Π°ΠΆΠ΅ Π±ΠΈΡ‚ΠΎΠ². Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, стандартизация Π‘ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ·ΠΆΠ΅ Π΅Π³ΠΎ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ распространСния, поэтому ΠΌΠ½ΠΎΠ³ΠΈΠ΅ аспСкты повСдСния Π‘-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π² ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π΅ ISO просто Π½Π΅ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹. Π’-Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΡ…, сам стандарт написан большСй Ρ‡Π°ΡΡ‚ΡŒΡŽ Π½Π° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ английском языкС, Ρ‡Ρ‚ΠΎ Π²Π»Π΅Ρ‡Ρ‘Ρ‚ Π·Π° ΡΠΎΠ±ΠΎΠΉ двусмыслСнности ΠΈ Π½Π΅ΡΡΠ½ΠΎΡΡ‚ΠΈ, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹Π΅ для любого чСловСчСского языка.

Π’ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π¨Π°Ρ€ΠΌΡ‹, Π”Ρ…ΠΎΠ΄Π°ΠΏΠΊΠ°Ρ€Π°, РамСша ΠΈ Π΄Ρ€. (Bhabba Atomic Research Centre, Indian Institute of Technology) прСдставлСн ΠΌΠ΅Ρ‚ΠΎΠ΄ [66] Π΄Π΅Π΄ΡƒΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ поиска ошибок Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ MISRA Π‘, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся ΠΈΠ½Π΄ΡƒΡΡ‚Ρ€ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ стандартом для написания бСзопасных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π½Π° Π²ΡΡ‚Ρ€Π°ΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ систСмы. Входная Π‘-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° модСлируСтся Π² Π²ΠΈΠ΄Π΅ Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ систСмы ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² Π² ΡΠ·Ρ‹ΠΊΠ΅ спСцификаций автоматичСского доказатСля Ρ‚Π΅ΠΎΡ€Π΅ΠΌ PVS. По ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ автоматичСски Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π»Π΅ΠΌΠΌΡ‹, Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ Π½Π° ΠΏΠΎΠΈΡΠΊ Ρ‚Π°ΠΊΠΈΡ… ошибок, ΠΊΠ°ΠΊ Π²Ρ‹Ρ…ΠΎΠ΄ Π·Π° Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ массива, Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Π½ΠΎΠ»ΡŒ, арифмСтичСскиС пСрСполнСния ΠΈ Π΄Ρ€. ΠŸΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠ»Π°ΡΡŒ вСрификация Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ ΠΏΡ€ΠΈ написании ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния для Π°Ρ‚ΠΎΠΌΠ½Ρ‹Ρ… Ρ€Π΅Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ². ВмСстС с Ρ‚Π΅ΠΌ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ, нСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ язык MISRA Π‘ ΡΠ²Π»ΡΠ΅Ρ‚ся ΠΊΡ€Π°ΠΉΠ½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΌ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½Ρ‹ объСдинСния, Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠ° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ, динамичСская ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈ Ρ€Π΅ΠΊΡƒΡ€ΡΠΈΡ), для Π½Π΅Π³ΠΎ отсутствуСт Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ синтаксичСскоС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π½Π° ΡΠΎΠΎΡ‚вСтствиС этому стандарту. Π’Π°ΠΊΠΆΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ ΡΠ²Π»ΡΠ΅Ρ‚ся Π΄Π΅Π΄ΡƒΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ Π² ΠΊΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΎΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ этого Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π° ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ лишь для поиска Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… классов (см. Π²Ρ‹ΡˆΠ΅) ошибок ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° исполнСния.

БистСма ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ для языка ANSI-C [34] описана ΠšΠ»Π°Ρ€ΠΊΠΎΠΌ, ΠšΡ€ΠΎΠ½ΠΈΠ½Π³ΠΎΠΌ ΠΈ Π΄Ρ€. (Carnegie Mellon University). ЗаявлСна ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° особСнностСй языка Π‘ ΠΈ Π²Ρ‹ΡΠΎΠΊΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ. Для Π±ΠΎΡ€ΡŒΠ±Ρ‹ с Π²Π·Ρ€Ρ‹Π²ΠΎΠΌ числа состояний ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ прСдикатная абстракция ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° CEGAR (CounterExample Guided Abstraction Refinement). Π­Ρ‚ΠΎΠΉ ΠΆΠ΅ Π³Ρ€ΡƒΠΏΠΏΠΎΠΉ исслСдоватСлСй развиваСтся ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡŽ языка Π‘ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ языка спСцификаций для Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ обСспСчСния, описываСмого Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Verilog [35]. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ интСрСс прСдставляСт Π½Π°Π±ΠΎΡ€ эквивалСнтных трансляций Π² ΡΠ·Ρ‹ΠΊΠ΅ ANSI-C, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… свСсти Π·Π°Π΄Π°Ρ‡Ρƒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΊ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Π±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΌΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€Π°ΠΌΠΈ (SAT-Ρ€Π΅ΡˆΠ°Ρ‚Π΅Π»ΠΈ). ΠšΠ»Π°Ρ€ΠΊ Ρ‚Π°ΠΊΠΆΠ΅ участвуСт Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° MAGIC (Modular Analysis of proGrams In C) [33], Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ‚Π°ΠΊΠΆΠ΅ строится конСчная модСль Π‘ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. ΠžΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ вСрификация Π² Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΈΠΌΠ΅Π΅Ρ‚ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ аппроксимации, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ†ΠΈΠΊΠ»Ρ‹ ΠΈ Ρ€Π΅ΠΊΡƒΡ€ΡΠΈΡ Ρ€Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π³Ρ€Π°Π½ΠΈΡ†Π°Ρ…, ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ явно ΡΡ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ эти Π³Ρ€Π°Π½ΠΈΡ†Ρ‹.

БистСма Π‘ Wolf [37] (SUNY at Stone Brook, North Carolina State University) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для извлСчСния ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ‡Π΅Π½Π½ΠΎΠΉ систСмы ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² ΠΈΠ· Π‘ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π­Ρ‚Π° модСль подаСтся Π½Π° Π²Ρ…ΠΎΠ΄ систСмС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ NCSU Concurrency Workbench. Π‘ Wolf использовался для Π°Π½Π°Π»ΠΈΠ·Π° Ρ‚Π°ΠΊΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠ°ΠΊ GNU i-protocol ΠΈ BSD ftp daemon. ΠžΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ ряд ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ Π½Π° Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Π΅ возмоТности языка Π‘, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½ сам ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ взаимодСйствия Π² Concurrency Workbench.

Другая систСма, для извлСчСния ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΈΠ· Π‘ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, названная ΠΠ₯ (Automation extractor) ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π°Ρ Π² ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ с ΡΠΈΡΡ‚Π΅ΠΌΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ SPIN, прСдставлСна Π₯ΠΎΠ»ΡŒΡ†ΠΌΠ°Π½ΠΎΠΌ (Bell Laboratories, Lucent Technologies) [45]. ΠŸΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° систСма для Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ‚Π°ΠΊΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΊΠ°ΠΊ обСспСчСниС Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π½Ρ‹Ρ… АВБ, распрСдСлённыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы, ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ «ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСр». ΠžΡ‚ΠΌΠ΅Ρ‡Π°Π»Π°ΡΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ языка Π‘, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π»ΠΎΡΡŒ Π½Π° Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… случаях Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π΅ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Π΅ΠΌΡ‹Ρ… абстракций.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ узкоспСциализированного ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΠΎ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ являСтся ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ VERISOFT (University of Saarlandes, German Research Center for Artificial Intelligence) [28], ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π½Π° Π²ΡΡ‚Ρ€Π°ΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ систСмы. Одна ΠΈΠ· Ρ†Π΅Π»Π΅ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° — вСрификация ядра ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы для простого, Π½ΠΎ Π²Π΅Ρ€ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ процСссора. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΡ‡Π΅Π½ΡŒ простоС подмноТСство языка Π‘ — язык БО, сСмантика ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ модСлируСтся Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° Ρ‚Π΅ΠΎΡ€Π΅ΠΌ Isabelle/HOL. Π’ ΡΠΈΠ»Ρƒ ограничСнности Π‘О Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… приходится ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ язык ассСмблСра, Ρ‡Ρ‚ΠΎ услоТняСт Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ. ВмСстС с Ρ‚Π΅ΠΌ, Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Π‘О Π±Ρ‹Π»ΠΈ написаны Π²Π΅Ρ€ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ строк ΠΈ ΡΠΏΠΈΡΠΊΠΎΠ².

ΠŸΠ΅Ρ€ΡΠΏΠ΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π‘ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Why (Ѐранция, INRIA) [38]. ΠžΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Why — это ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°, пригодная для Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΈΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… языков. Π’ Π½Π΅ΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½ ΠΎΠ΄Π½ΠΎΠΈΠΌΡ‘Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ язык, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ЦСль трансляции — гСнСрация условий коррСктности Π² Π²ΠΈΠ΄Π΅, Π½Π΅ Π·Π°Π²ΠΈΡΡΡ‰Π΅ΠΌ ΠΎΡ‚ ΡΠΈΡΡ‚Π΅ΠΌΡ‹ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° Ρ‚Π΅ΠΎΡ€Π΅ΠΌ. На ΠΎΡΠ½ΠΎΠ²Π΅ Why построСн инструмСнтарий Frama-C, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‰ΠΈΠΉ статичСский Π°Π½Π°Π»ΠΈΠ· для ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ языка Π‘ ΠΈ Π΄Π΅Π΄ΡƒΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ для ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ подмноТСства. Из ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ Π·Π°ΠΏΡ€Π΅Ρ‚Ρ‹ Π½Π° goto «Π½Π°Π·Π°Π΄» ΠΈ Π²Π½ΡƒΡ‚Ρ€ΡŒ Π±Π»ΠΎΠΊΠ°, ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, привСдСния Ρ‚ΠΈΠΏΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ числами ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Слями, объСдинСния, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ списками ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², вСщСствСнныС вычислСния. Π’Π°ΠΊΠΆΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ языка спСцификаций ACSL Π±Ρ‹Π»ΠΎ Π°Π½Π½ΠΎΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ подмноТСство стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ. Бписок Π²Π΅Ρ€ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ довольно простыС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ поиска ΠΈ ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠΈ.

НаконСц, рассмотрим ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ компилятора CompCert (Ѐранция, INRI А) для языка Clight, ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Jlepya [32]. Π­Ρ‚ΠΎΡ‚ язык прСдставляСт собой довольно большоС подмноТСство языка Π‘, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ (Π² Ρ‚ΠΎΠΌ числС ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ), объСдинСния. Однако Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΡΡ… Clight Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½Ρ‹ ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹Π΅ эффСкты (Π² Ρ‡Π°ΡΡ‚ности, Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΡΡ… Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°, Π΄Π΅ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π° ΠΈ ΡΠΎΡΡ‚Π°Π²Π½ΠΎΠ³ΠΎ присваивания), type-Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ†ΠΈΠΈ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ goto Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ся. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒΡΡ Π»ΠΈΠ±ΠΎ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ всСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π»ΠΈΠ±ΠΎ Π² Π½Π°Ρ‡Π°Π»Π΅ Ρ‚Π΅Π»Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚. Π΅. это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π·Π°ΠΏΡ€Π΅Ρ‚ Π½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠΎΠ². ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Clight транслируСтся Π² ΡΠ·Ρ‹ΠΊ Cminor, ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌ для всСй систСмы CompCert: Π² Π½Ρ‘ΠΌ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΎ число ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ Π½Π°Π»ΠΎΠΆΠ΅Π½Ρ‹ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ограничСния Π½Π° Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΡ. Π”ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ коррСктности ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° ΠΈΠ· Clight Π² Cminor Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΎ Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° Coq ΠΈ Π·Π°Π½ΡΠ»ΠΎ 6000 строк. На Π²Ρ‹Ρ…ΠΎΠ΄Π΅ систСма Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ассСмблСрный ΠΊΠΎΠ΄ для процСссоров PowerPC, ARM ΠΈ Ρ…86, ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‰ΠΈΠΉ сСмантику исходного Clight ΠΊΠΎΠ΄Π°. Π’ ΡΠ΅Π½Ρ‚ябрС 2010 Π³ΠΎΠ΄Π° Π²Ρ‹ΡˆΠ»Π° вСрсия 1.8 компилятора CompCert, которая, ΠΊΠ°ΠΊ заявлСно Π½Π° Π²Π΅Π±-сайтС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ goto ΠΈ ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹Π΅ эффСкты Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΡΡ…. Однако ссылки Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚Π½Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚.

ΠŸΡ€ΠΈ ΠΎΠ±Ρ‰Π΅ΠΌ сравнСнии извСстных ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° Π΄Π²Π° класса. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅ находятся ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ…Π²Π°Ρ‚ языка Π‘, Π½ΠΎ ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½Ρ‹Π΅ для поиска лишь Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… классов ошибок, Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Ρ‡Ρ‚ΠΎ услоТняСт Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ ΠΈΡ… ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ности. Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅ находятся ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ классичСскиС Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹, Π½ΠΎ ΠΏΡ€ΠΈ этом исслСдоватСли Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½Ρ‹ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ограничСния Π½Π° Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π’ Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΈΠΈ тСорСтичСского программирования ИБИ Π‘О РАН Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ язык Π‘-Н^, ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ подмноТСством языка Π‘.

Π€ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ этот язык Π±Ρ‹Π» ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ структурной ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ сСмантики Π² ΡΡ‚ΠΈΠ»Π΅ ΠŸΠ»ΠΎΡ‚ΠΊΠΈΠ½Π° [59]. Π₯отя опСрационная сСмантика ΡƒΠ΄ΠΎΠ±Π½Π° для Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ опрСдСлСния языка, для Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ‚ слишком Π½ΠΈΠ·ΠΊΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΠΈΠΌ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π°ΠΌ условий коррСктности. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π°ΠΊΡΠΈΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ сСмантику, Π±Π°Π·ΠΈΡ€ΡƒΡŽΡ‰ΡƒΡŽΡΡ Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ΅ Π₯ΠΎΠ°Ρ€Π° [41], которая опрСдСляСтся ΠΊΠ°ΠΊ систСма Π²Ρ‹Π²ΠΎΠ΄Π° ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΎ ΡΠ²ΠΎΠΉΡΡ‚Π²Π°Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Однако аксиоматичСская сСмантика для языка Π‘-^М Ρ‚Π°ΠΊΠΆΠ΅ Π±Ρ‹Π»Π° Π±Ρ‹ Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΠΎΠΉ. Π’ ΡΠ²ΡΠ·ΠΈ с ΡΡ‚ΠΈΠΌ Π±Ρ‹Π» ΠΏΡ€ΠΈΠΌΠ΅Π½Ρ‘Π½ Π΄Π²ΡƒΡ…ΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄: Π² ΡΠ·Ρ‹ΠΊΠ΅ Π‘-И^ выдСляСтся ядро — язык Π‘-ΠΊΠ΅Π³ΠΏΠ΅1, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° аксиоматичСская сСмантика, ΠΈ Π² ΡΡ‚ΠΎΡ‚ язык Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ исходныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Π‘-Н§ М. По ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΡΠ·Ρ‹ΠΊΠΎΠΌ Π‘-Н^ Π² ΡΠ·Ρ‹ΠΊΠ΅ Π‘-кСшС1 Π±ΠΎΠ»Π΅Π΅ простыС выраТСния ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², Ρ‡Ρ‚ΠΎ упростило Π°ΠΊΡΠΈΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ сСмантику. Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ использованиС ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ этапа трансляции Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½ΠΎ для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ· ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Ρ… Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². Но Ρ‚рансляция осущСствляСтся Π² ΡΠ·Ρ‹ΠΊΠΈ, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΡ‚ Π‘, Ρ‡Ρ‚ΠΎ ставит ΠΏΠΎΠ΄ вопрос Π΅Ρ‘ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ. Π’ [22] Π±Ρ‹Π»Π° Π΄ΠΎΠΊΠ°Π·Π°Π½Π° ваТная Ρ‚Π΅ΠΎΡ€Π΅ΠΌΠ° ΠΎ Π½Π΅ΠΏΡ€ΠΎΡ‚иворСчивости аксиоматичСской сСмантики языка Π‘-ΠΊΠ΅Π³ΠΏΠ΅1 ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π±Ρ‹Π»ΠΈ описаны Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° ΠΈΠ· ΡΠ·Ρ‹ΠΊΠ° Π‘-Н^ Π² ΡΠ·Ρ‹ΠΊ Π‘-ΠΊΠ΅Π³ΠΏΠ΅1 ΠΈ Π΄Π°Π½ΠΎ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ ΠΈΡ… ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ности. ΠŸΡ€ΠΈ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ (особСнно срСднСго ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΎΠ³ΠΎ ΠΎΠ±ΡŠΡ‘ΠΌΠ°) Ρ€ΡƒΡ‡Π½ΠΎΠΉ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ условий коррСктности ΠΎΡ‡Π΅Π½ΡŒ Ρ‚Ρ€ΡƒΠ΄ΠΎΡ‘ΠΌΠΊΠΈΠΉ, поэтому Π΅Π³ΠΎ цСлСсообразно Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Π°Ρ Π² [22] аксиоматичСская сСмантика языка Π‘-ΠΊΠ΅Π³ΠΏΠ΅1 ΡƒΠ΄ΠΎΠ±Π½Π° для тСорСтичСских исслСдований, Π½ΠΎ Π½Π΅ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π° Π½Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΡŽ условий коррСктности. ЦСль ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ диссСртации.

ЦСлью диссСртационной Ρ€Π°Π±ΠΎΡ‚Ρ‹ являСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ сСмантики языка Π‘-Π‘^^, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅ΠΉ автоматичСски ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ условия коррСктности ΠΈ ΡƒΠΏΡ€ΠΎΡ‰Π°Ρ‚ΡŒ ΠΈΡ…. Для достиТСния Ρ†Π΅Π»ΠΈ Π±Ρ‹Π»ΠΈ поставлСны ΠΈ Ρ€Π΅ΡˆΠ΅Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ:

1. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° новая вСрсия ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ сСмантики языка Π‘-И^.

2. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° смСшанная аксиоматичСская сСмантика языка Π‘-ΠΊΠ΅Π³ΠΏΠ΅1, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ автоматичСски ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ условия коррСктности ΠΈ ΡƒΠΏΡ€ΠΎΡ‰Π°Ρ‚ΡŒ ΠΈΡ….

3. Описан ΠΈ ΠΎΠ±ΠΎΡΠ½ΠΎΠ²Π°Π½ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° ΠΈΠ½Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΏΡ€ΠΈ трансляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈΠ· Π² Π‘-ΠΊΠ΅Π³ΠΏΠ΅1.

4. Π‘Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π° ΠΈ Π΄ΠΎΠΊΠ°Π·Π°Π½Π° Ρ‚Π΅ΠΎΡ€Π΅ΠΌΠ° ΠΎ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ности смСшанной аксиоматичСской сСмантики языка Π‘-ΠΊΠ΅Π³ΠΏΠ΅1.

5. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π½Π°Π±ΠΎΡ€ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² с Ρ†Π΅Π»ΡŒΡŽ использования ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ смСшанной аксиоматичСской сСмантики Π‘-ΠΊΠ΅Π³ΠΏΠ΅1 для упрощСния Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ.

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ исслСдования.

Π’ Ρ€Π°Π±ΠΎΡ‚Π΅ использовались Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Ρ‹ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ матСматичСской Π»ΠΎΠ³ΠΈΠΊΠΈ, структурного ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠŸΠ»ΠΎΡ‚ΠΊΠΈΠ½Π°, аксиоматичСского ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π₯ΠΎΠ°Ρ€Π°.

Научная ΠΈ ΠΏΡ€Π°ΠΊΡ‚ичСская Ρ†Π΅Π½Π½ΠΎΡΡ‚ΡŒ.

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ тСорСтичСской основной для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° условий коррСктности C-light ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΡΠ²Π»ΡΡŽΡ‰Π΅Π³ΠΎΡΡ составной Ρ‡Π°ΡΡ‚ΡŒΡŽ систСмы Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π‘ΠŸΠ•ΠšΠ’Π -2, Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ Π² Π½Π°ΡΡ‚оящСС врСмя Π² Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΈΠΈ тСорСтичСского программирования ИБИ Π‘О РАН.

Π”ΠΎΠΊΠ»Π°Π΄Ρ‹ ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚Π½Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Ρ‹Π»ΠΈ прСдставлСны Π½Π° ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ-конкурсС «Π’Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Microsoft Π² Ρ‚Π΅ΠΎΡ€ΠΈΠΈ ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ программирования» (Новосибирск, 2007 Π³.), VIII ВсСроссийской ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ ΠΌΠΎΠ»ΠΎΠ΄Ρ‹Ρ… ΡƒΡ‡Ρ‘Π½Ρ‹Ρ… ΠΏΠΎ ΠΌΠ°Ρ‚СматичСскому ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌ тСхнологиям (Новосибирск, 2007 Π³.), Π½Π° ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎΠΌ сСминарС «Program Understanding» (Алтай, 2009 Π³.), ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠ²ΡˆΠ΅ΠΌΡΡ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ «Perspectives of System Informatics», ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎΠΌ сСминарС «Program Semantics, Specif!-cation and Verification: Theory and Applications» Π² Ρ€Π°ΠΌΠΊΠ°Ρ… «5 International Computer Science Symposium in Russia» (Π΄ΠΎΠΊΠ»Π°Π΄Ρ‡ΠΈΠΊ А. Π’. ΠŸΡ€ΠΎΠΌΡΠΊΠΈΠΉ), ΠΏΡ€ΠΎΡˆΠ΅Π΄ΡˆΠ΅ΠΌ Π² 2010 Π³. Π² Казани ΠΈ ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎΠΉ Π•Ρ€ΡˆΠΎΠ²ΡΠΊΠΎΠΉ ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ ΠΏΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ PSI’l 1 (стСндовый Π΄ΠΎΠΊΠ»Π°Π΄, Новосибирск, 2011 Π³.).

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΎΠ±ΡΡƒΠΆΠ΄Π°Π»ΠΈΡΡŒ Π½Π° ΡΠ΅ΠΌΠΈΠ½Π°Ρ€Π΅ «Π’СорСтичСскоС ΠΈ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅» ИБИ Π‘О РАН.

По ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°ΠΌ диссСртации ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ΠΎ 11 Ρ€Π°Π±ΠΎΡ‚ [1, 6, 7, 8, 10, 11, 15,24,29,46,47].

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΈ ΠΎΠ±ΡŠΡ‘ΠΌ диссСртации.

ДиссСртация состоит ΠΈΠ· Π²Π²Π΅Π΄Π΅Π½ΠΈΡ, пяти Π³Π»Π°Π² ΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ. ΠžΠ±ΡŠΡ‘ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ (Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ) составляСт 110 страниц Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ машинописного тСкста.

Бписок Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹

содСрТит 66 Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΉ. ΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ содСрТаниС Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

.

Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… диссСртации Π±Ρ‹Π»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹:

1. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° новая вСрсия ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ сСмантики языка.

2. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° смСшанная аксиоматичСская сСмантика языка Π‘-ΠΊΠ΅Π³ΠΏΠ΅1, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ автоматичСски ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ условия коррСктности ΠΈ ΡƒΠΏΡ€ΠΎΡ‰Π°Ρ‚ΡŒ ΠΈΡ….

3. Описан ΠΈ ΠΎΠ±ΠΎΡΠ½ΠΎΠ²Π°Π½ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° ΠΈΠ½Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΏΡ€ΠΈ трансляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈΠ· Π‘-^Π«Π² Π‘-ΠΊΠ΅Π³ΠΏΠ΅1.

4. Π‘Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π° ΠΈ Π΄ΠΎΠΊΠ°Π·Π°Π½Π° Ρ‚Π΅ΠΎΡ€Π΅ΠΌΠ° ΠΎ Π½Π΅ΠΏΡ€ΠΎΡ‚иворСчивости смСшанной аксиоматичСской сСмантики языка Π‘-ΠΊΠ΅Π³ΠΏΠ΅1.

5. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π½Π°Π±ΠΎΡ€ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² с Ρ†Π΅Π»ΡŒΡŽ использования ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ смСшанной аксиоматичСской сСмантики Π‘-ΠΊΠ΅Π³ΠΏΠ΅1 для упрощСния Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ.

Π’ Π½Π°ΡΡ‚оящСС врСмя Π² Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΈΠΈ тСорСтичСского программирования вСдётся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΌΡƒΠ»ΡŒΡ‚ΠΈΡΠ·Ρ‹ΠΊΠΎΠ²ΠΎΠΉ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ систСмы Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π‘ΠŸΠ•ΠšΠ’Π -2 [15, 24], которая ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΈ ΡΠ·Ρ‹ΠΊ Π‘-%111 ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Π°Ρ Π² Π½Π°ΡΡ‚оящСй Ρ€Π°Π±ΠΎΡ‚Π΅ смСшанная аксиоматичСская сСмантика языка Π‘-ΠΊΠ΅Π³ΠΏΠ΅1 являСтся основной автоматичСского Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° условий коррСктности, ΡΠ²Π»ΡΡŽΡ‰Π΅Π³ΠΎΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ систСмы Π‘ΠŸΠ•ΠšΠ’Π -2.

ΠŸΠ΅Ρ€Π²Ρ‹Π΅ экспСримСнты ΠΏΠΎ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π² Π΄Π°Π½Π½ΠΎΠΉ систСмС ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ тСорСтичСскиС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст

Бписок Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹

  1. Н. Алгоримы ΠΈ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. — Π”осса: Π₯Π°ΠΌΠ°Ρ€Π°ΠΉΠ°Π½, 1997. — 360 с.
  2. А. Π’. Π€ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ спСцификации ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ (Π£Ρ‡Π΅Π±Π½ΠΎΠ΅ пособиС). —Новосибирск: НГУ, 1999. — 81 с.
  3. ., Π ΠΈΡ‚Ρ‡ΠΈ Π”. Π―Π·Ρ‹ΠΊ программирования Π‘ΠΈ. — Πœ.: Ѐинансы ΠΈ ΡΡ‚атистика, 1985.
  4. Π’. Π•., Π‘Π°Π±Π΅Π»ΡŒΡ„Π΅Π»ΡŒΠ΄ Π’. К. ВСория схСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. — Πœ.: Наука. Π“Π». Ρ€Π΅Π΄. Ρ„ΠΈΠ·.-ΠΌΠ°Ρ‚. Π»ΠΈΡ‚., 1991. — 248 с.
  5. И. Π’. АвтоматичСская вСрификация ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ C-light. // Π’Π΅Π·. Π΄ΠΎΠΊΠ». VIII ВсСросс. ΠΊΠΎΠ½Ρ„. ΠΌΠΎΠ»ΠΎΠ΄Ρ‹Ρ… ΡƒΡ‡Ρ‘Π½Ρ‹Ρ… ΠΏΠΎ ΠΌΠ°Ρ‚Π΅ΠΌ. ΠΌΠΎΠ΄Π΅Π». ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌ. Ρ‚Π΅Ρ…Π½ΠΎΠ». — ΠΠΎΠ²ΠΎΡΠΈΠ±ΠΈΡ€ΡΠΊ, 2007. — Π‘. 103.
  6. И. Π’. АвтоматичСская вСрификация ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ C-light. // Π’Π΅Π·. Π΄ΠΎΠΊΠ». ΠΊΠΎΠ½Ρ„.-ΠΊΠΎΠ½ΠΊ. «Π’Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Microsoft Π² Ρ‚Π΅ΠΎΡ€ΠΈΠΈ ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ программирования». — ΠΠΎΠ²ΠΎΡΠΈΠ±ΠΈΡ€ΡΠΊ, 2007. — Π‘. 25 — 27.
  7. И. Π’. АвтоматичСская гСнСрация условий коррСктности Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ C-light ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. // ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ XLIV МСТд. Π½Π°ΡƒΡ‡Π½. студ. ΠΊΠΎΠ½Ρ„. «Π‘Ρ‚ΡƒΠ΄Π΅Π½Ρ‚ ΠΈ Π½Π°ΡƒΡ‡Π½ΠΎ-тСхничСский прогрСсс». — ΠΠΎΠ²ΠΎΡΠΈΠ±ΠΈΡ€ΡΠΊ, 2006. —Π‘. 253 — 254.
  8. И. Π’. АвтоматичСская гСнСрация условий коррСктности для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Паскаль. // Π’Ρ€ΡƒΠ΄Ρ‹ XLIII МСТд. Π½Π°ΡƒΡ‡Π½. студ. ΠΊΠΎΠ½Ρ„. «Π‘Ρ‚ΡƒΠ΄Π΅Π½Ρ‚ ΠΈ Π½Π°ΡƒΡ‡Π½ΠΎ-тСхничСский прогрСсс». — ΠΠΎΠ²ΠΎΡΠΈΠ±ΠΈΡ€ΡΠΊ, 2005. — Π‘. 181 — 186.
  9. И. Π’. На ΠΏΡƒΡ‚ΠΈ ΠΊ Π°Π²Ρ‚оматичСской Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ C-light ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. БмСшанная аксиоматичСская сСмантика языка C-kernel. — ΠΠΎΠ²ΠΎΡΠΈΠ±ΠΈΡ€ΡΠΊ, 2008. — 32 с. — (ΠŸΡ€Π΅ΠΏΡ€. / РАН. Π‘ΠΈΠ±. ΠžΡ‚Π΄-Π½ΠΈΠ΅. ИБИ- № 150). — URL: http://www.iis.nsk.Su/files/preprints/l 50.pdf.
  10. И. Π’. ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ смСшанной аксиоматичСской сСмантики языка C-kernel ΠΊ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ топологичСской сортировки.
  11. Новосибирск, 2010. — 36 с. — (ΠŸΡ€Π΅ΠΏΡ€. / РАН. Π‘ΠΈΠ±. ΠžΡ‚Π΄-Π½ΠΈΠ΅. ИБИ- № 155). —URL: http://www.iis.nsk.su/files/preprints/155.pdf.
  12. Π’. А. ВСрификация ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π°Π΄ массивами. // БистСмная ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°. —Новосибирск, 1993. —Π’Ρ‹ΠΏ. 3. — Π‘. 68—98.
  13. Π’. А. ВСрификация Ρ„ΠΈΠ½ΠΈΡ‚Π½ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ Π½Π°Π±ΠΎΡ€Π°ΠΌΠΈ структур Π΄Π°Π½Π½Ρ‹Ρ…. // ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. — 2002. — № 1. — Π‘. 3 — 12.
  14. Π’. А. О ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. // ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. — 1986. — № 1. — Π‘. 3 — 12.
  15. Π’. А., АнурССв И. Π‘., ΠœΠΈΡ…Π°ΠΉΠ»ΠΎΠ² И. Н., ΠŸΡ€ΠΎΠΌΡΠΊΠΈΠΉ А. Π’. На ΠΏΡƒΡ‚ΠΈ ΠΊ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π‘ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. АксиоматичСская сСмантика языка Π‘-kernel. // ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. — 2003. — № 6. — Π‘. 1 — 16.
  16. Π’. А., АнурССв И. Π‘., ΠœΠΈΡ…Π°ΠΉΠ»ΠΎΠ² И. Н., ΠŸΡ€ΠΎΠΌΡΠΊΠΈΠΉ А. Π’. На ΠΏΡƒΡ‚ΠΈ ΠΊ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π‘ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Π§Π°ΡΡ‚ΡŒ 1. Π―Π·Ρ‹ΠΊ C-light. — ΠΠΎΠ²ΠΎΡΠΈΠ±ΠΈΡ€ΡΠΊ, 2001. — 48 с. — (ΠŸΡ€Π΅ΠΏΡ€. / РАН. Π‘ΠΈΠ±. ΠžΡ‚Π΄-Π½ΠΈΠ΅. ИБИ- № 84).
  17. Π’. А., АнурССв И. Π‘., ΠœΠΈΡ…Π°ΠΉΠ»ΠΎΠ² И. Н., ΠŸΡ€ΠΎΠΌΡΠΊΠΈΠΉ А. Π’. На ΠΏΡƒΡ‚ΠΈ ΠΊ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π‘ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Π§Π°ΡΡ‚ΡŒ 2. Π―Π·Ρ‹ΠΊ C-light-kernel ΠΈ Π΅Π³ΠΎ аксиоматичСская сСмантика. — ΠΠΎΠ²ΠΎΡΠΈΠ±ΠΈΡ€ΡΠΊ, 2001. — 58 с. — (ΠŸΡ€Π΅ΠΏΡ€. / РАН. Π‘ΠΈΠ±. ΠžΡ‚Π΄-Π½ΠΈΠ΅. ИБИ- № 87).
  18. Π’. А., АнурССв И. Π‘., ΠœΠΈΡ…Π°ΠΉΠ»ΠΎΠ² И. Н., ΠŸΡ€ΠΎΠΌΡΠΊΠΈΠΉ А. Π’. На ΠΏΡƒΡ‚ΠΈ ΠΊ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π‘ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Π§Π°ΡΡ‚ΡŒ 3. ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΈΠ· ΡΠ·Ρ‹ΠΊΠ° C-light вязык C-light-kernel ΠΈ Π΅Π³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ обоснованиС. — ΠΠΎΠ²ΠΎΡΠΈΠ±ΠΈΡ€ΡΠΊ, 2002.82 с. — (ΠŸΡ€Π΅ΠΏΡ€. / РАН. Π‘ΠΈΠ±. ΠžΡ‚Π΄-Π½ΠΈΠ΅. ИБИ- № 97).
  19. Π’. А., АнурССв И. Π‘., ΠœΠΈΡ…Π°ΠΉΠ»ΠΎΠ² И. Н., ΠŸΡ€ΠΎΠΌΡΠΊΠΈΠΉ А. Π’. На ΠΏΡƒΡ‚ΠΈ ΠΊ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π‘-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Π―Π·Ρ‹ΠΊ C-light. // ΠšΠΎΠ½Ρ„., посвящСнная 90-Π»Π΅Ρ‚ΠΈΡŽ со Π΄Π½Ρ роТдСния А. А. Ляпунова (ΠΏΠ»Π΅Π½Π°Ρ€Π½Ρ‹Π΅ Π΄ΠΎΠΊΠ»Π°Π΄Ρ‹). — ΠΠΎΠ²ΠΎΡΠΈΠ±ΠΈΡ€ΡΠΊ, 2001. — Π‘. 423 — 432.
  20. Π’. А., АнурССв И. Π‘., ΠœΠΈΡ…Π°ΠΉΠ»ΠΎΠ² И. Н., ΠŸΡ€ΠΎΠΌΡΠΊΠΈΠΉ А. Π’. На ΠΏΡƒΡ‚ΠΈ ΠΊ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π‘ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Π―Π·Ρ‹ΠΊ C-light ΠΈ Π΅Π³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ сСмантика. // ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. — 2002. — № 6. — Π‘. 1 — 13.
  21. Π’. А., АнурССв И. Π‘., ΠœΠΈΡ…Π°ΠΉΠ»ΠΎΠ² И. Н., ΠŸΡ€ΠΎΠΌΡΠΊΠΈΠΉ А. Π’. ΠžΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π½Π° Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ язык C-light. // БистСмная ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°: Π‘Π±. Π½Π°ΡƒΡ‡Π½. Ρ‚Ρ€ΡƒΠ΄. — ΠΠΎΠ²ΠΎΡΠΈΠ±ΠΈΡ€ΡΠΊ: Изд-Π²ΠΎ Π‘О РАН, 2004. — Π’Ρ‹ΠΏ. 9: Π€ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠΈ. — Π‘. 51 — 134.
  22. Π’. А., АнурССв И. Π‘., ΠŸΡ€ΠΎΠΌΡΠΊΠΈΠΉ А. Π’. На ΠΏΡƒΡ‚ΠΈ ΠΊ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π‘ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Π―Π·Ρ‹ΠΊ C-light ΠΈ Π΅Π³ΠΎ трансформационная сСмантика. // Problems in programming. — Kiev, 2006. — № 2 — 3. — Π‘. 359 — 368.
  23. Π’. А., Рякин О. М. ΠŸΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. — Πœ.: Π Π°Π΄ΠΈΠΎ ΠΈ ΡΠ²ΡΠ·ΡŒ, 1988. — 256 с.
  24. Π’. А., Π‘ΡƒΠ»ΠΈΠΌΠΎΠ² А. А. ВСрификация ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±Ρ€Ρ‹ Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅ Π‘ΠŸΠ•ΠšΠ’Π . // ΠšΠΈΠ±Π΅Ρ€Π½Π΅Ρ‚ΠΈΠΊΠ° ΠΈ ΡΠΈΡΡ‚Π΅ΠΌΠ½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ·. — 1992.5. —Π‘. 136 — 144.
  25. Π’. А., Π‘ΡƒΠ»ΠΈΠΌΠΎΠ² А. А. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π±Π°Π·Ρ‹ Π·Π½Π°Π½ΠΈΠΉ ΠΈ ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π‘ΠŸΠ•ΠšΠ’Π . //
  26. Изв. РАН. Π‘Π΅Ρ€. «Π’Сория ΠΈ ΡΠΈΡΡ‚Π΅ΠΌΡ‹ управлСния». — 1997. — № 2. — Π‘. 169 — 175.
  27. Alkassar Π•., Hillebrand М.А., 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.
  28. Apt K. R., Olderog E. R. Verification of sequential and concurrent programs. — Springer, 1991.
  29. Ball Π’., Rajamani S.K. The SLAM project: debugging a system via static analysis // POPL 2002. URL: http://research.microsoft.com/en-us/projects/ slam/.
  30. Blazy S., Leroy X. Mechanized semantics for the Clight subset of the Π‘ language. // Journal of Automated Reasoning. — 2009. — Vol. 43, N 3. — P. 263—288.
  31. Chaki S., Clarke E. M., Groce A., Jha S., Veith H. Modular verification of software components in C. // ICSE 2003. — P. 385 — 395.
  32. Clarke E. M., Kroening D., Sharygina N., Yorav K. Predicate abstraction of ANSI-C programs using SAT. // Proc. of the Model checking for dependable software-sensitive systems workshop. — San-Francisco, 2003.
  33. Clarke E. M., Kroening D., Yorav K. Behavioral consistency of Π‘ and verilog programs using bounded model checking. // DAC 2003. — P.368 — 371.
  34. Cousot P. Abstract interpretation based formal methods and future challenges // Lect. Notes Comput. Sci. — Berlin etc, 2001. — Vol. 2000. — P. 138 — 156.
  35. Du Varney D. C., Purushothaman Iyer S. C Wolf — a toolset for extracting models from C programs. // Lect. Notes Comput. Sci. — 2002. — Vol. 2529 / 2002. —P. 260 — 275.
  36. Filliatre J.C., Marche C. Multi-prover verification of C programs // Proc. ICFEM 2004. — LNCS. — 2004. — Vol. 3308. — P. 15 — 29.
  37. Floyd R. W. Assigning meanings to programs // Proc. AMS Symp. Applied Mathematics. — American Mathematical Society, Providence, R.I., 1967. — Vol. 19. —P. 19 — 31.
  38. Gurevich Y., Huggins J.K. The semantics of the C programming language // Lect. Notes Comput. Sci. — Berlin etc., 1993. — Vol. 702. — P. 274 — 309.
  39. Hoare C. A. R. An axiomatic basis for computer programming // Communs ACM. — 1969. — Vol. 12, N 1. — P. 576 — 580.
  40. Hoare C. A. R. Assertions / Proc. of the NATO Advanced Study Inst, on Models, Algebras and Logic of Engineering Software, Marktoberdorf, Germany, July 30 — August 11, 2002. — Amsterdam, 2003. — P. 291 — 316.
  41. Hoare C. A. R, Jifeng H. A trace model for pointers and objects // Lect. Notes Comput. Sci. — Berlin etc., 1999. — Vol. 1628. — P. 1 — 18.
  42. Hoare C. A. R., Wirth N. An axiomatic definition of the programming language Pascal // Acta Informatica. — 1973. — Vol. 2, N 4. — P. 335 — 355.
  43. Holzmann G.J. Logic verification of ANSI C code with SPIN // Lect. Notes Comput. Sci. — Berlin etc., 2000. — Vol. 1885. — P. 131 — 147.
  44. Maryasov I. V. The mixed axiomatic semantics method. — Novosibirsk, 2011. — 43 c. — (Preprint / RAS. Sib. branch. IIS- № 160). — http://www.iis.nsk.Su/files/preprints/l 60.pdf.
  45. Moore J. S. Proving theorems about Java and the JVM with ACL2 I I Proc. of the NATO Advanced Study Inst, on Models, Algebras and Logic of Engineering Software, Marktoberdorf, Germany, July 30 — August 11, 2002. — Amsterdam, 2003. — P. 227 — 290.
  46. Nepomniaschy V. A. On a symbolic method of verification for definite iteration over data structures // Joint Bulletin of the Institute of Informatics Systems and Computer Center. — 1998. — N 5. — P. 1—22.
  47. Nepomniaschy V. A. Verification of pointer programs using symbolic method for definite iterations // Joint Bulletin of the Institute of Informatics Systems and Computer Center. — 2000. — N 13. — P. 56—66.
  48. Nepomniaschy V. A. Symbolic verification method for definite iterations over tuples of data structures // Joint Bulletin of the Institute of Informatics Systems and Computer Center. — 2001. — N 15. — P. 103—123.
  49. Nepomniaschy V. A., Sulimov A. A. Problem-oriented means of program specification and verification in project SPECTRUM // Lect. Notes Comput. Sei. — 1993. — Vol. 722. — P. 374—378.
  50. Nepomniaschy V. A., Sulimov A. A. Towards Automatic Program Verification: Problem-Oriented Knowledge Bases // Specification, verification and net models of concurrent systems. — Novosibirsk, 1994. — P. 138—150.
  51. Nipkow T. Hoare logics for recursive procedures and unbounded nondeterminism. — 2001. — (Draft / Fakultat fur Informatik, Technische Universitat Munchen). URL: http://www.in.tum.de/~nipkow/.
  52. Norrish M. C formalised in HOL: Thes. doct. phylosophy (computer sei.). — Cambridge, 1998. — 150 p.
  53. Norrish M. Derivation of verification rules for C from operational definitions // Supplementary Proc. 9th International Conf. Theorem Proving in Higher Order Logics. — TUCS General Publication N 1, Turku Centre for Computer Science, 1996. —P. 69−75.
  54. Norrish M. Deterministic expressions in C // Lect. Notes Comput. Sci. — Berlin etc, 1999. —Vol. 1576. —P. 147—161.
  55. Plotkin G.D. A structure approach to operational semantics. — 1981. — (Tech. Rep./ DAIMI/Aarhus University- FN-19).
  56. Plotkin G.D. The origins of structural operational semantics // Inform. Processing Letters. — 2003. — Vol. 88, Issue 1−2. — P. 27—32.
  57. Programming languages — C: ISO/IEC 9899:1990. — 1990.
  58. Programming languages — C: ISO/IEC 9899:1999. — 1999. — 566 p.
  59. Promsky A. V. Towards C-light program verification: overcoming the obstacles. // Perspectives of Systems Informatics (PSI): A. Ershov 7th Int. Conf.: Int. workshop on Program Understanding. —Novosibirsk, 2009. — P. 53 — 63.
  60. Reynolds J. C. Theories of programming languages. — Cambridge University Press, 1998. — 500 p.
  61. Ritchie D.M. The developement of the C language // In 2nd History of Programming Languages conf., Cambridge, Mass., — ACM, 1993.
  62. Sharma B., Dhodapkar S. D., Ramesh S. Assertion checking environment (ACE) for formal verification of C programs // Lect. Notes Comput. Sci. — Berlin etc., 2002. — Vol. 2434. — P. 284—295.
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ