Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π±Π°Π³ΠΈ, Π²ΠΎΡ€Π½ΠΈΠ½Π³ΠΈ ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

РазбираСмся, ΠΊΠ°ΠΊΠΈΠ΅ Π±Ρ‹Π²Π°ΡŽΡ‚ Ρ‚ΠΈΠΏΡ‹ ошибок Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ ΠΊΠ°ΠΊ с Π½ΠΈΠΌΠΈ ΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ.

Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. 3cadc6192efdb62e6d1215d7eb4f373f. Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Ρ„ΠΎΡ‚ΠΎ. Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅-3cadc6192efdb62e6d1215d7eb4f373f. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 3cadc6192efdb62e6d1215d7eb4f373f

Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. 821e7a0a41de2ee14e961e3857aca8c6. Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Ρ„ΠΎΡ‚ΠΎ. Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅-821e7a0a41de2ee14e961e3857aca8c6. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 821e7a0a41de2ee14e961e3857aca8c6

Многим извСстно слово Π±Π°Π³ (Π°Π½Π³Π». bug β€” ΠΆΡƒΠΊ), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ошибки Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ…. Однако Π±Π°Π³ β€” это Π½Π΅ совсСм ошибка, Π° скорСС Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π’Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹: Π²ΠΎΡ€Π½ΠΈΠ½Π³, ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, ΡƒΡ‚Π΅Ρ‡ΠΊΠ°.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ C++ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ, Ρ‡Ρ‚ΠΎ ΠΆΠ΅ Π·Π½Π°Ρ‡Π°Ρ‚ всС эти слова ΠΈ ΠΊΠ°ΠΊ эти ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. kucheryaviy. Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Ρ„ΠΎΡ‚ΠΎ. Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅-kucheryaviy. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° kucheryaviy

ΠŸΠΈΡˆΠ΅Ρ‚ ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, Π² свободноС врСмя создаСт ΠΈΠ³Ρ€Ρ‹. ΠœΠ΅Ρ‡Ρ‚Π°Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ свою ΡΡ‚ΡƒΠ΄ΠΈΡŽ ΠΈ Π²Ρ‹ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π»Π°ΠΌΠΏΠΎΠ²Ρ‹Π΅ RPG.

Ошибки Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

Π‘Π»ΠΎΠ²ΠΎΠΌ «ошибка» (Π°Π½Π³Π». error) ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, Π½ΠΎ Ρ‡Π°Ρ‰Π΅ всСго ΠΏΠΎΠ΄ Π½ΠΈΠΌ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡŽΡ‚ ΡΠΈΠ½Ρ‚Π°ΠΊΡΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ β€” Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ написанный ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π°ΠΆΠ΅ Π½Π΅ скомпилируСтся:

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ Ρ‚ΡƒΡ‚ ΠΆΠ΅ скаТСт, Ρ‡Ρ‚ΠΎ Π² ΠΊΠΎΠ΄Π΅ ошибка ΠΈ скорСС всСго Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ запятой ΠΈΠ»ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ с запятой.

Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. 18563129062020 6a4e9b3ae3023faad72ace61e6264ce47ed78056. Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Ρ„ΠΎΡ‚ΠΎ. Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅-18563129062020 6a4e9b3ae3023faad72ace61e6264ce47ed78056. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 18563129062020 6a4e9b3ae3023faad72ace61e6264ce47ed78056

Π’Π°ΠΊΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π²ΠΎΡ€Π½ΠΈΠ½Π³ΠΈ (Π°Π½Π³Π». warning β€” ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅). Они Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ошибками, поэтому ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° всё Ρ€Π°Π²Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ собрана. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. 18563129062020 e3ea06ecc4efe66fd609360c227a5daace25eda6. Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Ρ„ΠΎΡ‚ΠΎ. Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅-18563129062020 e3ea06ecc4efe66fd609360c227a5daace25eda6. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 18563129062020 e3ea06ecc4efe66fd609360c227a5daace25eda6

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

Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. 18563129062020 c3d4b76cd89b05f2c8e5da53f69c6d45806e9160. Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Ρ„ΠΎΡ‚ΠΎ. Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅-18563129062020 c3d4b76cd89b05f2c8e5da53f69c6d45806e9160. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 18563129062020 c3d4b76cd89b05f2c8e5da53f69c6d45806e9160

ПослС Π²ΠΎΡΠΊΠ»ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠ° Π² Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ΅ β€” количСство ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠΉ

Π’Ρ€Π΅Ρ‚ΠΈΠΉ Π²ΠΈΠ΄ ошибок β€” ошибки сСгмСнтации (Π°Π½Π³Π». segmentation fault, сокр. segfault, ΠΆΠ°Ρ€Π³. сСгфолт). Они Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚, Ссли ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° пытаСтся Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π² ячСйку, Π½Π΅Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΡƒΡŽ для записи. НапримСр:

Π’ΠΎΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°:

Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. 18563129062020 d58f50d1222620cd1cfe95da3a91221bd0d26e65. Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Ρ„ΠΎΡ‚ΠΎ. Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅-18563129062020 d58f50d1222620cd1cfe95da3a91221bd0d26e65. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 18563129062020 d58f50d1222620cd1cfe95da3a91221bd0d26e65

Π‘Π°Π³ΠΈ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ…

ΠœΡ‹ выяснили, Ρ‡Ρ‚ΠΎ Π±Π°Π³ β€” это Π½Π΅ совсСм ошибка, Π° скорСС Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ»ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ‚Π°ΠΊΠΎΠ³ΠΎ повСдСния. Π‘Π°Π³ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‡Π΅ΠΌ-Ρ‚ΠΎ Π·Π°Π±Π°Π²Π½Ρ‹ΠΌ ΠΈΠ»ΠΈ нСприятным. НапримСр, ΠΊΠ°ΠΊ Π² ΠΈΠ³Ρ€Π°Ρ…:

Но ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ привСсти ΠΈ ΠΊ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅Ρ€ΡŒΡ‘Π·Π½Ρ‹ΠΌ послСдствиям. Если Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ прилоТСния, Ρ‚ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠΈ Π±ΡƒΠ΄ΡƒΡ‚ постоянно ΠΎΠΏΠ΅Ρ€Π΅ΠΆΠ°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π°. НапримСр, сообщСниС ΠΎΠ± ошибкС ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½Π° миллисСкунду, ΠΈΠ·-Π·Π° Ρ‡Π΅Π³ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΡ‚ΠΎΠΊ ΠΏΠΎΠ΄ΡƒΠΌΠ°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ошибки Π½Π΅ Π±Ρ‹Π»ΠΎ, ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ.

Если ваш ΠΊΠΎΠ΄ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ Π² дСйствиС ΠΊΠ°ΠΊΠΎΠ΅-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ опасноС устройство, Ρ‚ΠΎ Ρ†Π΅Π½ΠΎΠΉ Ρ‚Π°ΠΊΠΎΠΉ ошибки ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‡ΡŒΡ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Тизнь. Π’Π°ΠΊΠΎΠ΅ ΡΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ с ΠΊΠΎΠ΄ΠΎΠΌ для Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π° Π»ΡƒΡ‡Π΅Π²ΠΎΠΉ Ρ‚Π΅Ρ€Π°ΠΏΠΈΠΈ Therac-25 β€” ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π΄Π²Π° Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° ΡƒΠΌΠ΅Ρ€Π»ΠΎ ΠΈ Π΅Ρ‰Ρ‘ большС пострадали ΠΈΠ·-Π·Π° ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ΠΈΡ Π΄ΠΎΠ·Ρ‹ Ρ€Π°Π΄ΠΈΠ°Ρ†ΠΈΠΈ.

Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ…

Π’Π°ΠΊΠΆΠ΅ Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Ρ‚ΡŒ ситуации, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠ΅ΡˆΠ°ΡŽΡ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. НапримСр, Ссли Π²Ρ‹ проситС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ввСсти число, Π° ΠΎΠ½ Π²Π²ΠΎΠ΄ΠΈΡ‚ строку.

ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Π²Π΅Π΄Ρ‘Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ всСгда Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, поэтому функция, которая занимаСтся ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, «выбрасываСт» ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ (Π°Π½Π³Π». exception). Π­Ρ‚ΠΎ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ сообщСниС Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΈΠ΄Ρ‘Ρ‚ Π½Π΅ Ρ‚Π°ΠΊ.

Если Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π½Π΅ описываСт Π»ΠΎΠ³ΠΈΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€ΠΈ Π²Ρ‹ выбрасывании ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎ закрываСтся. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΌΡ‹ рассказали ΠΎΠ± этом Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΏΡ€ΠΎ Π²Π²ΠΎΠ΄ ΠΈ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΡŽ Π² C++.

Одно ΠΈΠ· самых извСстных ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ β€” ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ стСка (Π°Π½Π³Π». stack overflow). Π’ Ρ‡Π΅ΡΡ‚ΡŒ Π½Π΅Π³ΠΎ Π΄Π°ΠΆΠ΅ Π½Π°Π·Π²Π°Π»ΠΈ сайт, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ программисты ΠΈΡ‰ΡƒΡ‚ ΠΏΠΎΠΌΠΎΡ‰ΡŒ Π² Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ своих ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ C++ ΠΏΡ€ΠΈ этом ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π΄Π°Ρ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ сСгмСнтации, Π° Π½Π΅ сообщСниС ΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ стСка:

Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. 18563129062020 27e9aa5bdf801f94f7728fe14d1ac08405e5a691. Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Ρ„ΠΎΡ‚ΠΎ. Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅-18563129062020 27e9aa5bdf801f94f7728fe14d1ac08405e5a691. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 18563129062020 27e9aa5bdf801f94f7728fe14d1ac08405e5a691

Π’ΠΎΡ‚ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π½Π° языкС C#:

Однако сообщСниС Π² этот Ρ€Π°Π· Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅:

Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. 18563129062020 db52642fc67f6c7c46657360f234a883af322464. Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Ρ„ΠΎΡ‚ΠΎ. Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅-18563129062020 db52642fc67f6c7c46657360f234a883af322464. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 18563129062020 db52642fc67f6c7c46657360f234a883af322464

Π’ ΠΎΠ±ΠΎΠΈΡ… случаях ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ дальшС ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

ΠŸΠΎΡ…ΠΎΠΆΠ°Ρ ситуация β€” ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±ΡƒΡ„Π΅Ρ€Π° (Π°Π½Π³Π». buffer overflow). Она происходит, ΠΊΠΎΠ³Π΄Π° записываСмоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ большС Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ области Π² памяти.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎΠ± арифмСтичСском ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ (Π°Π½Π³Π». integer overflow):

Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. 18563129062020 7b64da46b2dc4329c15be64aeef9e636261e678c. Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Ρ„ΠΎΡ‚ΠΎ. Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅-18563129062020 7b64da46b2dc4329c15be64aeef9e636261e678c. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 18563129062020 7b64da46b2dc4329c15be64aeef9e636261e678c

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π»Π°ΡΡŒ. Если ΠΆΠ΅ такая ситуация Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ Π²ΠΎ врСмя вычислСний, Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ прСдупрСТдСния.

АрифмСтичСскоС ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ стало ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· самых Π΄ΠΎΡ€ΠΎΠ³ΠΈΡ… Π°Π²Π°Ρ€ΠΈΠΉ, ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π΄ΡˆΠΈΡ… ΠΈΠ·-Π·Π° ошибки Π² ΠΊΠΎΠ΄Π΅. Π’ 1996 Π³ΠΎΠ΄Ρƒ Ρ€Π°ΠΊΠ΅Ρ‚Π°-Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒ «Ариан-5Β» Π²Π·ΠΎΡ€Π²Π°Π»Π°ΡΡŒ Π½Π° 40-ΠΉ сСкундС ΠΏΠΎΠ»Ρ‘Ρ‚Π° β€” ΠΏΠΎΡ‚Π΅Ρ€ΠΈ ΠΎΡ†Π΅Π½ΠΈΠ²Π°ΡŽΡ‚ Π² 360–500 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ².

Как ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ всСх этих ошибок

К соТалСнию, Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ всё это Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΈ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π½Π΅ получится. Однако ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ инструмСнты ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ.

Один ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… инструмСнтов β€” ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ. Он ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ…ΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ.

Π’Ρ‚ΠΎΡ€ΠΎΠΉ, Π±ΠΎΠ»Π΅Π΅ эффСктивный ΠΌΠ΅Ρ‚ΠΎΠ΄ β€” unit-тСсты. Они ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΈΠ· сСбя Π½Π°Π±ΠΎΡ€ описанных ситуаций для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ³ΠΎ повСдСния.

НапримСр, Ρƒ вас Π΅ΡΡ‚ΡŒ функция sum (int a, int b), которая Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ сумму Π΄Π²ΡƒΡ… чисСл. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ unit-тСсты, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ситуации:

Если ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΈΠ· этих тСстов Π½Π΅ ΠΏΡ€ΠΎΠΉΠ΄Π΅Π½, Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ ΠΎΠ± этом ΠΈ смоТСтС всё ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ. Π­Ρ‚ΠΎ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ быстрСС, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ всё Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.

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

Ошибок сущСствуСт слишком ΠΌΠ½ΠΎΠ³ΠΎ. ΠŸΡ€ΠΈ этом самыС опасныС тяТСлСС ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ усугубляСт ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ.

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΠΈΡΠ°Ρ‚ΡŒ качСствСнный ΠΊΠΎΠ΄ ΠΈ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π² Π½Ρ‘ΠΌ ошибки, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° наш курс ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½Π° C++.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π±Π°Π³ (Π°Π½Π³Π». bug β€” ΠΆΡƒΠΊ) β€” ΠΆΠ°Ρ€Π³ΠΎΠ½Π½ΠΎΠ΅ слово, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰Π΅Π΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΈΠ»ΠΈ систСмС, которая Π²Ρ‹Π΄Π°Π΅Ρ‚ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹ΠΉ ΠΈΠ»ΠΈ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π±Π°Π³ΠΎΠ² Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΠΈΠ·-Π·Π° ошибок, Π΄ΠΎΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Π΅Ρ‘ исходном ΠΊΠΎΠ΄Π΅, Π»ΠΈΠ±ΠΎ Π² Π΅Ρ‘ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅. Π’Π°ΠΊΠΆΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Π°Π³ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΠΈΠ·-Π·Π° Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ компилятора, Π²Ρ‹Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая содСрТит большоС число Π±Π°Π³ΠΎΠ² ΠΈ/ΠΈΠ»ΠΈ Π±Π°Π³ΠΈ, ΡΠ΅Ρ€ΡŒΡ‘Π·Π½ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ Π΅Ρ‘ Ρ€Π°Π±ΠΎΡ‚ΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ ΠΈΠ»ΠΈ, Π½Π° ΠΆΠ°Ρ€Π³ΠΎΠ½Π½ΠΎΠΌ языкС, Β«Π³Π»ΡŽΡ‡Π½ΠΎΠΉΒ», Β«Π³Π»ΡŽΠΊΠ½ΡƒΡ‚ΠΎΠΉΒ», Β«Π·Π°Π±Π°Π³ΠΎΠ²Π°Π½Π½ΠΎΠΉΒ», Β«Π±Π°ΠΆΠ½ΠΎΠΉΒ», Β«Π±Π°Π³(Π°)Π½ΡƒΡ‚ΠΎΠΉΒ» (Π°Π½Π³Π». unstable, buggy).

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

Π’Π΅Ρ€ΠΌΠΈΠ½ Β«Π±Π°Π³Β» ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ употрСбляСтся Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ ошибок, ΠΏΡ€ΠΎΡΠ²Π»ΡΡŽΡ‰ΠΈΡ… сСбя Π½Π° стадии Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΡ‚ ошибок проСктирования ΠΈΠ»ΠΈ синтаксичСских ошибок. ΠžΡ‚Ρ‡Π΅Ρ‚, содСрТащий ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π±Π°Π³Π΅ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠΌ ΠΎΠ± ошибкС ΠΈΠ»ΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠΌ ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ (Π°Π½Π³Π». bug report). ΠžΡ‚Ρ‡Π΅Ρ‚ ΠΎ критичСской ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ (Π°Π½Π³Π». crash), Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΊΡ€ΡΡˆ-Ρ€Π΅ΠΏΠΎΡ€Ρ‚ΠΎΠΌ (Π°Π½Π³Π». crash report).

Β«Π‘Π°Π³ΠΈΒ» Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ ΠΈ ΡƒΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π² процСссС тСстирования ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π‘Π°Π³ΠΎΠΌ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ Π²ΠΈΠ΄ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π° Π½Π° ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°Ρ….

Этимология

Π›Π΅Π³Π΅Π½Π΄Π° ΠΎ ΠΌΠΎΡ‚Ρ‹Π»ΡŒΠΊΠ΅ ΠΈ дСнь тСстировщика

Π¨ΠΈΡ€ΠΎΠΊΠΎ распространСна Π»Π΅Π³Π΅Π½Π΄Π°, Ρ‡Ρ‚ΠΎ 9 сСнтября 1945 Π³ΠΎΠ΄Π° ΡƒΡ‡Ρ‘Π½Ρ‹Π΅ Гарвардского унивСрситСта, Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π²ΡˆΠΈΠ΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ Mark II Aiken Relay Calculator, нашли ΠΌΠΎΡ‚Ρ‹Π»ΡŒΠΊΠ°, Π·Π°ΡΡ‚Ρ€ΡΠ²ΡˆΠ΅Π³ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π°ΠΌΠΈ элСктромСханичСского Ρ€Π΅Π»Π΅, ΠΈ ГрСйс Π₯ΠΎΠΏΠΏΠ΅Ρ€ произнСсла этот Ρ‚Π΅Ρ€ΠΌΠΈΠ½. Π˜Π·Π²Π»Π΅Ρ‡Ρ‘Π½Π½ΠΎΠ΅ насСкомоС Π±Ρ‹Π»ΠΎ Π²ΠΊΠ»Π΅Π΅Π½ΠΎ скотчСм Π² тСхничСский Π΄Π½Π΅Π²Π½ΠΈΠΊ, с ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ надписью: Β«First actual case of bug being foundΒ» (Π°Π½Π³Π». Β«ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ случай, ΠΊΠΎΠ³Π΄Π° ΠΆΡƒΠΊ Π±Ρ‹Π» Π½Π°ΠΉΠ΄Π΅Π½Β»). БчитаСтся, Ρ‡Ρ‚ΠΎ этот Π·Π°Π±Π°Π²Π½Ρ‹ΠΉ Ρ„Π°ΠΊΡ‚ ΠΏΠΎΠ»ΠΎΠΆΠΈΠ» Π½Π°Ρ‡Π°Π»ΠΎ использованию слова Β«debuggingΒ» Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ Β«ΠΎΡ‚Π»Π°Π΄ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹Β», ΠΎΠ΄Π½Π°ΠΊΠΎ, скорСС всСго, Ρ„Ρ€Π°Π·Π° являСтся ΠΊΠ°Π»Π°ΠΌΠ±ΡƒΡ€ΠΎΠΌ.

Π—Π°ΠΏΠΈΡΡŒ Π² Ρ‚Π΅Ρ….ΠΆΡƒΡ€Π½Π°Π»Π΅

Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. %D0%91%D0%B0%D0%B3 %D0%BC%D0%BE%D1%82%D1%8B%D0%BB%D0%B5%D0%BA. Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Ρ„ΠΎΡ‚ΠΎ. Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅-%D0%91%D0%B0%D0%B3 %D0%BC%D0%BE%D1%82%D1%8B%D0%BB%D0%B5%D0%BA. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° %D0%91%D0%B0%D0%B3 %D0%BC%D0%BE%D1%82%D1%8B%D0%BB%D0%B5%D0%BA

Π’ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ этот случай ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΡ‘Π» 9 сСнтября 1947, Π° Π½Π΅ 1945, Π³ΠΎΠ΄Π°. Π—Π½Π°ΠΌΠ΅Π½ΠΈΡ‚Ρ‹ΠΉ ΠΌΠΎΡ‚Ρ‹Π»Π΅ΠΊ Π±Ρ‹Π» ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ Π² ΠΌΡƒΠ·Π΅ΠΉ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ, Π³Π΄Π΅ ΠΎΠ½ ΠΈ хранится Π΄ΠΎ сих ΠΏΠΎΡ€. Под Π΅Π³ΠΎ стСндом имССтся надпись, которая гласит, Ρ‡Ρ‚ΠΎ этот ΠΌΠΎΡ‚Ρ‹Π»Π΅ΠΊ стал ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΈΠ· ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… Π±Π°Π³ΠΎΠ² Π² истории ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ. Π‘ Ρ‚Π΅Ρ… ΠΏΠΎΡ€ это слово стало ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‰ΠΈΠΊΠ°ΠΌΠΈ Π²ΠΎ всСм ΠΌΠΈΡ€Π΅. А Ρ‚ΠΎΡ‚ дСнь, ΠΊΠΎΠ³Π΄Π° насСкомоС Π±Ρ‹Π»ΠΎ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΎ, Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π±Ρ‹Π»ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€Π°Π·Π΄Π½ΠΈΠΊΠΎΠΌ всСх тСстировщиков.

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ Ρ„Π°ΠΊΡ‚Ρ‹

ΠœΠ΅ΠΆΠ΄Ρƒ Ρ‚Π΅ΠΌ, слово Β«bugΒ» Π² соврСмСнном Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΠ»ΠΎΡΡŒ Π·Π°Π΄ΠΎΠ»Π³ΠΎ Π΄ΠΎ этого пСрсоналом Ρ‚Π΅Π»Π΅Π³Ρ€Π°Ρ„Π½Ρ‹Ρ… ΠΈ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ с элСктрооборудованиСм ΠΈ Ρ€Π°Π΄ΠΈΠΎΡ‚Π΅Ρ…Π½ΠΈΠΊΠΎΠΉ. Π’ Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΈΡ€ΠΎΠ²ΠΎΠΉ Π²ΠΎΠΉΠ½Ρ‹ словом Β«bugsΒ» Π½Π°Π·Ρ‹Π²Π°Π»ΠΈΡΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Ρ€Π°Π΄Π°Ρ€Π½ΠΎΠΉ элСктроникой. Π’ 1878 Π³ΠΎΠ΄Ρƒ Вомас Эдисон писал:

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

It has been just so in all of my inventions. The first step is an intuition, and comes with a burst, then difficulties ariseβ€”this thing gives out and [it is] then that Β«BugsΒ»β€”as such little faults and difficulties are calledβ€”show themselves and months of intense watching, study and labor are requisite before commercial success or failure is certainly reached. [1]

Π£ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅

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

Поиск ΠΈ исправлСниС ошибок

Для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (Π°Π½Π³Π». debugging) Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ ПО ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹-ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΈ (Π°Π½Π³Π». debugger). НапримСр, Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС Windows ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ WinDbg ΠΈΠ· ΠΏΠ°ΠΊΠ΅Ρ‚Π° Microsoft Debugging Tools for Windows. Для GNU/Linux ΠΈ ряда Π΄Ρ€ΡƒΠ³ΠΈΡ… UNIX-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм сущСствуСт ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ GDB (GNU Debugger).

ΠžΡ‚Ρ‡Ρ‘Ρ‚Ρ‹ ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…

Основная масса Π±Π°Π³ΠΎΠ² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ отлаТиваСтся Π½Π° этапС компиляции ΠΈ тСстирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Однако нСкоторая Ρ‡Π°ΡΡ‚ΡŒ ошибок всё ΠΆΠ΅ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π² Ρ€Π΅Π»ΠΈΠ· ΠΈ проявляСтся Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ… ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π² процСссС эксплуатации ПО. Для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ качСства ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ, Ρ†Π΅Π»ΡŒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… β€” ΠΎΡ‚Π»ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π² Ρ†Π΅Π»Π΅Π²ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± Π΅Ρ‘ симптомах ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΎΡ‚Ρ‡Ρ‘Ρ‚ ΠΏΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Ρƒ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ПО.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠžΡ‚ΠΊΡƒΠ΄Π° бСрутся ошибки Π² ПО?

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π±Ρ‹Π²Π°Π΅Ρ‚ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ? ВсС ΠΎΡ‡Π΅Π½ΡŒ просто – ΠΎΠ½ΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ людьми. Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ допустит ΠΎΡˆΠΈΠ±ΠΊΡƒ, Ρ‚ΠΎ это ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ Π² Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ – ΠΎΠ½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΌΠΎΠΆΠ΅Ρ‚ повСсти сСбя Π½Π΅ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ оТидалось.

Ошибка (error) – это дСйствиС Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Π΅Ρ‚ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

Однако ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ людьми, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π΄ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ (ΠΈ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚) ошибки. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ нСдостатки Π΅ΡΡ‚ΡŒ ΠΈ Π² самом ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ обСспСчСнии. Они Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π΄Π΅Ρ„Π΅ΠΊΡ‚Π°ΠΌΠΈ ΠΈΠ»ΠΈ Π±Π°Π³Π°ΠΌΠΈ (ΠΎΠ±Π° обозначСния Ρ€Π°Π²Π½ΠΎΡΠΈΠ»ΡŒΠ½Ρ‹). Π—Π΄Π΅ΡΡŒ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС – Π½Π΅Ρ‡Ρ‚ΠΎ большСС, Ρ‡Π΅ΠΌ просто ΠΊΠΎΠ΄.

Π”Π΅Ρ„Π΅ΠΊΡ‚, Π‘Π°Π³ (Defect, Bug) – нСдостаток ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° ΠΈΠ»ΠΈ систСмы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΎΡ‚ΠΊΠ°Π·Ρƒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π”Π΅Ρ„Π΅ΠΊΡ‚, ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΉ Π²ΠΎ врСмя исполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΎΡ‚ΠΊΠ°Π· ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° ΠΈΠ»ΠΈ всСй систСмы.

ΠŸΡ€ΠΈ исполнСнии ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄Π΅Ρ„Π΅ΠΊΡ‚Ρ‹, Π·Π°Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Π΅Ρ‰Π΅ Π²ΠΎ врСмя Π΅Π³ΠΎ написания, ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ: ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠ»ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎ, Ρ‡Π΅Π³ΠΎ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° – происходит сбой.

Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. mk chuvstva eto bag ili ficha Hrifh9U. Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Ρ„ΠΎΡ‚ΠΎ. Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅-mk chuvstva eto bag ili ficha Hrifh9U. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° mk chuvstva eto bag ili ficha Hrifh9U

Π‘Π±ΠΎΠΉ (failure) – нСсоотвСтствиС фактичСского Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° (actual result) Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° ΠΈΠ»ΠΈ систСмы ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠΌΡƒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ (expected result).

Π‘Π±ΠΎΠΉ Π² Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ²Π»ΡΡ‚ΡŒΡΡ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ наличия Π² Π½Π΅ΠΉ Π΄Π΅Ρ„Π΅ΠΊΡ‚Π°.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π±Π°Π³ сущСствуСт ΠΏΡ€ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Ρ‚Ρ€Π΅Ρ… условий:

Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π΅ всС Π±Π°Π³ΠΈ становятся ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ сбоСв – Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ… ΠΌΠΎΠ³ΡƒΡ‚ Π½ΠΈΠΊΠ°ΠΊ сСбя Π½Π΅ ΠΏΡ€ΠΎΡΠ²Π»ΡΡ‚ΡŒ ΠΈ ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ Π½Π΅Π·Π°ΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹ΠΌΠΈ (ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ ΠΎΡ‡Π΅Π½ΡŒ спСцифичСских ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΡΡ‚Π²Π°Ρ…).

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

ВсСго сущСствуСт нСсколько источников Π΄Π΅Ρ„Π΅ΠΊΡ‚ΠΎΠ² ΠΈ, соотвСтствСнно, сбоСв:

Π”Π΅Ρ„Π΅ΠΊΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Ρ‚ΡŒ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… уровнях, ΠΈ ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π±ΡƒΠ΄ΡƒΡ‚ Π»ΠΈ ΠΎΠ½ΠΈ исправлСны ΠΈ ΠΊΠΎΠ³Π΄Π°, Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ качСство систСмы.

ΠšΠ°Ρ‡Π΅ΡΡ‚Π²ΠΎ (Quality) – ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ присущих характСристик соотвСтствуСт трСбованиям.

ΠšΠ°Ρ‡Π΅ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния (Software Quality) – это ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ характСристик ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, ΠΎΡ‚Ρ€Π°ΠΆΠ°ΡŽΡ‰ΠΈΡ… Π΅Π³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡ‚ΡŒ установлСнныС ΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΡ‹Π΅ потрСбности.

Π’Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ (Requirement) – ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎΡΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ установлСно. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ прСдполагаСтся ΠΈΠ»ΠΈ являСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ.

Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. scheme. Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Ρ„ΠΎΡ‚ΠΎ. Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅-scheme. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° scheme

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ случаС всС Π±Ρ‹Π»ΠΎ сдСлано ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΈ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚, ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ оТиданиям Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠ° ΠΈ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‰ΠΈΠΉ критСриям качСства.

Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ случаС ошибки Π±Ρ‹Π»ΠΈ Π΄ΠΎΠΏΡƒΡ‰Π΅Π½Ρ‹ ΡƒΠΆΠ΅ ΠΏΡ€ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΎ ΠΊ появлСнию Π΄Π΅Ρ„Π΅ΠΊΡ‚ΠΎΠ² Π² Π³ΠΎΡ‚ΠΎΠ²ΠΎΠΌ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π΅. Но Π½Π° этом ΡƒΡ€ΠΎΠ²Π½Π΅ Π±Π°Π³ΠΈ достаточно Π»Π΅Π³ΠΊΠΎ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ ΠΈ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ нСсоотвСтствиС трСбованиям.

Π’Ρ€Π΅Ρ‚ΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Ρ…ΡƒΠΆΠ΅ – здСсь ошибки Π±Ρ‹Π»ΠΈ Π΄ΠΎΠΏΡƒΡ‰Π΅Π½Ρ‹ Π½Π° этапС проСктирования систСмы. Π—Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ это ΠΌΠΎΠΆΠ½ΠΎ лишь провСдя Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ свСрку со спСцификациСй. Π˜ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ Π΄Π΅Ρ„Π΅ΠΊΡ‚Ρ‹ Ρ‚ΠΎΠΆΠ΅ нСпросто – Π½ΡƒΠΆΠ½ΠΎ Π·Π°Π½ΠΎΠ²ΠΎ ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°.

Π’ Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠΌ случаС Π΄Π΅Ρ„Π΅ΠΊΡ‚Ρ‹ Π±Ρ‹Π»ΠΈ Π·Π°Π»ΠΎΠΆΠ΅Π½Ρ‹ Π΅Ρ‰Π΅ Π½Π° этапС формирования Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ; вся дальнСйшая Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ Π΄Π°ΠΆΠ΅ тСстированиС пошли ΠΏΠΎ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌΡƒ ΠΏΡƒΡ‚ΠΈ. Π’ΠΎ врСмя тСстирования ΠΌΡ‹ Π½Π΅ Π½Π°ΠΉΠ΄Π΅ΠΌ Π±Π°Π³ΠΎΠ² – ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€ΠΎΠΉΠ΄Π΅Ρ‚ всС тСсты, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π±Ρ€Π°ΠΊΠΎΠ²Π°Π½Π° Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΎΠΌ.

Условно ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΡΡ‚ΡŒ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ появлСния Π΄Π΅Ρ„Π΅ΠΊΡ‚ΠΎΠ² Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ ΠΊΠΎΠ΄Π΅.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. 150px Information Security Incidents by Category%2C Fiscal Year 2014.svg. Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Ρ„ΠΎΡ‚ΠΎ. Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅-150px Information Security Incidents by Category%2C Fiscal Year 2014.svg. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 150px Information Security Incidents by Category%2C Fiscal Year 2014.svg

Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. 220px Hypomeces squamosus. Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Ρ„ΠΎΡ‚ΠΎ. Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅-220px Hypomeces squamosus. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 220px Hypomeces squamosus

Π‘ΠžΠ”Π•Π Π–ΠΠΠ˜Π•

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ

БрСднСанглийскоС слово bugge являСтся основой Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ² Β« bugbear Β» ΠΈ Β« bugaboo Β» ΠΊΠ°ΠΊ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… для обозначСния монстра.

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

АйзСк Азимов использовал Ρ‚Π΅Ρ€ΠΌΠΈΠ½ «ошибка» для обозначСния ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с Ρ€ΠΎΠ±ΠΎΡ‚ΠΎΠΌ Π² своСм рассказС Β« Поймай этого ΠΊΡ€ΠΎΠ»ΠΈΠΊΠ° Β», ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΠΎΠΌ Π² 1944 Π³ΠΎΠ΄Ρƒ.

Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. 220px First Computer Bug%2C 1945. Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Ρ„ΠΎΡ‚ΠΎ. Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅-220px First Computer Bug%2C 1945. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 220px First Computer Bug%2C 1945

. процСсс Π°Π½Π°Π»ΠΈΠ·Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ аналитичСской машинС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅; ΠΈ Π² этом Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΉ источник ошибки. ΠŸΡ€ΠΈ условии, Ρ‡Ρ‚ΠΎ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π±Π΅Π·ΠΎΡˆΠΈΠ±ΠΎΡ‡Π΅Π½ Π² своих процСссах, ΠΊΠ°Ρ€Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π΄Π°Π²Π°Ρ‚ΡŒ Π΅ΠΌΡƒ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΠΊΠ°Π·Ρ‹.

ΠžΡ‚Ρ‡Π΅Ρ‚ «ΠžΡˆΠΈΠ±ΠΊΠΈ Π² систСмС»

Π˜Π½ΡΡ‚ΠΈΡ‚ΡƒΡ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, управляСмый Π³Ρ€ΡƒΠΏΠΏΠΎΠΉ New America, Π² августС 2016 Π³ΠΎΠ΄Π° выпустил ΠΎΡ‚Ρ‡Π΅Ρ‚ «Ошибки Π² систСмС», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ говорится, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ БША Π΄ΠΎΠ»ΠΆΠ½Ρ‹ провСсти Ρ€Π΅Ρ„ΠΎΡ€ΠΌΡ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠΎΡ‡ΡŒ исслСдоватСлям Π²Ρ‹ΡΠ²Π»ΡΡ‚ΡŒ ΠΈ ΡƒΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ ошибки ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. Π’ ΠΎΡ‚Ρ‡Π΅Ρ‚Π΅ «подчСркиваСтся Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Ρ€Π΅Ρ„ΠΎΡ€ΠΌΡ‹ Π² области обнаруТСния ΠΈ раскрытия уязвимостСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния». Один ΠΈΠ· Π°Π²Ρ‚ΠΎΡ€ΠΎΠ² ΠΎΡ‚Ρ‡Π΅Ρ‚Π° сказал, Ρ‡Ρ‚ΠΎ ΠšΠΎΠ½Π³Ρ€Π΅ΡΡ сдСлал нСдостаточно для устранСния уязвимости ΠΊΠΈΠ±Π΅Ρ€ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, хотя ΠšΠΎΠ½Π³Ρ€Π΅ΡΡ принял ряд Π·Π°ΠΊΠΎΠ½ΠΎΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… Π½Π° Π±ΠΎΡ€ΡŒΠ±Ρƒ с Π±ΠΎΠ»Π΅Π΅ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ кибСрбСзопасности.

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

ВСрминология

Π₯отя Ρ‚Π΅Ρ€ΠΌΠΈΠ½ «ошибка» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для описания ошибок ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ ΠΎΡ‚ Π½Π΅Π³ΠΎ слСдуСт ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ. Один ΠΈΠ· Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ слово «ошибка» Π½Π΅ связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π±Ρ‹Π»Π° Π²Ρ‹Π·Π²Π°Π½Π° Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ, ΠΈ вмСсто этого ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π΄Π΅Ρ„Π΅ΠΊΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊ сам ΠΏΠΎ сСбС, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΎ ΠΊ ΠΎΡ‚ΠΊΠ°Π·Ρƒ ΠΎΡ‚ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π° «ошибка» Π² ΠΏΠΎΠ»ΡŒΠ·Ρƒ Ρ‚Π°ΠΊΠΈΡ… Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ², ΠΊΠ°ΠΊ Β«Π΄Π΅Ρ„Π΅ΠΊΡ‚Β» с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΌ успСхом. Π‘ 1970-Ρ… Π³ΠΎΠ΄ΠΎΠ² Гэри Килдалл с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΡŽΠΌΠΎΡ€ΠΎΠΌ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ «грубая ошибка».

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΈΠΈ ΠΌΠ΅Ρ‚Π°ΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ ошибки (ΠΎΡ‚ грСчСского meta = Β«ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅Β», morph = Β«Ρ„ΠΎΡ€ΠΌΠ°Β») относится ΠΊ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΡŽ Π΄Π΅Ρ„Π΅ΠΊΡ‚Π° Π½Π° Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ этапС развСртывания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ «ошибки», ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎΠΉ Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΎΠΌ Π½Π° Ρ€Π°Π½Π½ΠΈΡ… стадиях ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, которая ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Β«Π΄Π΅Ρ„Π΅ΠΊΡ‚ΡƒΒ» Π½Π° Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ стадии Ρ†ΠΈΠΊΠ»Π°, Π±Ρ‹Π»ΠΎ Π½Π°Π·Π²Π°Π½ΠΎ Β«ΠΌΠ΅Ρ‚Π°ΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠΎΠΌ ошибки».

ΠŸΡ€ΠΎΡ„ΠΈΠ»Π°ΠΊΡ‚ΠΈΠΊΠ°

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΠ»Π° ΠΌΠ½ΠΎΠ³ΠΎ усилий для сокращСния количСства ошибок. Π­Ρ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚:

ВипографичСскиС ошибки

ΠœΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ΅ тСстированиС Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя написаниС тСста для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (модуля), ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°.

Π’ управляСмой тСстированиСм Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹Π΅ тСсты ΠΏΠΈΡˆΡƒΡ‚ΡΡ Π΄ΠΎ ΠΊΠΎΠ΄Π°, ΠΈ ΠΊΠΎΠ΄ Π½Π΅ считаСтся Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½Ρ‹ΠΌ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° всС тСсты Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Ρ‹.

Гибкая Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ частыС выпуски ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния с ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ нСбольшими измСнСниями. Π”Π΅Ρ„Π΅ΠΊΡ‚Ρ‹ Π²Ρ‹ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠΎ ΠΎΡ‚Π·Ρ‹Π²Π°ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° языков программирования

Анализ кода

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ для Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠ΄Π° ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ, провСряя тСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ возмоТностСй компилятора, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. Π₯отя Π² Ρ†Π΅Π»ΠΎΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° поиска всСх ошибок программирования Π² Π΄Π°Π½Π½ΠΎΠΉ спСцификации Π½Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΠΌΠ° (см. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ остановки ), эти инструмСнты ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ люди-программисты часто Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π²ΠΈΠ΄Ρ‹ простых ошибок ΠΏΡ€ΠΈ написании ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

ΠŸΡ€ΠΈΠ±ΠΎΡ€Ρ‹

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Π²ΠΎ врСмя Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹, Π»ΠΈΠ±ΠΎ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для поиска ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΡƒΠ·ΠΊΠΈΠ΅ мСста, Π»ΠΈΠ±ΠΎ для обСспСчСния увСрСнности Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ встроСны Π² ΠΊΠΎΠ΄ явно (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‚Π°ΠΊ просто, ΠΊΠ°ΠΊ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ PRINT «I AM HERE» ) ΠΈΠ»ΠΈ прСдоставлСны ΠΊΠ°ΠΊ инструмСнты. Часто Π±Ρ‹Π²Π°Π΅Ρ‚ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ, Π³Π΄Π΅ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π°, ΠΈ это ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°Π½ΠΈΡŽ ΠΊΠΎΠ΄Π°.

ВСстированиС

Π˜Π·ΠΌΠ΅Ρ€Π΅Π½ΠΈΡ Π²ΠΎ врСмя тСстирования ΠΌΠΎΠ³ΡƒΡ‚ Π΄Π°Ρ‚ΡŒ ΠΎΡ†Π΅Π½ΠΊΡƒ количСства ΠΎΡΡ‚Π°Π²ΡˆΠΈΡ…ΡΡ вСроятных ошибок; это становится Π±ΠΎΠ»Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌ, Ρ‡Π΅ΠΌ дольшС тСстируСтся ΠΈ разрабатываСтся ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚.

ΠžΡ‚Π»Π°Π΄ΠΊΠ°

Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. 350px Classpath bugs. Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Ρ„ΠΎΡ‚ΠΎ. Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅-350px Classpath bugs. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 350px Classpath bugs

Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ шагом Π² поискС ошибки являСтся Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ΅ воспроизвСдСниС. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ошибка воспроизводится, программист ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ инструмСнт ΠΏΡ€ΠΈ воспроизвСдСнии ошибки, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ Ρ‚ΠΎΡ‡ΠΊΡƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° сбилась с ΠΏΡƒΡ‚ΠΈ.

НСкоторыС ошибки ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ программисту ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ слоТно Π²ΠΎΡΡΠΎΠ·Π΄Π°Ρ‚ΡŒ. Одной ΠΈΠ· ΠΏΡ€ΠΈΡ‡ΠΈΠ½ смСрти Ρ€Π°Π΄ΠΈΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Therac-25 Π±Ρ‹Π»Π° ошибка (Π² частности, состояниС Π³ΠΎΠ½ΠΊΠΈ ), которая Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΎΡ‡Π΅Π½ΡŒ быстро Π²Π²ΠΎΠ΄ΠΈΠ» ΠΏΠ»Π°Π½ лСчСния; На Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΈΡΡŒ Π΄Π½ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ, поэтому ошибка Π½Π΅ ΠΏΡ€ΠΎΡΠ²Π»ΡΠ»Π°ΡΡŒ Π½ΠΈ ΠΏΡ€ΠΈ тСстировании, Π½ΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ производитСля воспроизвСсти Π΅Π΅. Π”Ρ€ΡƒΠ³ΠΈΠ΅ ошибки ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅ΡΡ‚Π°Ρ‚ΡŒ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° установка Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π½Π°ΠΉΡ‚ΠΈ ΠΎΡˆΠΈΠ±ΠΊΡƒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, запуск ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΎΠΌ; ΠΈΡ… Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Ρ…Π°ΠΉΠ·Π΅Π½Π±Π°Π³Π°ΠΌΠΈ (ΡˆΡƒΡ‚Π»ΠΈΠ²ΠΎ Π½Π°Π·Π²Π°Π½Π½Ρ‹ΠΌΠΈ Π² Ρ‡Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° нСопрСдСлСнности Π“Π΅ΠΉΠ·Π΅Π½Π±Π΅Ρ€Π³Π° ).

ВСст ошибок

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ воспроизводимыС исслСдования ΠΏΠΎ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅, исслСдоватСли ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Π½Π½Ρ‹Π΅ тСсты для выявлСния ошибок:

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ошибками

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

Π‘Ρ‚Ρ€ΠΎΠ³ΠΎΡΡ‚ΡŒ

ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚

Π Π΅Π»ΠΈΠ·Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния

ΠŸΡ€ΠΈΡ‡ΠΈΠ½Ρ‹, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΈΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚ Π½Π΅ ΠΈΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΈΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚:

Другая катСгория ошибок называСтся состояниСм Π³ΠΎΠ½ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ выполняСтся нСсколько ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². Если ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ Π² порядкС, ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠΌ ΠΎΡ‚ Π·Π°Π΄ΡƒΠΌΠ°Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΌΠ΅ΡˆΠ°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Ρƒ ΠΈ ΠΌΠ΅ΡˆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ свои Π·Π°Π΄Π°Ρ‡ΠΈ. Π­Ρ‚ΠΈ ошибки ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

АрифмСтика

Π›ΠΎΠ³ΠΈΠΊΠ°

Бинтаксис

РСсурс

ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ

ВзаимодСйствиС

Командная Ρ€Π°Π±ΠΎΡ‚Π°

ΠŸΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅ΠΌΠΎΠ΅

Богласно исслСдованию НАБА Β« Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния для ΠΏΠΎΠ»Π΅Ρ‚Π° Β», Β«ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ процСсс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ количСство Π΄Π΅Ρ„Π΅ΠΊΡ‚ΠΎΠ² Π΄ΠΎ 1 Π΄Π΅Ρ„Π΅ΠΊΡ‚Π° Π½Π° 10 000 строк ΠΊΠΎΠ΄Π°Β».

Помимо ΡƒΡ‰Π΅Ρ€Π±Π°, ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅Π½Π½ΠΎΠ³ΠΎ ошибками, Ρ‡Π°ΡΡ‚ΡŒ ΠΈΡ… стоимости связана с усилиями, Π·Π°Ρ‚Ρ€Π°Ρ‡Π΅Π½Π½Ρ‹ΠΌΠΈ Π½Π° ΠΈΡ… исправлСниС. Π’ 1978 Π³ΠΎΠ΄Ρƒ Π›ΠΈΠ½Ρ† ΠΈ Π΄Ρ€. ΠΏΠΎΠΊΠ°Π·Π°Π», Ρ‡Ρ‚ΠΎ Π² срСднСм ΠΏΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌ 17% усилий ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ вкладываСтся Π² исправлСниС ошибок. ИсслСдованиС Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² GitHub Π² 2020 Π³ΠΎΠ΄Ρƒ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Π΄ΠΈΠ°Π½Π° составляСт 20%.

Π˜Π·Π²Π΅ΡΡ‚Π½Ρ‹Π΅ ошибки

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. 50px Question book new.svg. Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Ρ„ΠΎΡ‚ΠΎ. Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅-50px Question book new.svg. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 50px Question book new.svg

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

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ошибок Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΈΠ·-Π·Π° ошибок ΠΈ ошибок, Π΄ΠΎΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΈΠ»ΠΈ Π΅Π³ΠΎ исходный ΠΊΠΎΠ΄, ΠΈΠ»ΠΈ Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ… ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ. НСкоторыС ΠΈΠ· Π½ΠΈΡ… Π²Ρ‹Π·Π²Π°Π½Ρ‹ компиляторы ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, содСрТащая мноТСство ошибок ΠΈ / ΠΈΠ»ΠΈ ошибок, ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎ Π½Π°Ρ€ΡƒΡˆΠ°ΡŽΡ‰ΠΈΡ… Π΅Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, называСтся Π±Π°Π³Π³ΠΈ (нСисправСн). Ошибки ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ошибки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ»Π½ΠΎΠ²Ρ‹Π΅ эффСкты. Ошибки ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π½Π΅Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹Π΅ послСдствия ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ ΠΊΡ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΆΠ΅ Π·Π°ΠΌΠΎΡ€ΠΎΠ·ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€. Π”Ρ€ΡƒΠ³ΠΈΠ΅ ошибки ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ошибки бСзопасности ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ доступа Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π΅Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ. [1] >

Π’ 2002 Π³ΠΎΠ΄Ρƒ исслСдованиС ΠΏΠΎ Π·Π°ΠΊΠ°Π·Ρƒ БША ΠœΠΈΠ½ΠΈΡΡ‚Π΅Ρ€ΡΡ‚Π²ΠΎ торговлис ΠΠ°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ институт стандартов ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΏΡ€ΠΈΡˆΠ΅Π» ΠΊ Π²Ρ‹Π²ΠΎΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ Β«ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ ошибки ΠΈΠ»ΠΈ ошибки Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ распространСны ΠΈ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ°Π³ΡƒΠ±Π½Ρ‹, Ρ‡Ρ‚ΠΎ обходятся экономикС БША ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π² 59 ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄ΠΎΠ² Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ² Π² Π³ΠΎΠ΄, ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 0,6 ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π° Π²Π°Π»ΠΎΠ²ΠΎΠ³ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°Β». [3]

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

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ

БрСднСанглийскоС слово ошибка являСтся основаниСм для условий «ΠΌΠ΅Π΄Π²Π΅ΠΆΠ°Ρ‚Π½ΠΈΠΊ» ΠΈ «ΠΏΡƒΠ³Π°Π»ΠΎ»ΠΊΠ°ΠΊ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ для обозначСния монстра. [4]

Π’Π΅Ρ€ΠΌΠΈΠ½ «ошибка» для описания Π΄Π΅Ρ„Π΅ΠΊΡ‚ΠΎΠ² Π±Ρ‹Π» Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π½ΠΎΠ³ΠΎ ΠΆΠ°Ρ€Π³ΠΎΠ½Π° с 1870-Ρ… Π³ΠΎΠ΄ΠΎΠ² ΠΈ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΠΎΠ²Π°Π» элСктронным ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°ΠΌ ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌΡƒ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ; Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΎΠ½ использовался Π² Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΈΠΈ для описания мСханичСских нСисправностСй. НапримСр, Вомас Эдисон написал ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ слова Π² письмС своСму сотруднику Π² 1878 Π³ΠΎΠ΄Ρƒ: [5]

Π”Π΅Ρ„Π»Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹ΠΉ ΡˆΠ°Ρ€, пСрвая мСханичСская ΠΏΠΈΠ½Π±ΠΎΠ» game, Π² 1931 Π³ΠΎΠ΄Ρƒ Π±Ρ‹Π»Π° объявлСна ​​»Π½Π΅ содСрТащСй ошибок». [7] ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Π²ΠΎΠ΅Π½Π½Ρ‹ΠΌ снаряТСниСм Π²ΠΎ врСмя Вторая ΠœΠΈΡ€ΠΎΠ²Π°Ρ Π’ΠΎΠΉΠ½Π° Π½Π°Π·Ρ‹Π²Π°Π»ΠΈΡΡŒ ошибками (ΠΈΠ»ΠΈ глюки). [8] Π’ Ρ„ΠΈΠ»ΡŒΠΌΠ΅ 1940 Π³ΠΎΠ΄Π° КомандованиС ΠΏΠΎΠ»Π΅Ρ‚Π°, Π΄Π΅Ρ„Π΅ΠΊΡ‚ Π² части Ρ€Π°Π΄ΠΈΠΎΠΏΠ΅Π»Π΅Π½Π³Π°Ρ‚ΠΎΡ€Π° называСтся «ΠΎΡˆΠΈΠ±ΠΊΠΎΠΉ». [ Π½ΡƒΠΆΠ½Π° Ρ†ΠΈΡ‚Π°Ρ‚Π° ] Π’ ΠΊΠ½ΠΈΠ³Π΅, ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΠΎΠΉ Π² 1942 Π³ΠΎΠ΄Ρƒ, Π›ΡƒΠΈΠ·Π° Дикинсон Π ΠΈΡ‡, говоря ΠΎ ΠΌΠΎΡ‰Π½ΠΎΠΌ Ρ€Π΅Π·ΠΊΠ° льда машина, сказал: «ПилСниС льда Π±Ρ‹Π»ΠΎ приостановлСно Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΡΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ смоТСт Π²Ρ‹Ρ‚Π°Ρ‰ΠΈΡ‚ΡŒ насСкомых ΠΈΠ· своСй любимой». [9]

АйзСк Азимов использовал Ρ‚Π΅Ρ€ΠΌΠΈΠ½ «ошибка» для обозначСния ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с Ρ€ΠΎΠ±ΠΎΡ‚ΠΎΠΌ Π² своСм рассказС Β»ΠŸΠΎΠΉΠΌΠ°Ρ‚ΡŒ этого ΠΊΡ€ΠΎΠ»ΠΈΠΊΠ°», изданная Π² 1944 Π³ΠΎΠ΄Ρƒ.

Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. 220px First Computer Bug%2C 1945. Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Ρ„ΠΎΡ‚ΠΎ. Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅-220px First Computer Bug%2C 1945. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 220px First Computer Bug%2C 1945

Π’Π΅Ρ€ΠΌΠΈΠ½ «ΠΎΡˆΠΈΠ±ΠΊΠ°» Π±Ρ‹Π» использован Π² Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹ΠΌ ΠΏΠΈΠΎΠ½Π΅Ρ€ΠΎΠΌ. ГрСйс Π₯ΠΎΠΏΠΏΠ΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ объявил ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρƒ нСисправности Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΠΏΠ΅Ρ€Π²Ρ‹Ρ… элСктромСханичСских ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ². [10] Випичная вСрсия этой истории:

Π’ 1946 Π³ΠΎΠ΄Ρƒ, ΠΊΠΎΠ³Π΄Π° Π₯ΠΎΠΏΠΏΠ΅Ρ€ Π±Ρ‹Π»Π° освобоТдСна ΠΎΡ‚ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ слуТбы, ΠΎΠ½Π° поступила Π½Π° Гарвардский Ρ„Π°ΠΊΡƒΠ»ΡŒΡ‚Π΅Ρ‚ Π² Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΈΡŽ, Π³Π΄Π΅ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠ»Π° свою Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π°Π΄ ΠœΠ°Ρ€ΠΊ II ΠΈ ΠœΠ°Ρ€ΠΊ III. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ связали ΠΎΡˆΠΈΠ±ΠΊΡƒ Mark II с моль Π² Π»ΠΎΠ²ΡƒΡˆΠΊΠ΅ Ρ€Π΅Π»Π΅, ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½ ошибка. Π­Ρ‚ΠΎΡ‚ Π±Π°Π³ Π±Ρ‹Π» Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½ΠΎ ΡƒΠ΄Π°Π»Π΅Π½ ΠΈ записан Π² ΠΆΡƒΡ€Π½Π°Π». Π˜ΡΡ…ΠΎΠ΄Ρ ΠΈΠ· ΠΏΠ΅Ρ€Π²ΠΎΠΉ ошибки, сСгодня ΠΌΡ‹ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌ ошибки ΠΈΠ»ΠΈ сбои Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ошибка. [11]

Бвязанный Ρ‚Π΅Ρ€ΠΌΠΈΠ½ «ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ»Ρ‚Π°ΠΊΠΆΠ΅, каТСтся, ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ использованию Π² вычислСниях: ΠžΠΊΡΡ„ΠΎΡ€Π΄ΡΠΊΠΈΠΉ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ английского языка ‘ Этимология этого слова содСрТит ΡΠ²ΠΈΠ΄Π΅Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ 1945 Π³ΠΎΠ΄Π° Π² контСкстС Π°Π²ΠΈΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»Π΅ΠΉ. [17]

ИдСя ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ошибки, восходит ΠΊ Π—Π°ΠΌΠ΅Ρ‚ΠΊΠΈ Ады ЛавлСйс 1843 Π³ΠΎΠ΄Π° ΠΎΠ± аналитичСской машинС, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½Π° Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ возмоТности ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… Β«ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡Π΅ΠΊΒ» для Π§Π°Ρ€Π»ΡŒΠ· БэббидТс аналитичСская машина ΠΎΡˆΠΈΠ±ΠΎΡ‡Π΅Π½:

. процСсс Π°Π½Π°Π»ΠΈΠ·Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ½Π°Π±Π΄ΠΈΡ‚ΡŒ Π°Π½Π°Π»ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ Π΄Π°Π½Π½Ρ‹Π΅; ΠΈ Π² этом Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΉ источник ошибки. ΠŸΡ€ΠΈ условии, Ρ‡Ρ‚ΠΎ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π±Π΅Π·ΠΎΡˆΠΈΠ±ΠΎΡ‡Π΅Π½ Π² своих процСссах, ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΠΊΠ°Π·Ρ‹.

ΠžΡ‚Ρ‡Π΅Ρ‚ «ΠžΡˆΠΈΠ±ΠΊΠΈ Π² систСмС»

Π˜Π½ΡΡ‚ΠΈΡ‚ΡƒΡ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, управляСмый Π³Ρ€ΡƒΠΏΠΏΠΎΠΉ New America, [18] выпустила ΠΎΡ‚Ρ‡Π΅Ρ‚ «Ошибки Π² систСмС» Π² августС 2016 Π³ΠΎΠ΄Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ говорится, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ БША Π΄ΠΎΠ»ΠΆΠ½Ρ‹ провСсти Ρ€Π΅Ρ„ΠΎΡ€ΠΌΡ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠΎΡ‡ΡŒ исслСдоватСлям Π²Ρ‹ΡΠ²Π»ΡΡ‚ΡŒ ΠΈ ΡƒΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ ошибки ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. Π’ ΠΎΡ‚Ρ‡Π΅Ρ‚Π΅ «подчСркиваСтся Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Ρ€Π΅Ρ„ΠΎΡ€ΠΌΡ‹ Π² области обнаруТСния ΠΈ раскрытия уязвимостСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния». [19] Один ΠΈΠ· Π°Π²Ρ‚ΠΎΡ€ΠΎΠ² ΠΎΡ‚Ρ‡Π΅Ρ‚Π° сказал, Ρ‡Ρ‚ΠΎ ΠšΠΎΠ½Π³Ρ€Π΅ΡΡ Π½Π΅ сдСлал достаточно для устранСния уязвимости ΠΊΠΈΠ±Π΅Ρ€ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, хотя ΠšΠΎΠ½Π³Ρ€Π΅ΡΡ принял ряд Π·Π°ΠΊΠΎΠ½ΠΎΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… Π½Π° Π±ΠΎΡ€ΡŒΠ±Ρƒ с Π±ΠΎΠ»Π΅Π΅ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ кибСрбСзопасности. [19]

Π’ Π΄ΠΎΠΊΠ»Π°Π΄Π΅ говорится, Ρ‡Ρ‚ΠΎ Π—Π°ΠΊΠΎΠ½ ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΌ ΠΌΠΎΡˆΠ΅Π½Π½ΠΈΡ‡Π΅ΡΡ‚Π²Π΅ ΠΈ Π·Π»ΠΎΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠΈ, Π—Π°ΠΊΠΎΠ½ ΠΎΠ± авторском ΠΏΡ€Π°Π²Π΅ Π² Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΡƒΡŽ эпоху ΠΈ Π—Π°ΠΊΠΎΠ½ ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ элСктронных ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΉ ΠΊΡ€ΠΈΠΌΠΈΠ½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ ΠΈ вводят граТданскиС санкции Π·Π° дСйствия, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ исслСдоватСли Π² области бСзопасности рСгулярно ΡΠΎΠ²Π΅Ρ€ΡˆΠ°ΡŽΡ‚ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ Π·Π°ΠΊΠΎΠ½Π½Ρ‹Ρ… исслСдований бСзопасности. [19]

ВСрминология

Π₯отя использованиС Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π° «ошибка» для описания ошибок ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния являСтся ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ явлСниСм, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ ΠΎΡ‚ Π½Π΅Π³ΠΎ слСдуСт ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ. Один ΠΈΠ· Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ слово «ошибка» Π½Π΅ связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π±Ρ‹Π»Π° Π²Ρ‹Π·Π²Π°Π½Π° Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ, ΠΈ вмСсто этого ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π΄Π΅Ρ„Π΅ΠΊΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊ сам ΠΏΠΎ сСбС, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΎ ΠΊ ΠΎΡ‚ΠΊΠ°Π·Ρƒ ΠΎΡ‚ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π° «ошибка» Π² ΠΏΠΎΠ»ΡŒΠ·Ρƒ Ρ‚Π°ΠΊΠΈΡ… Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ², ΠΊΠ°ΠΊ Β«Π΄Π΅Ρ„Π΅ΠΊΡ‚Β» с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΌ успСхом. [20] Π‘ 1970-Ρ… Π³Π³. Гэри Килдалл нСсколько ΡŽΠΌΠΎΡ€ΠΈΡΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ» ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚ΡŒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ «грубая ошибка». [21] [22]

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΈΠΈ ошибка ΠΌΠ΅Ρ‚Π°ΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ° (с грСчСского ΠΌΠ΅Ρ‚Π° = «ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ», ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ = «Ρ„ΠΎΡ€ΠΌΠ°») относится ΠΊ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΡŽ Π΄Π΅Ρ„Π΅ΠΊΡ‚Π° Π½Π° Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ этапС развСртывания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ «ошибки», ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎΠΉ Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΎΠΌ Π½Π° Ρ€Π°Π½Π½ΠΈΡ… этапах ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, которая ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Β«Π΄Π΅Ρ„Π΅ΠΊΡ‚ΡƒΒ» Π½Π° послСднСй стадии Ρ†ΠΈΠΊΠ»Π°, Π±Ρ‹Π»ΠΎ Π½Π°Π·Π²Π°Π½ΠΎ Β«ΠΌΠ΅Ρ‚Π°ΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠΎΠΌ ошибки». [23]

ΠŸΡ€ΠΎΡ„ΠΈΠ»Π°ΠΊΡ‚ΠΈΠΊΠ°

Π˜Π½Π΄ΡƒΡΡ‚Ρ€ΠΈΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΠ»Π° ΠΌΠ½ΠΎΠ³ΠΎ усилий для сокращСния количСства ошибок. [24] [25] К Π½ΠΈΠΌ относятся:

ВипографичСскиС ошибки

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

ΠœΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ΅ тСстированиС Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя написаниС тСста для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (модуля), ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°.

Π’ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ‡Π΅Ρ€Π΅Π· тСстированиС ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹Π΅ тСсты ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΈ ΠΊΠΎΠ΄ Π½Π΅ считаСтся Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½Ρ‹ΠΌ, ΠΏΠΎΠΊΠ° всС тСсты Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠ°Ρ‚ΡΡ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ.

Гибкая Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ частыС выпуски ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния с ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ нСбольшими измСнСниями. Π”Π΅Ρ„Π΅ΠΊΡ‚Ρ‹ Π²Ρ‹ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠΎ ΠΎΡ‚Π·Ρ‹Π²Π°ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ позволяСт Π»ΡŽΠ±ΠΎΠΌΡƒ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ исходный ΠΊΠΎΠ΄. Π¨ΠΊΠΎΠ»Π° мысли, популяризированная Π­Ρ€ΠΈΠΊ Π‘. Π Π°ΠΉΠΌΠΎΠ½Π΄ Π² качСствС Π—Π°ΠΊΠΎΠ½ Линуса Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚, Ρ‡Ρ‚ΠΎ популярный ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ ΠΈΠΌΠ΅Π΅Ρ‚ большС шансов ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΌΠ°Π»ΠΎ ошибок ΠΈΠ»ΠΈ Π½Π΅ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΈΡ… совсСм, Ρ‡Π΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Β«ΠΏΡ€ΠΈ достаточном Π²Π½ΠΈΠΌΠ°Π½ΠΈΠΈ ΠΊ Π½Π΅ΠΌΡƒ всС ошибки ΠΌΠ΅Π»ΠΊΠΈΠ΅Β». [26] Однако это ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ оспорСно: спСциалист ΠΏΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ бСзопасности Элиас Π›Π΅Π²ΠΈ писали, Ρ‡Ρ‚ΠΎ Β«Π»Π΅Π³ΠΊΠΎ ΡΠΊΡ€Ρ‹Ρ‚ΡŒ уязвимости Π² слоТном, ΠΌΠ°Π»ΠΎΠΈΠ·ΡƒΡ‡Π΅Π½Π½ΠΎΠΌ ΠΈ Π½Π΅Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ исходном ΠΊΠΎΠ΄Π΅Β», ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Β«Π΄Π°ΠΆΠ΅ Ссли люди ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ ΠΊΠΎΠ΄, это Π½Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽΒ». [27] ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ случайно, Π±Ρ‹Π» Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ OpenSSL 2008 Π³ΠΎΠ΄Π° Π² Debian.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° языков программирования

Анализ кода

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ для Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΠ΄Π° ΠΏΠΎΠΌΠΎΠ³Π°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ, провСряя тСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ возмоТностСй компилятора, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. Π₯отя Π² Ρ†Π΅Π»ΠΎΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° поиска всСх ошибок программирования с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ спСцификации Π½Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΠΌΠ° (см. ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° остановки), эти инструмСнты ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ люди-программисты часто Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π²ΠΈΠ΄Ρ‹ простых ошибок ΠΏΡ€ΠΈ написании ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

ΠŸΡ€ΠΈΠ±ΠΎΡ€Ρ‹

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Π²ΠΎ врСмя Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹, Π»ΠΈΠ±ΠΎ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для поиска Ρ‚Π°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΠΊΠ°ΠΊ ΡƒΠ·ΠΊΠΈΠ΅ мСста ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ встроСн Π² ΠΊΠΎΠ΄ явно (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‚Π°ΠΊ просто, ΠΊΠ°ΠΊ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅, говорящСС ΠŸΠ•Π§ΠΠ’Π¬ «Π― Π—Π”Π•Π‘Π¬» ) ΠΈΠ»ΠΈ прСдоставлСны ΠΊΠ°ΠΊ инструмСнты. Часто Π±Ρ‹Π²Π°Π΅Ρ‚ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ, Π³Π΄Π΅ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π°, ΠΈ это ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°Π½ΠΈΡŽ ΠΊΠΎΠ΄Π°.

ВСстированиС

Π˜Π·ΠΌΠ΅Ρ€Π΅Π½ΠΈΡ Π²ΠΎ врСмя тСстирования ΠΌΠΎΠ³ΡƒΡ‚ Π΄Π°Ρ‚ΡŒ ΠΎΡ†Π΅Π½ΠΊΡƒ количСства ΠΎΡΡ‚Π°Π²ΡˆΠΈΡ…ΡΡ вСроятных ошибок; это становится Π±ΠΎΠ»Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌ, Ρ‡Π΅ΠΌ дольшС тСстируСтся ΠΈ разрабатываСтся ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚. [ Π½ΡƒΠΆΠ½Π° Ρ†ΠΈΡ‚Π°Ρ‚Π° ]

ΠžΡ‚Π»Π°Π΄ΠΊΠ°

Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. 350px Classpath bugs. Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Ρ„ΠΎΡ‚ΠΎ. Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅-350px Classpath bugs. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Как называСтся ошибка Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 350px Classpath bugs

Поиск ΠΈ исправлСниС ошибок, ΠΈΠ»ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ°, являСтся основной Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠœΠΎΡ€ΠΈΡ Уилкс, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠ΅Ρ€Π²Ρ‹Ρ… ΠΏΠΈΠΎΠ½Π΅Ρ€ΠΎΠ² Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ, описал Π² ΠΊΠΎΠ½Ρ†Π΅ 1940-Ρ… Π³ΠΎΠ΄ΠΎΠ² своС осознаниС Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΎΡΡ‚Π°Π²ΡˆΠ΅ΠΉΡΡ ΠΆΠΈΠ·Π½ΠΈ ΠΎΠ½ ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΡ‚ Π½Π° поиск ошибок Π² собствСнных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ…. [28]

Иногда ошибка Π½Π΅ являСтся ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ нСдостатком, Π° прСдставляСт собой ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ планирования со стороны программиста. Π’Π°ΠΊΠΎΠΉ логичСскиС ошибки Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ ΠΊΠ°ΠΏΠΈΡ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΠΌΠΎΠ½Ρ‚Π° ΠΈΠ»ΠΈ пСрСписывания части ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’ составС ΠΎΠ±Π·ΠΎΡ€ ΠΊΠΎΠ΄Π°, пошаговоС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΈ прСдставлСниС ΠΈΠ»ΠΈ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° процСсса выполнСния часто ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Ρ‚ΡŒ ошибки Π±Π΅Π· воспроизвСдСния ошибки ΠΊΠ°ΠΊ Ρ‚Π°ΠΊΠΎΠ²ΠΎΠΉ.

Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ шагом Π² поискС ошибки являСтся Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ΅ воспроизвСдСниС. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ошибка Π±ΡƒΠ΄Π΅Ρ‚ воспроизвСдСна, программист ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ инструмСнт ΠΏΡ€ΠΈ воспроизвСдСнии ошибки, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ Ρ‚ΠΎΡ‡ΠΊΡƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° сбилась с ΠΏΡƒΡ‚ΠΈ.

Π‘ 1990-Ρ… Π³ΠΎΠ΄ΠΎΠ², особСнно послС Ariane 5, рСйс 501 катастрофы, возрос интСрСс ΠΊ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ срСдствам ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ статичСский Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΠ΄Π° ΠΊ абстрактная интСрпрСтация. [29]

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

ВСст ошибок

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ воспроизводимыС исслСдования ΠΏΠΎ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅, исслСдоватСли ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π½Π½Ρ‹Π΅ тСсты для выявлСния ошибок:

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ошибками

Π‘Ρ‚Ρ€ΠΎΠ³ΠΎΡΡ‚ΡŒ

ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚

ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ опрСдСляСт, Π³Π΄Π΅ ошибка ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π² список Π·Π°ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ опрСдСляСтся ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ числовыми, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ‚ 1 Π΄ΠΎ 5, ΠΈΠ»ΠΈ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, «критичСскиС», «высокиС», Β«Π½ΠΈΠ·ΠΊΠΈΠ΅Β» ΠΈΠ»ΠΈ Β«ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅Β». Π­Ρ‚ΠΈ Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΎΠ²Ρ‹Π΅ ΡˆΠΊΠ°Π»Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠΈ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹ ΡΡ‚Ρ€ΠΎΠ³ΠΎΡΡ‚ΡŒ Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ, Π½ΠΎ ΠΎΡ†Π΅Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ сочСтаниС ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΡΡ‚ΠΈ ошибки с ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΡ‹ΠΌΠΈ усилиями ΠΏΠΎ ΠΈΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ; ошибка с Π½ΠΈΠ·ΠΊΠΈΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΡΡ‚ΠΈ, Π½ΠΎ Π»Π΅Π³ΠΊΠΎ исправляСмая, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ высокий ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚, Ρ‡Π΅ΠΌ ошибка срСднСй стСпСни ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΡΡ‚ΠΈ, для исправлСния ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ Ρ‡Ρ€Π΅Π·ΠΌΠ΅Ρ€Π½Ρ‹Π΅ усилия. Π Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π° ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ согласованы с выпусками ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ «критичСский» ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π½Π° всС ошибки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π΄ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ выпуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

Π Π΅Π»ΠΈΠ·Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния

ΠŸΡ€ΠΈΡ‡ΠΈΠ½Ρ‹, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΈΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚ Π½Π΅ ΠΈΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΈΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *