/
ΠΠ°ΠΉΠ΄ΠΆΠ΅ΡΡ/
ΠΠ½Π°Π»ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Ρ LLM: ΠΏΠΎΡΠ΅ΠΌΡ Π²ΡΠ²ΠΎΠ΄Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π°ΡΡ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ
Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ°Π·Π±ΠΎΡ ΡΡΠ°ΡΡΠΈ ΠΎ Evident β ΡΠΈΡΡΠ΅ΠΌΠ΅, Π³Π΄Π΅ LLM ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΎΡΠ½ΡΡ ΠΎΠ±Π²ΡΠ·ΠΊΡ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ, Π½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎ Π΄ΠΎΡΡΠΈΠΆΠΈΠΌΠΎΡΡΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΉ Π°Π½Π°Π»ΠΈΠ·, Π° Π½Π΅ ΠΏΡΠ°Π²Π΄ΠΎΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠ΅ΠΊΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ.
Π―Π·ΡΠΊΠΎΠ²ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π²ΡΡ ΡΠ°ΡΠ΅ Π±Π΅ΡΡΡ Π½Π° ΡΠ΅Π±Ρ ΡΠ°Π·Π±ΠΎΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠΉ: ΠΎΠ½ΠΈ ΡΠ°ΡΡΡΠΆΠ΄Π°ΡΡ ΠΎ ΠΊΠΎΠ΄Π΅ ΠΈ ΡΠ΅ΡΠ°ΡΡ, ΡΠΏΠΎΡΠΎΠ±Π½Π° Π»ΠΈ Π·Π°ΡΠ²Π»Π΅Π½Π½Π°Ρ ΠΎΡΠΈΠ±ΠΊΠ° ΠΏΡΠΎΡΠ²ΠΈΡΡΡΡ ΠΏΡΠΈ ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ. ΠΠ΅Π΄Π°Π²Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ ΡΠΎΠΎΠ±ΡΠ°ΡΡ ΠΎΠ± ΠΎΠ±Π½Π°Π΄ΡΠΆΠΈΠ²Π°ΡΡΠΈΡ ΡΠΈΡΠ»Π°Ρ . ΠΠΎ ΡΠ΄Π°ΡΠ° Π½Π° ΠΈΡΠΏΡΡΠ°Π½ΠΈΡΡ Π΅ΡΡ Π½Π΅ ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅Ρ Π³Π»Π°Π΄ΠΊΠΎΠ΅ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ ΡΠ½ΡΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅.
ΠΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΡΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π±ΡΡΡ Ρ ΠΏΡΠΈΠ³ΠΎΠ²ΠΎΡΠΎΠΌ Β«Π±Π°Π³Π° Π½Π΅ΡΒ». Π§ΡΠΎΠ±Ρ ΠΎΡΠΊΠ»ΠΎΠ½ΠΈΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΊΠ»Π°Π΄Π½ΠΎ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ, ΠΎΡΡΠ΅Π³ΠΎ ΠΎΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΈ Π½Π΅ ΡΠ»ΡΡΠΈΡΡΡΡ. ΠΡΠΆΠ½ΠΎ Π΄ΠΎΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π² ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π·Π°ΡΠ²Π»Π΅Π½Π½ΠΎΠ΅ ΠΎΡΠΈΠ±ΠΎΡΠ½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠΎΠΏΡΠΎΡΡΡ Π½Π΅Π΄ΠΎΡΡΠΈΠΆΠΈΠΌΠΎ.
ΠΠ²ΡΠΎΡΡ Π΄Π΅ΡΠΆΠ°ΡΡΡ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°: ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΡΠ΄ΠΈΡ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΉ Π°Π½Π°Π»ΠΈΠ·, Π° Π½Π΅ ΠΌΠΎΠ΄Π΅Π»Ρ. ΠΡ ΡΠΈΡΡΠ΅ΠΌΠ° Evident ΠΎΡΠ΄Π΅Π»ΡΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΎΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΈ ΠΏΠΎΡΡΡΠ°Π΅Ρ ΡΠ°ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΌΡ Π±ΡΠΊΠ΅Π½Π΄Ρ. ΠΠΎΠ»ΡΡΠΈΠ² ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΊΠ°Π·Π°Π½Ρ ΠΌΠ΅ΡΡΠΎ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΠΎΡΠΎΠΊ Π΄Π°Π½Π½ΡΡ , Evident ΠΏΠΎΡΡΡΠ°Π΅Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π»ΠΈΡΡ ΠΎΠ΄Π½ΠΎ β ΡΠΎΠ±ΡΠ°ΡΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΡΡ ΠΎΠ±Π²ΡΠ·ΠΊΡ. ΠΠ°ΡΠ΅ΠΌ ΠΎΠ±Π²ΡΠ·ΠΊΡ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π±ΡΠΊΠ΅Π½Π΄Ρ, ΠΈ ΡΠΎΡ Π²ΡΡΡΠ½ΡΠ΅Ρ, Π½Π΅Π΄ΠΎΡΡΠΈΠΆΠΈΠΌΠΎ Π»ΠΈ ΠΎΡΠΈΠ±ΠΎΡΠ½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΡΠΈ ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΠΎΠ±Π²ΡΠ·ΠΊΠ΅ ΠΈ Π΅Ρ Π΄ΠΎΠΏΡΡΠ΅Π½ΠΈΡΡ .
Π‘ΠΈΡΡΠ΅ΠΌΡ ΠΈΡΠΏΡΡΠ°Π»ΠΈ Π½Π° Π΄Π²ΡΡ ΡΡΠ°Ρ Π½Π°ΡΡΠΎΡΡΠΈΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡΡ Π² Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°Ρ ΡΠ΄ΡΠ° Android, Π²ΡΠ΄Π°Π½Π½ΡΡ Π΄Π²ΡΠΌΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠ°ΠΌΠΈ. ΠΠ· Π½ΠΈΡ Evident Π²Π΅ΡΠ½ΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°Π»Π° ΡΡΠΎ ΠΏΡΡΡΠ΄Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ»ΡΡΠ°ΠΉ β ΡΡΠΈ ΡΠ΅ΡΠ²Π΅ΡΡΠΈ; Π² ΡΡΠΎ ΡΠΈΡΠ»ΠΎ Π²ΠΎΡΡΠ» ΠΎΡΡΠ΅Π² ΡΡΠ° ΠΎΠ΄ΠΈΠ½Π½Π°Π΄ΡΠ°ΡΠΈ Π»ΠΎΠΆΠ½ΡΡ ΡΡΠ΅Π²ΠΎΠ³, ΠΈ ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π΅ Π±ΡΠ»ΠΎ ΠΎΡΠ±ΡΠΎΡΠ΅Π½ΠΎ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄ΡΠ½Π½ΠΎΠ³ΠΎ Π±Π°Π³Π°. ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π°Π½ΠΎΠ²ΠΎ Π½Π°ΡΠ»Π° Π½Π°ΡΡΠΎΡΡΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠΏΡΡΡΠΈΠ»ΠΈ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΡΡ, ΠΈ ΡΡΡΠ½ΠΎΠΉ ΡΠ°Π·Π±ΠΎΡ.
Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΡ Π΄Π°Π²Π½ΠΎ ΡΠ»ΡΠΆΠ°Ρ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° Π±Π°Π³ΠΎΠ² Π² Π±ΠΎΠ»ΡΡΠΈΡ ΠΊΠΎΠ΄ΠΎΠ²ΡΡ Π±Π°Π·Π°Ρ Π²ΡΠΎΠ΄Π΅ ΡΠ΄ΡΠ° Linux, Π½ΠΎ ΠΏΠ»Π°ΡΡΡ Π·Π° ΡΡΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ Π»ΠΎΠΆΠ½ΡΡ ΡΡΠ΅Π²ΠΎΠ³. ΠΡΡΠΎΠ³ΠΎ ΠΈΡ Π²ΡΡ ΡΠ°ΡΠ΅ ΠΏΡΠΎΡΡΡ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡ ΡΠ·ΡΠΊΠΎΠ²ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ. ΠΠ° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄ ΡΠ°Π±ΠΎΡΠ° Π΅ΠΉ ΠΏΠΎΠ΄ ΡΡΠ°ΡΡ: ΡΡΠΎΠ±Ρ ΠΎΡΠ΅Π½ΠΈΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ API, Π² ΡΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠ΄Π° Π΄ΠΎΡ ΠΎΠ΄ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΠΎΡΡ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅Π³ΠΎ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡΠΈΠ²ΡΡΠΊΠΈ Π·Π°Π²Π΅Π΄Π΅Π½Ρ Π² ΡΡΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅.
ΠΠ΅Π΄Π° Π² Π΄ΡΡΠ³ΠΎΠΌ. ΠΠΎΠ³Π΄Π° ΡΠ°Π·Π±ΠΎΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠΉ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ ΠΎΡΠ΄Π°ΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΡΠ°ΠΌΠΎ ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ³ΠΎΠ²ΠΎΡΠ° Β«Π±Π°Π³Π° Π½Π΅ΡΒ» ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΡΠΌΠ°Π½Π½ΡΠΌ. ΠΠΎΠ΄Π΅Π»Ρ ΡΠΌΠ΅Π΅Ρ ΡΠΊΠ»Π°Π΄Π½ΠΎ ΠΎΠΏΠΈΡΠ°ΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½ΠΎ ΡΠ°ΡΡΠΊΠ°Π· Π½Π° ΡΠ΅Π»ΠΎΠ²Π΅ΡΠ΅ΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅ Π½Π΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅.
ΠΠ°ΠΉΡΠΈ Π±Π°Π³ ΠΈ ΡΠ½ΡΡΡ Π±Π°Π³ β Π·Π°Π΄Π°ΡΠΈ ΡΠ°Π·Π½ΠΎΠΉ ΠΏΡΠΈΡΠΎΠ΄Ρ. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΡ, Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π΄ΠΎΡ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ Π΄ΠΎ ΠΎΡΠΈΠ±ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ: Π²ΠΎΡ ΠΎΠ½ΠΎ, ΠΏΡΠ΅Π΄ΡΡΠ²ΠΈΡΠ΅ Π΅Π³ΠΎ β ΠΈ ΡΠΏΠΎΡΠΈΡΡ Π½Π΅ ΠΎ ΡΠ΅ΠΌ. Π§ΡΠΎΠ±Ρ ΡΠ½ΡΡΡ ΡΡΠ΅Π²ΠΎΠ³Ρ, Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ΅: Π½ΠΈ ΠΎΠ΄Π½ΠΎ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π΄ΠΎΡΡΠΈΠ³Π°ΡΡ ΠΎΡΠΈΠ±ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π² ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅. ΠΡΠΈΠ²ΡΡΠ½ΡΠ΅ ΠΎΡΠ΅Π½ΠΊΠΈ Π»ΠΈΡΡ ΡΠ²Π΅ΡΡΡΡ ΠΈΡΠΎΠ³ΠΎΠ²ΡΡ ΠΌΠ΅ΡΠΊΡ Ρ ΡΡΠ°Π»ΠΎΠ½ΠΎΠΌ, ΠΈ ΠΏΠΎΡΠΎΠΌΡ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ Π»Π΅Π³ΠΊΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠΎΡΠ½ΡΠΌ Π½Π° ΠΈΡΠΏΡΡΠ°Π½ΠΈΡΡ , ΡΠΈΡ ΠΎ ΡΠ½ΠΈΠΌΠ°Ρ Π½Π°ΡΡΠΎΡΡΠΈΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠ°Π²Π΄ΠΎΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΌΠΈ, Π½ΠΎ Π½Π΅ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΠΌΠΈ ΡΠ°ΡΡΡΠΆΠ΄Π΅Π½ΠΈΡΠΌΠΈ.
ΠΠ²ΡΠΎΡΡ Π΄Π΅ΡΠΆΠ°ΡΡΡ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°: ΠΌΠΎΠ΄Π΅Π»Ρ ΠΏΡΡΡΡ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡ Π±Π°Π³ΠΈ, Π½ΠΎ ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΡΠ΄ΡΡ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ. ΠΡΠΈΠΌΠ΅Π½ΠΈΡΡ, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΡΠΎΡΠ½ΡΠΉ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΉ Π°Π½Π°Π»ΠΈΠ· ΡΡΠ°Π·Ρ ΠΊΠΎ Π²ΡΠ΅ΠΉ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Π²ΡΠΎΠ΄Π΅ ΡΠ΄ΡΠ° Linux ΠΎΠ±ΡΠΊΠ½ΠΎΠ²Π΅Π½Π½ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. ΠΡΠΆΠ΅Π½ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΈΡΠΏΠΎΠ»Π½ΠΈΠΌΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΎ ΡΠΎΠ²Π½ΠΎ ΡΡΠΎΠ»ΡΠΊΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΠΎΡΠΈΠ±ΠΎΡΠ½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ.
ΠΠ° ΡΡΠΎΠΌ ΠΈ ΡΡΠΎΠΈΡ Evident: ΠΌΠΎΠ΄Π΅Π»Ρ ΡΡΡΠΎΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ, Π½ΠΎ ΠΏΡΠΈΠ³ΠΎΠ²ΠΎΡΠ° Π½Π΅ Π²ΡΠ½ΠΎΡΠΈΡ. ΠΠΉ ΠΏΠΎΡΡΡΠ΅Π½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π²ΡΠ±ΡΠ°Π½Π½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»Π½ΠΈΠΌΡΠΉ ΠΊΡΡΠΎΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π° ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎΠ± ΡΡΠΎΠΌ ΠΊΡΡΠΊΠ΅ Π²ΡΠ½ΠΎΡΠΈΡ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΉ Π°Π½Π°Π»ΠΈΠ· β Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π°Π±ΡΡΡΠ°ΠΊΡΠ½Π°Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΡ Π² Frama-C/Eva (ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π°Π½Π°Π»ΠΈΠ·Π° C-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ Π΅Π³ΠΎ ΠΏΠ»Π°Π³ΠΈΠ½ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ).
Π’Π°ΠΊΠΎΠΉ ΠΏΠ΅ΡΠ΅Π½ΠΎΡ ΡΠΎΠΆΠ΄Π°Π΅Ρ Π½ΠΎΠ²ΡΡ ΠΎΠ±ΡΠ·Π°Π½Π½ΠΎΡΡΡ: ΠΏΡΠΈΠ³ΠΎΠ²ΠΎΡ ΠΏΠΎ ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡΡΡΡ Π½Π° ΠΈΡΡ ΠΎΠ΄Π½ΡΡ. ΠΠΎΡΡΠΎΠΌΡ ΠΊΠ°ΠΆΠ΄ΡΡ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Evident ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΌΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌΠΈ. ΠΠ΅ ΠΏΡΠΎΡΠ»Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΡ β Π΅Ρ ΠΎΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡ, Π° Π½Π΅ ΠΊΠ»Π°Π΄ΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π΅ΡΠ΄ΠΈΠΊΡΠ°.
Π‘ΡΠ°ΡΡΡ ΠΏΡΠΈΠ½ΠΎΡΠΈΡ ΡΡΠΈ Π²Π΅ΡΠΈ: ΠΏΡΠΎΠ΄ΡΠΌΠ°Π½Π½ΡΡ ΡΠΎΠ»Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² ΡΠ°Π·Π±ΠΎΡΠ΅ Π±Π°Π³ΠΎΠ², Π³Π΄Π΅ Π·Π° Π½Π΅ΠΉ ΠΎΡΡΠ°ΡΡΡΡ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°, Π½ΠΎ ΠΎΡΠ½ΡΡ ΠΏΡΠΈΠ³ΠΎΠ²ΠΎΡ; ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½ΡΡ ΠΌΠΎΠ΄Π΅Π»ΡΡ ΠΎΠ±Π²ΡΠ·ΠΎΠΊ; ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π½Π° Π΄Π²ΡΡ ΡΡΠ°Ρ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡΡ Π² Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°Ρ ΡΠ΄ΡΠ° Android.
Π ΠΎΠΏΡΠ°Π²Π΄Π°Π½ΠΈΠ΅ ΡΠ²ΠΎΠ΅ΠΌΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Ρ Π°Π²ΡΠΎΡΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡ Π½Π°ΡΡΠΎΡΡΠΈΠΉ Π±Π°Π³ Π² Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ ΡΠ΄ΡΠ° Android. ΠΠ³ΠΎ ΡΠΏΡΡΡΠΈΠ»ΠΈ ΠΈ ΠΏΡΠ΅ΠΆΠ½ΡΡ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΡΡ, ΠΈ ΡΡΡΠ½ΠΎΠΉ ΡΠ°Π·Π±ΠΎΡ, Π° ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΠΌ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ Π΄Π»Ρ Π½Π΅Π³ΠΎ ΡΠΆΠ΅ Π±ΡΠ»Π° Π·Π°ΠΏΠ»Π°ΡΠΊΠ°: ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, ΠΏΡΠΈΡΠ΅Π΄ΡΠ΅Π΅ ΡΠ΅ΡΠ΅Π· ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΡΡΡΡΠΊΡΡΡΡ ucontrol, ΠΌΠΎΠ³Π»ΠΎ ΠΎΠ±Π΅ΡΠ½ΡΡΡΡΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π³ΡΠ°Π½ΠΈΡΠ΅ΠΉ ΠΈ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
ΠΡΠΎΡ ΡΠ»ΡΡΠ°ΠΉ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π΄Π²Π΅ Π±Π΅Π΄Ρ ΡΠ°Π·ΠΎΠΌ. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠΏΠΎΡΠΎΠ±Π½Π° ΡΠ½ΡΡΡ Π½Π°ΡΡΠΎΡΡΠΈΠΉ Π±Π°Π³ ΠΏΠΎΠ΄ ΠΏΡΠ°Π²Π΄ΠΎΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΌ ΠΏΡΠ΅Π΄Π»ΠΎΠ³ΠΎΠΌ, ΠΎΠΏΠΈΡΠ°ΡΡΡ Π½Π° ΠΌΠ½ΠΈΠΌΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ. ΠΠΎ-Π²ΡΠΎΡΡΡ , Π΄Π°ΠΆΠ΅ ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠ΄Π΅Π»Ρ Π»ΠΈΡΡ ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ ΠΎΠ±Π²ΡΠ·ΠΊΡ, ΠΎΠ±Π²ΡΠ·ΠΊΠ° Π²ΡΡ ΠΎΠ΄ΠΈΡ Π½Π΅Π³ΠΎΠ΄Π½ΠΎΠΉ, Π΅ΡΠ»ΠΈ ΠΎΠ½Π° Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π·Π°Π²Π΅Π΄ΠΎΠΌΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΡΠ³ΠΎ ΡΡΡΠ³ΠΈΠ²Π°Ρ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΠ°ΡΠΏΠΎΡΡΠΆΠ°Π΅ΡΡΡ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ.
ΠΠ° (ΡΠΈΡ.1) ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π»Π΅Π³ΠΊΠΎ ΠΎΡΠ²Π΅ΡΠ³Π½ΡΡΡ ΠΏΡΠΈ Π±Π΅Π³Π»ΠΎΠΌ, ΠΌΠ΅ΡΡΠ½ΠΎΠΌ Π²Π·Π³Π»ΡΠ΄Π΅. ΠΡΠ°Π½ΠΈΡΠ° ΡΠΈΠΊΠ»Π° ΡΠ²Π΅ΡΡΠ΅ΡΡΡ Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ items, ΠΈ Π·Π°ΠΏΠΈΡΡ ΠΈΠ΄ΡΡ ΡΡΠ°Π·Ρ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΎΠΉ. Π ΠΌΠΎΠ΄Π΅Π»Ρ, ΠΈ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ, ΡΠΈΡΠ°Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎΡ ΠΊΠ»ΠΎΡΠΎΠΊ ΠΊΠΎΠ΄Π°, Π»Π΅Π³ΠΊΠΎ Π²ΡΠ½Π΅ΡΡΡ ΡΠ±Π΅Π΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Β«Π±Π°Π³Π° Π½Π΅ΡΒ»: ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°-Π΄Π΅ ΡΡΡΠ³ΠΈΠ²Π°Π΅Ρ ΡΠΈΠΊΠ», Π° Π·Π½Π°ΡΠΈΡ, ΡΡΠ΅Π²ΠΎΠ³Π° ΠΎ Π²ΡΡ ΠΎΠ΄Π΅ Π·Π° Π³ΡΠ°Π½ΠΈΡΡ Π»ΠΎΠΆΠ½Π°.
ΠΠΎ ΠΌΠ΅ΡΡΠ½ΠΎΠ΅ ΡΠ°ΡΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΠΏΡΡΠΊΠ°Π΅Ρ ΡΠΈΠΏ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΡΠΎ Π½Π΅ int, Π° 64-Π±ΠΈΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ long Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, Π·Π°Π²Π΅Π΄ΡΠ½Π½ΠΎΠΌ ALSA (Advanced Linux Sound Architecture β Π·Π²ΡΠΊΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΠ΄ΡΠ° Linux). ΠΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ long ΡΠΏΠΎΠΊΠΎΠΉΠ½ΠΎ ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ, Π° ΠΏΠΎΡΠ»Π΅ ΡΡΠΆΠ°Π΅ΡΡΡ Π΄ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ 32-Π±ΠΈΡΠ½ΠΎΠ³ΠΎ int. Π‘ΡΠ°Π»ΠΎ Π±ΡΡΡ, ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π²ΠΎΠ²ΡΠ΅ Π½Π΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠΎΠ³ΠΎ ΡΡΠ»ΠΎΠ²ΠΈΡ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π΄Π»Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΠΈΠΊΠ»Π°, ΠΈ Π·Π°ΠΏΠΈΡΡ Π² items[i] ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΉΡΠΈ Π·Π° Π³ΡΠ°Π½ΠΈΡΡ.
ΠΡΡΡΠ΄Π° Π²ΠΈΠ΄Π΅Π½ ΠΈ Π²ΡΠ²ΠΎΠ΄: ΠΏΡΠ°Π²Π΄ΠΎΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΡ ΠΌΠ°Π»ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ½ΡΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅. ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΈ Π·Π°ΠΏΠΈΡΡ ΡΡΠΎΡΡ ΡΡΠ΄ΠΎΠΌ, Π½Π° Π²ΠΈΠ΄Ρ, Π° Π²ΠΎΡ ΡΠΈΠΏ ΠΈ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ ΠΏΡΠ΅Π΄Π΅Π» Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Π½Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΡΠ°Π»ΡΡ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ ΡΡΠΎΠ³ΠΎ ΠΊΠ»ΠΎΡΠΊΠ° ΠΊΠΎΠ΄Π°.
ΠΡΠΎΡ Π±Π°Π³ Π½Π΅ Π²ΡΡ
ΠΎΠ΄ΠΈΡ Π·Π° ΡΠ°ΠΌΠΊΠΈ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΎΡΠ½ΡΠΉ Π°Π½Π°Π»ΠΈΠ· - Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, path-sensitive Π°Π½Π°Π»ΠΈΠ· Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ (Π°Π½Π°Π»ΠΈΠ·, ΡΡΠΈΡΡΠ²Π°ΡΡΠΈΠΉ ΠΏΡΡΠΈ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ), ΡΠ°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ Frama-C/Eva, ΠΈΠ»ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, ΡΠ°ΠΊΠΎΠ΅ ΠΊΠ°ΠΊ KLEE, - ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ ΠΎΡΠΈΠ±ΠΎΡΠ½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, Π΅ΡΠ»ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΠΏΠΎΠΌΠ΅ΡΡΠ½ Π² Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ. ΠΠΎΠΊΠ°Π»ΡΠ½ΠΎ Π°Π½Π°Π»ΠΈΠ· ΠΏΡΠΎΡΡ: ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ unconstrained (Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΌ) Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ
Π΅Π³ΠΎ ΡΠΈΠΏΠ°, ΠΏΡΠΎΠΉΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ, ΠΏΡΠΎΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΆΠ°ΡΡΠ΅Π΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π³ΡΠ°Π½ΠΈΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°.
Π’ΡΡΠ΄Π½ΠΎΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΎ ΡΠ°ΡΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΊ ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ ΡΠ΄ΡΠ° Linux. ΠΠ°ΠΏΡΡΠΊ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠ° Π½Π°ΠΏΡΡΠΌΡΡ Π½Π° Π²ΡΡΠΌ ΠΌΠΎΠ΄ΡΠ»Π΅ Π½Π΅ΡΠ΅Π°Π»ΠΈΡΡΠΈΡΠ΅Π½: Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° ΠΈΠ»ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ, Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΡ ΠΏΡΠΈΡΠ»ΠΎΡΡ Π±Ρ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π΄ΠΎΡΡΠΈΡΡ ΡΠΎΡΠΊΠΈ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ. ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΡΠΎ Π±Π°Π³Π° ΠΈ Π³ΡΡΠ±ΡΠΉ taint-flow (ΠΏΠΎΡΠΎΠΊ Π·Π°ΡΠ°ΠΆΠ΅Π½ΠΈΡ) ΠΎΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΠΊ ΡΡΠΎΠΊΡ.
ΠΠ½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΠ±Π²ΡΠ·ΠΊΠ° Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΡΠΎΡ ΠΏΡΠΎΠ±Π΅Π», ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠΉ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ, Π½ΡΠΆΠ½ΡΠΉ Π±ΡΠΊΠ΅Π½Π΄-Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΡ. ΠΠ½Π° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° ΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°, Π½ΡΠΆΠ½ΠΎΠ΅ Π΄Π»Ρ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ ΡΡΠΎΠΊΠ°, Π·Π°ΡΠ΅ΠΌ Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π²ΡΠ±ΡΠ°Π½Π½ΡΡ ΡΠΎΡΠΊΡ Π²Ρ ΠΎΠ΄Π°, ΡΠΎΡ ΡΠ°Π½ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ ΠΎΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΌΠΈ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΠΈΡ ΡΠΈΠΏΠΎΠ². Evident ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ LLM ΠΊΠ°ΠΊ ΠΏΡΠ°ΠΊΡΠΈΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΡΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΠΈΠ· ΠΊΠΎΠ½Π²Π΅Π½ΡΠΈΠΉ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° ΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΡΠΎΠ³ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΡΡΠ½ΡΡ.
ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ LLM Π½Π΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ, Π΅Ρ ΠΎΠ±Π²ΡΠ·ΠΊΠ° Π²ΡΡ ΡΠ°Π²Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΡΡΠ°Π²ΠΈΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΈΡΡΠ΅Π·Π½ΡΡΡ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ. Π ΠΌΠΎΡΠΈΠ²ΠΈΡΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠ°Π²Π΄ΠΎΠΏΠΎΠ΄ΠΎΠ±Π½Π°Ρ ΠΎΠ±Π²ΡΠ·ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠ΅ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠΎΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ, ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΎΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ: ucontrol->value[0] = Frama_C_interval(0, 16);
ΠΡΠ»ΠΈ LLM ΡΠΈΠΊΡΠΈΡΡΠ΅Ρ Π²Ρ ΠΎΠ΄ Π² [0,16], Π±ΡΠΊΠ΅Π½Π΄ ΠΏΠΎ ΡΡΡΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ Π΄ΡΡΠ³ΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ long ΡΠΆΠ΅ ΡΠ΄Π°Π»Π΅Π½Ρ. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Β«Π±Π°Π³Π° Π½Π΅ΡΒ» Π½Π° ΡΠ°ΠΊΠΎΠΉ ΠΎΠ±Π²ΡΠ·ΠΊΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π» Π±Ρ Π»ΠΈΡΡ, ΡΡΠΎ ΠΎΡΠΈΠ±ΠΎΡΠ½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π΅Π΄ΠΎΡΡΠΈΠΆΠΈΠΌΠΎ ΠΏΠΎΡΠ»Π΅ ΡΡΠΆΠ΅Π½ΠΈΡ Π²Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ΅Π½Π°. Evident ΠΏΠΎΡΡΠΎΠΌΡ Π²Π°Π»ΠΈΠ΄ΠΈΡΡΠ΅Ρ ΠΎΠ±Π²ΡΠ·ΠΊΡ ΠΏΠ΅ΡΠ΅Π΄ Π±ΡΠΊΠ΅Π½Π΄-Π°Π½Π°Π»ΠΈΠ·ΠΎΠΌ ΠΈ ΠΎΡΠ²Π΅ΡΠ³Π°Π΅Ρ ΠΎΠ±Π²ΡΠ·ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠΈΠ·ΠΈΡΡΡΡ ΠΈΠ»ΠΈ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΡΠΉ ΠΎΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ Π²Ρ ΠΎΠ΄.
Evident Π½Π°ΡΠΈΠ½Π°Π΅Ρ Ρ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ, Π²ΡΠ΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΡΠΎΠ½ΡΠ΅Π½Π΄-Π΄Π΅ΡΠ΅ΠΊΡΠΎΡΠΎΠΌ. ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ, ΡΡΠΎΠΊ, ΠΎΡΠΈΠ±ΠΎΡΠ½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈ taint-flow ΠΎΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΠΊ ΡΡΠΎΠΊΡ. ΠΠ· ΡΡΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ Evident ΡΡΡΠΎΠΈΡ ΠΌΠ΅Π½ΡΡΡΡ C-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π·Π°ΡΠ²Π»Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΌΡ Π±ΡΠΊΠ΅Π½Π΄-Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΡ - warning-specific analysis harness (ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΎΠΉ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΠ±Π²ΡΠ·ΠΊΠ΅). ΠΡΠΊΠ΅Π½Π΄ - Frama-C/Eva; ΡΡΠΎΠ½ΡΠ΅Π½Π΄-Π΄Π΅ΡΠ΅ΠΊΡΠΎΡ Π½Π΅ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½, ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡ Π»ΡΠ±ΠΎΠΉ Π΄Π΅ΡΠ΅ΠΊΡΠΎΡ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ Π½ΡΠΆΠ½ΡΠ΅ ΠΏΠΎΠ»Ρ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅. ΠΡΠΈΠ±ΠΎΡΠ½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ - ΡΡΠΎ ΠΏΠ°ΡΠ° (Π»ΠΎΠΊΠ°ΡΠΈΡ, ΠΏΡΠ΅Π΄ΠΈΠΊΠ°Ρ Π½Π°Π΄ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ). ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ ΠΏΠΎΡΠ΅ΡΠ°Π΅Ρ Π»ΠΎΠΊΠ°ΡΠΈΡ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ, ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡΠ΅ΠΌ ΠΏΡΠ΅Π΄ΠΈΠΊΠ°ΡΡ. ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΡΠ²Π΅ΡΠΆΠ΄Π°Π΅Ρ, ΡΡΠΎ ΠΎΡΠΈΠ±ΠΎΡΠ½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π΄ΠΎΡΡΠΈΠΆΠΈΠΌΠΎ. Evident ΡΠ½ΠΈΠΌΠ°Π΅Ρ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Ρ ΠΎΡΡΠΈΡΠ°Π½ΠΈΠ΅: Π½ΠΈ ΠΎΠ΄Π½ΠΎ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅ Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ.
ΠΠ±Π»Π°ΡΡΡ. Evident Π½Π°ΡΠ΅Π»Π΅Π½ Π½Π° ΡΠ½ΡΡΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠΉ Π² ΠΎΡΠΊΡΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ : ΠΊΠΎΠ΄Π΅, Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌΠΎΠΌ Π±Π΅Π· Π·Π°ΠΌΠΊΠ½ΡΡΠΎΠΉ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ Π²Ρ ΠΎΠ΄Π°. Π’Π°ΠΊΠΈΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ Π² Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°Ρ , Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°Ρ , ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°Ρ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΈ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ ΡΠΎΡΠΊΠ°Ρ Π²Ρ ΠΎΠ΄Π° Π² Π±ΠΎΠ»ΡΡΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠ°Ρ . Π Π°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ taint-style ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ (ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΎ ΠΏΠΎΡΠΎΠΊΠ΅ Π·Π°ΡΠ°ΠΆΠ΅Π½ΠΈΡ), ΠΎΡΠΈΠ±ΠΎΡΠ½ΡΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΊΠΎΡΠΎΡΡΡ - Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΡΠ΅Π΄ΠΈΠΊΠ°ΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΠΈΠ»ΠΈ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π», Π²ΠΊΠ»ΡΡΠ°Ρ Π²ΡΡ ΠΎΠ΄ Π·Π° Π³ΡΠ°Π½ΠΈΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
ΠΡΡ ΠΎΠ΄Ρ. Evident Π΄Π°ΡΡ ΡΡΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°. ΠΡΠ»ΠΈ Π±ΡΠΊΠ΅Π½Π΄ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΎΡΠ½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π΅Π΄ΠΎΡΡΠΈΠΆΠΈΠΌΡΠΌ - Β«Π±Π°Π³Π° Π½Π΅ΡΒ», ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΠ½ΠΈΠΌΠ°Π΅ΡΡΡ. ΠΡΠ»ΠΈ Π±ΡΠΊΠ΅Π½Π΄ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΏΡΠΈΠ½ΡΡΡΡ ΠΎΠ±Π²ΡΠ·ΠΊΡ, Π½ΠΎ Π½Π΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π΅Π΄ΠΎΡΡΠΈΠΆΠΈΠΌΠΎΡΡΡ - ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎΡΡΠ°ΡΡΡΡ ΡΡΠ΅Π²ΠΎΠΆΠ½ΡΠΌ. ΠΡΠ»ΠΈ Π½Π΅Ρ ΠΏΡΠΈΠ½ΡΡΠΎΠ³ΠΎ Π±ΡΠΊΠ΅Π½Π΄-ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° - ΡΠ»ΡΡΠ°ΠΉ Π½Π΅ΡΠ°Π·ΡΠ΅ΡΡΠ½.
| Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΡ | ΠΡΠ°Π»ΠΎΠ½ | ΠΠ΅ΡΠΊΠ° ΠΎΡΠ΅Π½ΠΊΠΈ |
|---|---|---|
| ΠΠ°Π³Π° Π½Π΅Ρ | ΠΠ΅Π΄ΠΎΡΡΠΈΠΆΠΈΠΌΠΎ | ΠΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ |
| ΠΠ°Π³Π° Π½Π΅Ρ | ΠΠΎΡΡΠΈΠΆΠΈΠΌΠΎ | ΠΠΎΠΆΠ½ΠΎΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ / Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ΅ ΡΠ½ΡΡΠΈΠ΅ |
| ΠΡΡΠ°ΡΡΡΡ ΡΡΠ΅Π²ΠΎΠΆΠ½ΡΠΌ | ΠΠΎΡΡΠΈΠΆΠΈΠΌΠΎ | ΠΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ |
| ΠΡΡΠ°ΡΡΡΡ ΡΡΠ΅Π²ΠΎΠΆΠ½ΡΠΌ | ΠΠ΅Π΄ΠΎΡΡΠΈΠΆΠΈΠΌΠΎ | ΠΠΎΠΆΠ½ΠΎΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΉ / ΠΊΠΎΠ½ΡΠ΅ΡΠ²Π°ΡΠΈΠ²Π½Π°Ρ Π»ΠΎΠΆΠ½Π°Ρ ΡΡΠ΅Π²ΠΎΠ³Π° |
| ΠΠ΅ΡΠ°Π·ΡΠ΅ΡΡΠ½ | ΠΡΠ±ΠΎΠΉ | ΠΡΠ΄Π΅Π»ΡΠ½ΠΎ |
Evident ΠΏΡΠΎΡΠΈΡ LLM ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠ½ΡΡ ΠΎΠ±Π²ΡΠ·ΠΊΡ. ΠΠ°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅Ρ ΠΈ Π²Π°Π»ΠΈΠ΄ΠΈΡΡΠ΅Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠ° ΠΏΠ΅ΡΠ΅Π΄ Π±ΡΠΊΠ΅Π½Π΄-Π°Π½Π°Π»ΠΈΠ·ΠΎΠΌ. ΠΠ°Π»ΠΈΠ΄Π°ΡΠΈΡ - ΡΡΠΎ ΠΏΡΠΎΠΏΡΡΠΊ Π΄ΠΎΠΏΡΡΠΊΠ°: ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΡ, Π½Π΅ ΠΏΡΠΎΡΠ΅Π΄ΡΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ, ΠΎΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡΡΡ, Π° ΠΈΡ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° Π½ΠΎΠ²ΠΎΠΉ ΠΎΠ±Π²ΡΠ·ΠΊΠΈ. ΠΠΎΠ³Π΄Π° ΠΎΠ±Π²ΡΠ·ΠΊΠ° ΠΏΡΠΈΠ½ΡΡΠ°, Π±ΡΠΊΠ΅Π½Π΄ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΎΡΠΈΠ±ΠΎΡΠ½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈ Π²ΡΠ΄Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΈΡΡ ΠΎΠ΄ΠΎΠ².
Evident ΡΠ°Π·Π±ΠΈΠ²Π°Π΅Ρ ΡΠΎΠΎΠ±ΡΡΠ½Π½ΠΎΠ΅ Π΄Π΅ΡΠ΅ΠΊΡΠΎΡΠΎΠΌ Π΄ΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΡΡΠ²ΠΎ Π½Π° Π΄Π²Π΅ ΡΠ°ΡΡΠΈ: value-flow witness (ΡΠ²ΠΈΠ΄Π΅ΡΠ΅Π»ΡΡΡΠ²ΠΎ ΠΏΠΎΡΠΎΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ), ΡΠΈΠΊΡΠΈΡΡΡΡΠ΅Π΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΡ, ΠΈ call witness (ΡΠ²ΠΈΠ΄Π΅ΡΠ΅Π»ΡΡΡΠ²ΠΎ Π²ΡΠ·ΠΎΠ²ΠΎΠ²), Π·Π°Π΄Π°ΡΡΠ΅Π΅ ΡΠΎΡΠΊΠΈ Π²Ρ ΠΎΠ΄Π° ΠΎΠ±Π²ΡΠ·ΠΊΠΈ. Π‘Π²ΠΈΠ΄Π΅ΡΠ΅Π»ΡΡΡΠ²ΠΎ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΠΎΠΆΠ΄Π°Π΅Ρ Π½Π°Π±ΠΎΡ ΡΠΎΡΠ΅ΠΊ Π²Ρ ΠΎΠ΄Π°-ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠΎΠ² - ΡΡΡΡΠΈΠΊΡΠΎΠ² ΡΠ΅ΠΏΠΎΡΠΊΠΈ Π²ΡΠ·ΠΎΠ²ΠΎΠ², ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ Π²ΡΠ±ΠΈΡΠ°Π΅Ρ ΡΠ°Π·Π½ΡΡ Π³Π»ΡΠ±ΠΈΠ½Ρ Π²Ρ ΠΎΠ΄Π°.
ΠΠΎΡΡΡΠΎΠΈΡΠ΅Π»Ρ ΠΎΠ±Π²ΡΠ·ΠΊΠΈ - Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Evident, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉ LLM. ΠΠ½ ΡΠΎΠ·Π΄Π°ΡΡ C-ΠΎΠ±Π²ΡΠ·ΠΊΡ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΡΡΡΠΈΠΊΡΠ°: ΠΊΠΎΠ½ΡΡΡΡΠΈΡΡΠ΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, Π½ΡΠΆΠ½ΡΠ΅ Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²Π° ΡΠΎΡΠΊΠΈ Π²Ρ ΠΎΠ΄Π°, ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ ΠΎΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΌΠΈ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΠΈΡ C-ΡΠΈΠΏΠΎΠ² ΠΈ Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π²Ρ ΠΎΠ΄ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΎΡΡΠ°Π²ΡΠ°ΡΡΡ ΡΠ΅ΠΏΠΎΡΠΊΠ° Π²ΡΠ·ΠΎΠ²ΠΎΠ² Π΄ΠΎΡΡΠΈΠ³Π»Π° ΡΡΠΎΠΊΠΎΠ²ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠ»Ρ Π·Π°Π²ΠΈΡΠΈΠΌΡΡ ΠΎΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ type-preserving abstract-value initialization (ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠΈΠΏΠ°): ΠΎΠ±Π²ΡΠ·ΠΊΠ° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ, Π΄ΠΎΠΌΠ΅Π½ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΈΠ· C-ΡΠΈΠΏΠ° lvalue, Π° Π½Π΅ ΠΈΠ· ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°, Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ LLM. LLM Π²ΡΠ±ΠΈΡΠ°Π΅Ρ, Π³Π΄Π΅ Π²Π²Π΅ΡΡΠΈ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π½ΠΎ Π½Π΅ Π²ΡΠ±ΠΈΡΠ°Π΅Ρ ΡΠΈΠΏ ΠΈΠ»ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½.
ΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΎΠ±Π²ΡΠ·ΠΊΠΈ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠ°ΡΡΠ΅ΡΠ½Ρ tool-augmented coding agents (ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎ-ΡΡΠΈΠ»Π΅Π½Π½ΡΡ
ΠΊΠΎΠ΄ΠΈΡΡΡΡΠΈΡ
Π°Π³Π΅Π½ΡΠΎΠ²): LLM Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΡΠ°ΠΊΡΡ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠ΄-Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ. Π ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ»ΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π½Π°ΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡΡ Π² clangd, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ Π·Π°ΠΏΡΠΎΡΡ language server: go-to-definition, ΡΡΡΠ»ΠΊΠΈ, Π²ΡΠ·ΡΠ²Π°ΡΡΠΈΠ΅, Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΠ΅ ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΈΠΏΠ°Ρ
.
ΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΈΡΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎ. ΠΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠΎΠΏΡΡΠΊΠΈ Evident ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ ΠΎΠ±Π²ΡΠ·ΠΊΡ ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ. ΠΠ΅ΡΠ΄Π°ΡΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ Π² LLM ΠΊΠ°ΠΊ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ°, ΠΈ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΏΡΠΎΡΠΈΡ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΠΎΠ±Π²ΡΠ·ΠΊΡ. ΠΡΠ»ΠΈ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ Π½Π΅ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ Π±ΡΠ΄ΠΆΠ΅ΡΠ° ΠΏΠΎΠΏΡΡΠΎΠΊ, ΡΠ»ΡΡΠ°ΠΉ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π½Π΅ΡΠ°Π·ΡΠ΅ΡΡΠ½Π½ΡΠΌ.
ΠΠ°Π»ΠΈΠ΄Π°ΡΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΎΠ±Π²ΡΠ·ΠΊΡ ΠΏΠΎ ΡΠ΅ΡΡΡΡΠΌ Π²ΠΎΠΏΡΠΎΡΠ°ΠΌ: Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ Π»ΠΈ ΠΎΠ½Π° Π·Π°ΡΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΡΠΎΠΊΠ°; ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ Π»ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΡΠΉ ΠΎΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ Π²Ρ ΠΎΠ΄ Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΌ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΡΠΈΠΏΠ°; ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π»ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΡΠ²ΠΈΠ΄Π΅ΡΠ΅Π»ΡΡΡΠ²Π° ΠΏΠΎΡΠΎΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ; ΠΈ Π½Π΅ ΡΠΈΠΊΡΠΈΡΡΠ΅Ρ Π»ΠΈ Π΄ΡΡΠ³ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, Π²Π»ΠΈΡΡΡΠ΅Π΅ Π½Π° ΠΎΡΠΈΠ±ΠΎΡΠ½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, Π½Π΅ΠΎΠΏΡΠ°Π²Π΄Π°Π½Π½ΡΠΌΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ°ΠΌΠΈ.
ΠΡΠ΄ΠΈΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠ³ΠΎ Π²Ρ
ΠΎΠ΄Π°. ΠΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΡΡΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ ΠΎΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²Π²Π΅Π΄Π΅Π½Ρ ΡΠ΅ΡΠ΅Π· type-preserving ΡΠΎΡΠΌΡ abstract_value, Π° Π½Π΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌΠΈ ΠΈΠ»ΠΈ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠ·ΠΊΠΈΠΌΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°ΠΌΠΈ. ΠΡΠ΄ΠΈΡ ΠΎΡΠ»ΠΈΡΠ°Π΅Ρ ΡΡΡΡΠΊΡΡΡΠ½ΡΡ ΠΊΠΎΠΌΠΌΡΡΠ°ΡΠΈΡ (ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, ΡΠ°Π±Π»ΠΈΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ
Π²ΡΠ·ΠΎΠ²ΠΎΠ²) ΠΎΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ: ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ ΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, Π²Π»ΠΈΡΡΡΠΈΠ΅ Π½Π° ΡΡΠΎΠΊ, Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΡΡΠ°Π²Π°ΡΡΡΡ Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΌΠΈ.
ΠΠΎΡΡΠΈΠΆΠΈΠΌΠΎΡΡΡ ΡΡΠΎΠΊΠ° ΠΈ dead-sink. Evident Π²ΡΡΠ°Π²Π»ΡΠ΅Ρ Π»ΠΎΠ³-Π·ΠΎΠ½Π΄Ρ Frama-C Π² ΡΡΠΎΠΊ ΠΈ Π² Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½ΠΈΠ΅ ΡΠΎΡΠΊΠΈ ΠΏΡΡΠΈ. ΠΠΎΡΡΠΈΠΆΠΈΠΌΠΎΡΡΡ ΡΡΠΎΠΊΠ° - Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΏΡΠΈΠ½ΡΡΠΈΡ. ΠΡΠ»ΠΈ ΡΡΠΎΠΊ Π½Π΅Π΄ΠΎΡΡΠΈΠΆΠΈΠΌ, Evident ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠΎΠ³ΠΎΠΌ ΡΡΠ»ΠΎΠ²ΠΈΠΈ dead-sink (ΠΌΡΡΡΠ²ΡΠΉ ΡΡΠΎΠΊ): Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½ΠΈΠΉ Ρ
ΡΠΊ Π΄ΠΎΡΡΠΈΠ³Π½ΡΡ, ΡΠ°ΠΌ ΡΡΠΎΠΊ Π½Π΅Π΄ΠΎΡΡΠΈΠΆΠΈΠΌ, ΠΈ Π»ΡΠ³ΠΊΠΈΠΉ ΠΏΡΠΎΠ³ΠΎΠ½ Π½Π΅ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΡΡΠ΅Π²ΠΎΠ³ Π΄ΠΎ ΡΡΠΎΠΊΠ°.
ΠΠΎΡΡΠΈΠΆΠΈΠΌΠΎΡΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΡ ΡΠΎΡΠ΅ΠΊ. Evident ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΡΡΠΎ Π²ΡΠ±ΡΠ°Π½Π½ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΈΠ· ΡΠ²ΠΈΠ΄Π΅ΡΠ΅Π»ΡΡΡΠ²Π° ΠΏΠΎΡΠΎΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π΄ΠΎΡΡΠΈΠΆΠΈΠΌΡ Ρ non-bottom Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ, ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΠΎΠ±Π²ΡΠ·ΠΊΠ° ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠ΅Π»Π΅Π²Π°Π½ΡΠ½ΡΠΉ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ.
ΠΡΠ΄ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ. ΠΠ½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²Π»ΠΈΡΡΡ Π½Π° Π΄ΠΎΡΡΠΈΠΆΠΈΠΌΠΎΡΡΡ ΡΡΠΎΠΊΠ° ΠΈΠ»ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΎΡΠΈΠ±ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ. Π’Π°ΠΊΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ exposed (Π²ΡΡΠ²Π»Π΅Π½ΠΎ) ΡΠ΅ΡΠ΅Π· type-preserving Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ Π½Π΅ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΎ Π΄ΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΠΌ setup-ΠΊΠΎΠ΄ΠΎΠΌ.
ΠΠΎΡΠ»Π΅ ΠΏΡΠΎΡ
ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ Evident Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΏΡΠΈΠ½ΡΡΡΡ ΠΎΠ±Π²ΡΠ·ΠΊΡ Ρ Frama-C/Eva. ΠΡΠΊΠ΅Π½Π΄ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΎΡΠΈΠ±ΠΎΡΠ½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅, Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΎΠ±Π²ΡΠ·ΠΊΠΎΠΉ. Β«ΠΠ°Π³Π° Π½Π΅ΡΒ» ΡΠΎΠΎΠ±ΡΠ°Π΅ΡΡΡ, ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ Π±ΡΠΊΠ΅Π½Π΄ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π΅Π΄ΠΎΡΡΠΈΠΆΠΈΠΌΠΎΡΡΡ Π½Π° ΠΏΡΠΈΠ½ΡΡΠΎΠΉ ΠΎΠ±Π²ΡΠ·ΠΊΠ΅. ΠΠ±ΡΡΡΠ½Π΅Π½ΠΈΡ LLM, ΡΡΠΏΠ΅Ρ
Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ, ΡΡΠ΅Π²ΠΎΠ³ΠΈ, unknown-ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ, ΡΠ°ΠΉΠΌΠ°ΡΡΡ ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ Π°Π½Π°Π»ΠΈΠ·Π° Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ Π΄ΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΡΡΠ²ΠΎΠΌ ΠΎΡΡΡΡΡΡΠ²ΠΈΡ Π±Π°Π³Π°.
Evident ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ Π΄Π²ΡΠΌΡ ΡΠΈΠΏΠ°ΠΌΠΈ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠΉ: LLVM-based ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ· (SUTURE) ΠΈ SARIF-style SAST-ΠΎΡΡΡΡ ΠΎΡ Π΄Π΅ΡΠ΅ΠΊΡΠΎΡΠ° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ CodeQL. ΠΠ±Π° Π°Π΄Π°ΠΏΡΠ΅ΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ Π·Π°ΠΏΠΈΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ.
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ΅Π»Π΅Π²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΡΠ΄ΡΠΎ ΡΠ½Π°ΡΠ°Π»Π° ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΡΡ Π΄Π»Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΡΡΠ΅ΠΉ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΠΌΠ°ΠΊΡΠΎΡΠΎΠ² ΠΈ ΠΎΠΏΡΠΈΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°. ΠΠ°ΡΠ΅ΠΌ Evident ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΡΠ΅Ρ ΡΠ°ΠΉΠ» Π² .i translation unit (Π΅Π΄ΠΈΠ½ΠΈΡΡ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΠΈ), ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΈΠΊΡΠΈΡΡΠ΅Ρ ΠΌΠ°ΠΊΡΠΎΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΡ C-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π²ΠΈΠ΄ΠΈΠΌΡΡ Frama-C/Eva.
Evident ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ»ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΎΠ±Π²ΡΠ·ΠΎΠΊ: shim-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ, ΠΎΠ±ΡΡΡΠΎΡΠ½ΡΠ΅ ΠΏΡΡΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π²ΡΠ±ΡΠ°Π½Π½ΡΡ
API ΡΠ΄ΡΠ°. Shim-ΡΠ»ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΏΡΠΈΠΌΠΈΡΠΈΠ² abstract_value(x), ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΈΠΏ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Frama-C/Eva.
ΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΎΠ±Π²ΡΠ·ΠΊΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΊΠ°ΠΊ scaffolded, tool-augmented coding task (ΡΠ°Π±Π»ΠΎΠ½Π½Π°Ρ, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎ-ΡΡΠΈΠ»Π΅Π½Π½Π°Ρ Π·Π°Π΄Π°ΡΠ° ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ). ΠΡΠΎΠΌΠΏΡ-ΡΠ°Π±Π»ΠΎΠ½ ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅Ρ Π²Ρ
ΠΎΠ΄ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π΄ΠΈΠ·Π°ΠΉΠ½Π° Π² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ: ΠΌΠΎΠ΄Π΅Π»Ρ Π²ΡΠ±ΠΈΡΠ°Π΅Ρ ΡΠΎΡΠΊΡ Π²Ρ
ΠΎΠ΄Π°, ΠΊΠΎΠ½ΡΡΡΡΠΈΡΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ ΠΎΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· abstract_value ΠΈ ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΎΡΠΈΠ±ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π±ΡΠΊΠ΅Π½Π΄Ρ. ΠΡΠΎΠΌΠΏΡ Π·Π°ΠΏΡΠ΅ΡΠ°Π΅Ρ LLM ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ.
Π¨Π°Π±Π»ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ staged workflow (ΠΏΠΎΡΠ°Π³ΠΎΠ²ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ): Π½Π° ΡΡΠ°Π΄ΠΈΠΈ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»Ρ Π½Π΅ Π²ΡΠ΄Π°ΡΡ ΡΠ°ΠΉΠ» ΠΎΠ±Π²ΡΠ·ΠΊΠΈ, Π° Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΡΠ°ΠΊΡΡ ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ ΠΏΠΈΡΠ΅Ρ ΠΏΠ»Π°Π½ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ; Π½Π° ΡΡΠ°Π΄ΠΈΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΌΠΎΠ΄Π΅Π»Ρ Π²ΡΠ΄Π°ΡΡ C-ΠΎΠ±Π²ΡΠ·ΠΊΡ ΠΏΠΎ ΠΏΠ»Π°Π½Ρ. Π¦ΠΈΠΊΠ»Ρ ΡΠ΅ΠΌΠΎΠ½ΡΠ° ΡΠΎΡ ΡΠ°Π½ΡΡΡ Π²Ρ ΠΎΠ΄ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° ΠΈΠ»ΠΈ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ.
Aggregate zero-initialization (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, memset) ΠΎΡΠ²Π΅ΡΠ³Π°Π΅ΡΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½Π° ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ LLM ΠΌΠΎΠ³Π»Π° Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ. ΠΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π°Π³ΡΠ΅Π³Π°ΡΠ° Π½Π΅ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠ°ΡΡΠΎ Π΄Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΡ: Frama-C/Eva ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ΅ Π½Π΅ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±Π²ΡΠ·ΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΊΠΎΠΌΠΌΡΡΠΈΡΠΎΠ²Π°ΡΡ.
ΠΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² Frama-C/Eva Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΎΡΠΈΠ±ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, Π° Π½Π΅ ΠΏΠΎΠ΄ΡΡΡΡΠΎΠΌ Π²ΡΠ΅Ρ
ΡΡΠ΅Π²ΠΎΠ³ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠ°. Evident ΡΠΎΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΡΡΡΡΡ Eva Ρ Π·Π°ΡΠ²Π»Π΅Π½Π½ΡΠΌ ΡΡΠΎΠΊΠΎΠΌ ΠΈ ΠΎΡΠΈΠ±ΠΎΡΠ½ΡΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ. ΠΡΠ»ΠΈ ΡΠ΅Π»Π΅Π²Π°Ρ ΡΡΠ΅Π²ΠΎΠ³Π° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°, Evident ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π΄ΠΎΡΡΠΈΠΆΠΈΠΌΠΎΡΡΠΈ: Β«Π±Π°Π³Π° Π½Π΅ΡΒ» ΡΠΎΠΎΠ±ΡΠ°Π΅ΡΡΡ, ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ Eva ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π΅Π΄ΠΎΡΡΠΈΠΆΠΈΠΌΠΎΡΡΡ.
ΠΠ±ΡΡΠΌ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ: ΠΎΠΊΠΎΠ»ΠΎ 22,2 KLOC Python, 0,6 KLOC shim-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² Frama-C/Linux ΠΈ 0,3 KLOC YAML-ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΠΏΡΠΎΠΌΠΏΡΠΎΠ².
ΠΠ²ΡΠΎΡΡ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ Evident Π½Π° ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² ΡΠ΄ΡΠ° Android, ΠΎΡΠ²Π΅ΡΠ°Ρ Π½Π° ΡΠ΅ΡΡΡΠ΅ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ Π²ΠΎΠΏΡΠΎΡΠ°:
RQ1 (ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ): Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ Evident Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΡΠ΅Π°Π»ΡΠ½ΡΠ΅ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΈ ΡΡΠΎ ΠΎΠ±ΡΡΡΠ½ΡΠ΅Ρ Π½Π΅ΡΠ°Π·ΡΠ΅ΡΡΠ½Π½ΡΠ΅ ΠΈ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠ΅ ΡΠ»ΡΡΠ°ΠΈ?
RQ2 (ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΊ ΠΌΠΎΠ΄Π΅Π»ΠΈ): ΠΊΠ°ΠΊ Π²ΡΠ±ΠΎΡ LLM Π²Π»ΠΈΡΠ΅Ρ Π½Π° ΠΏΠΎΠΊΡΡΡΠΈΠ΅ ΠΈ ΠΏΡΠΎΡΠΈΠ»Ρ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΏΡΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ
ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°Ρ
Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π±ΡΠΊΠ΅Π½Π΄Π°?
RQ3 (ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ ΠΌΠΎΠ΄Π΅Π»ΡΠ½ΠΎ-ΡΠ΅ΡΠ°Π΅ΠΌΠΎΠΉ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ): ΠΊΠ°ΠΊ Evident ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΡΡΡ Ρ ΡΠ΅ΠΊΡΡΠΈΠΌΠΈ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Π°ΠΌΠΈ, Π³Π΄Π΅ ΡΠΈΠ½Π°Π»ΡΠ½ΡΠΉ Π²Π΅ΡΠ΄ΠΈΠΊΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ LLM?
RQ4 (Π²Π°ΡΠΈΠ°Π½ΡΡ Π΄ΠΈΠ·Π°ΠΉΠ½Π°): ΠΊΠ°ΠΊ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΎΠ±Π²ΡΠ·ΠΊΠΈ, Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠ³ΠΎ Π²Ρ
ΠΎΠ΄Π° ΠΈ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ Π²Π»ΠΈΡΡΡ Π½Π° ΠΏΠΎΠΊΡΡΡΠΈΠ΅ ΠΈ ΠΏΡΠΎΡΠΈΠ»Ρ ΠΎΡΠΈΠ±ΠΎΠΊ?
ΠΠ°ΡΠ°ΡΠ΅Ρ: 200 ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΈΠ· BugLens, Π²ΠΊΠ»ΡΡΠ°ΡΡΠΈΡ
ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ SUTURE (126) ΠΈ CodeQL-OOB (74) Π² Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°Ρ
ΡΠ΄ΡΠ° Android. ΠΡΠ°Π»ΠΎΠ½: 40 ΡΠ΅Π°Π»ΡΠ½ΡΡ
Π±Π°Π³ΠΎΠ² ΠΈ 160 Π½Π΅-Π±Π°Π³ΠΎΠ². ΠΠ΅ΡΡΠΈΠΊΠΈ: ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΡ (ΡΡΠΌΠΌΠ° true positives ΠΈ true negatives), ΡΠΎΡΠ½ΠΎΡΡΡ, Π»ΠΎΠΆΠ½ΡΠ΅ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΡ (FP), Π»ΠΎΠΆΠ½ΠΎΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ (FN), Π½Π΅ΡΠ°Π·ΡΠ΅ΡΡΠ½Π½ΡΠ΅.
ΠΠ΅ΠΉΠ·Π»Π°ΠΉΠ½Ρ: Codex Ρ GPT-5.5 (Π°Π³Π΅Π½ΡΡΠΊΠΈΠΉ Π±Π΅ΠΉΠ·Π»Π°ΠΉΠ½ Ρ Π΄ΠΎΡΡΡΠΏΠΎΠΌ ΠΊ Π΄Π΅ΡΠ΅Π²Ρ ΡΠ΄ΡΠ°) ΠΈ BugLens Ρ o3-mini ΠΈ GPT-5.5 (ΡΠ²ΠΎΠΉ retrieval ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°). Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ΅ Evident ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ GPT-5.5 Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΎΠ±Π²ΡΠ·ΠΎΠΊ ΠΈ Frama-C 32.0 (Germanium) Π΄Π»Ρ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°.
| ΠΡΡΠΎΡΠ½ΠΈΠΊ | ΠΡΠ΅Π΄ΡΠΏΡ. | ΠΠΎΡΡ. | Π’ΠΎΡΠ½. | FP | TP | FN | ΠΠ΅ΡΠ°Π·Ρ. |
|---|---|---|---|---|---|---|---|
SUTURE | 126 | 94 | 0,75 | 25 | 39 | 0 | 7 |
CodeQL-OOB | 74 | 57 | 0,77 | 3 | 1 | 0 | 14 |
| ΠΡΠΎΠ³ΠΎ | 200 | 151 | 0,76 | 28 | 40 | 0 | 21 |
Evident Π²ΡΠ½ΠΎΡΠΈΡ Π²Π΅ΡΠ΄ΠΈΠΊΡ ΠΏΠΎ 179 ΠΈΠ· 200 ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠΉ. 151 ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ΅Π½ (ΡΠΎΡΠ½ΠΎΡΡΡ 75,5%). 28 Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΡ Π²Π΅ΡΠ΄ΠΈΠΊΡΠΎΠ² - Π»ΠΎΠΆΠ½ΡΠ΅ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΡ: Π½Π΅-Π±Π°Π³ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Evident ΠΊΠΎΠ½ΡΠ΅ΡΠ²Π°ΡΠΈΠ²Π½ΠΎ ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ΅Π²ΠΎΠΆΠ½ΡΠΌΠΈ. Π Π³Π»Π°Π²Π½ΠΎΠΌ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ΅ Evident Π½Π΅ Π΄Π°ΡΡ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π»ΠΎΠΆΠ½ΠΎΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ.
ΠΡΡΠ°ΡΠΎΡΠ½ΡΠ΅ ΡΠ»ΡΡΠ°ΠΈ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠΌΠΏΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΠΎΡΠΈΠ»Ρ ΠΎΡΠΈΠ±ΠΎΠΊ: Π²ΡΠ΅ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠ΅ Π²Π΅ΡΠ΄ΠΈΠΊΡΡ - Π»ΠΎΠΆΠ½ΡΠ΅ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΡ, Π»ΠΎΠΆΠ½ΠΎΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ Π½Π΅Ρ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π½Π΅ΡΠ΄Π°ΡΠΈ Evident ΠΊΠΎΠ½ΡΠ΅ΡΠ²Π°ΡΠΈΠ²Π½Ρ: Π½Π΅ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΠΈΠ»ΠΈ Π½Π΅ΡΠΎΡΠ½ΡΠ΅ ΡΠ»ΡΡΠ°ΠΈ ΠΎΡΡΠ°ΡΡΡΡ ΡΡΠ΅Π²ΠΎΠΆΠ½ΡΠΌΠΈ ΠΈΠ»ΠΈ Π½Π΅ΡΠ°Π·ΡΠ΅ΡΡΠ½Π½ΡΠΌΠΈ, Π° Π½Π΅ ΡΠ½ΠΈΠΌΠ°ΡΡΡΡ.
| LLM | No-bug TN | No-bug FP | Real-bug TP | Real-bug FN | ΠΠ΅ΡΠ°Π·Ρ. | Π’ΠΎΡΠ½. |
|---|---|---|---|---|---|---|
GPT-5.5 | 55 | 25 | 39 | 0 | 7 | 0,75 |
Claude Sonnet 4.6 | 47 | 24 | 37 | 0 | 18 | 0,67 |
GPT-5.4 mini | 40 | 18 | 27 | 0 | 41 | 0,53 |
GLM-5.1 | 50 | 18 | 33 | 0 | 25 | 0,66 |
ΠΡΠ±ΠΎΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π²Π»ΠΈΡΠ΅Ρ Π½Π° ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΡ ΠΈ ΠΏΠΎΠΊΡΡΡΠΈΠ΅. GPT-5.5 Π΄Π°ΡΡ Π½Π°ΠΈΠ²ΡΡΡΡΡ ΡΠΎΡΠ½ΠΎΡΡΡ (0,75) ΠΈ ΠΌΠ΅Π½ΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π½Π΅ΡΠ°Π·ΡΠ΅ΡΡΠ½Π½ΡΡ
ΡΠ»ΡΡΠ°Π΅Π². ΠΠ΅Π½Π΅Π΅ ΡΠΏΠΎΡΠΎΠ±Π½ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°ΡΡ ΠΌΠ΅Π½ΡΡΠ΅ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΡ
Π²Π΅ΡΠ΄ΠΈΠΊΡΠΎΠ² ΠΈ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ΡΠ°Π·ΡΠ΅ΡΡΠ½Π½ΡΡ
, Π½ΠΎ ΠΏΡΠΈ Π²ΡΠ΅Ρ
ΠΌΠΎΠ΄Π΅Π»ΡΡ
Π½Π΅ΡΠ΄Π°ΡΠΈ Π½Π΅ ΠΏΡΠ΅Π²ΡΠ°ΡΠ°ΡΡΡΡ Π² Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠ΅ Β«Π±Π°Π³Π° Π½Π΅ΡΒ»: ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΈΠΌΠ΅Π΅Ρ Π½ΠΎΠ»Ρ Π»ΠΎΠΆΠ½ΠΎΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ
Π½Π° ΡΡΠΎΠΌ Π΄Π°ΡΠ°ΡΠ΅ΡΠ΅.
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ GLM-5.1 (Π²Π΅Π΄ΡΡΠ΅ΠΉ ΠΎΡΠΊΡΡΡΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ, 40B Π°ΠΊΡΠΈΠ²Π½ΡΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²) ΠΏΡΠΈΠΌΠ΅ΡΠ°ΡΠ΅Π»Π΅Π½: ΡΠΎΡΠ½ΠΎΡΡΡ 0,66 ΠΈ Π½ΠΎΠ»Ρ Π»ΠΎΠΆΠ½ΠΎΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ
. ΠΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Evident Π½Π΅ ΠΏΡΠΈΠ²ΡΠ·Π°Π½ ΠΊ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΠΎΠΏΡΠΈΠ΅ΡΠ°ΡΠ½ΠΎΠΉ ΡΡΠΎΠ½ΡΠΈΡΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ: ΡΠΏΠΎΡΠΎΠ±Π½Π°Ρ ΠΎΡΠΊΡΡΡΠ°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΡΠΎΠΈΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΈΠ½ΡΡΡΡ
ΠΎΠ±Π²ΡΠ·ΠΎΠΊ.
| ΠΠΎΠ΄Ρ ΠΎΠ΄ | TP | TN | FP | FN | ΠΠ΅ΡΠ°Π·Ρ. | Π’ΠΎΡΠ½. |
|---|---|---|---|---|---|---|
GPT-5.5 + BugLens | 25 | 58 | 29 | 14 | 0 | 0,66 |
o3-mini + BugLens | 22 | 64 | 23 | 17 | 0 | 0,68 |
Codex (GPT-5.5 xhigh) | 21 | 55 | 32 | 18 | 0 | 0,60 |
| Evident | 39 | 55 | 25 | 0 | 7 | 0,75 |
ΠΠΎΠ΄Π΅Π»ΡΠ½ΠΎ-ΡΠ΅ΡΠ°Π΅ΠΌΠ°Ρ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ ΡΠ΅Π°Π»ΡΠ½ΡΠ΅ Π±Π°Π³ΠΈ Π΄Π°ΠΆΠ΅ Ρ ΡΠΈΠ»ΡΠ½ΡΠΌΠΈ ΠΌΠΎΠ΄Π΅Π»ΡΠΌΠΈ ΠΈ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΡΠ°Π±Π»ΠΎΠ½Π°ΠΌΠΈ. ΠΠ΅ΠΉΠ·Π»Π°ΠΉΠ½Ρ Π΄Π°ΡΡ 14-18 Π»ΠΎΠΆΠ½ΠΎΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ : ΡΠ΅Π°Π»ΡΠ½ΡΠ΅ Π±Π°Π³ΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° ΡΠ½ΠΈΠΌΠ°ΡΡΡΡ ΠΊΠ°ΠΊ Β«Π±Π°Π³Π° Π½Π΅ΡΒ». Π Evident LLM-ΠΎΠ±ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ ΡΠ½ΡΡΠΈΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ: Π½ΡΠΆΠ΅Π½ ΠΏΡΠΈΠ½ΡΡΠ°Ρ ΠΎΠ±Π²ΡΠ·ΠΊΠ° ΠΈ Π±ΡΠΊΠ΅Π½Π΄-ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠΉ Π½Π΅Π΄ΠΎΡΡΠΈΠΆΠΈΠΌΠΎΡΡΡ. ΠΠ° ΡΠΎΠΌ ΠΆΠ΅ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅ Evident Π΄Π°ΡΡ Π½ΠΎΠ»Ρ Π»ΠΎΠΆΠ½ΠΎΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ .
| ΠΠ°ΡΠΈΠ°Π½Ρ | ΠΠΎΡΡ. | FP | FN | ΠΠ΅ΡΠ°Π·Ρ. | Π’ΠΎΡΠ½. |
|---|---|---|---|---|---|
| ΠΠΎΠ»Π½ΡΠΉ Evident | 94 | 25 | 0 | 7 | 0,75 |
| LLM-ΡΠ΅ΡΠ°Π΅ΠΌΡΠΉ Π²Ρ ΠΎΠ΄ | 94 | 11 | 7 | 14 | 0,75 |
| ΠΠ±ΡΡΡ. Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π±Π΅Π· Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ | 97 | 18 | 6 | 5 | 0,77 |
| Rule-guided ΠΎΠ±Π²ΡΠ·ΠΊΠΈ | 29 | 17 | 0 | 80 | 0,23 |
| ΠΡΡΡΠΈΠΉ ΠΌΠΎΠ΄Π΅Π»ΡΠ½ΠΎ-ΡΠ΅ΡΠ°Π΅ΠΌΡΠΉ | 86 | 23 | 17 | 0 | 0,68 |
ΠΠ°ΡΠΈΠ°Π½ΡΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΡΡΠΎ aggregate accuracy (ΠΎΠ±ΡΠ°Ρ ΡΠΎΡΠ½ΠΎΡΡΡ) - Π½Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½Π°Ρ ΡΠ΅Π»Π΅Π²Π°Π½ΡΠ½Π°Ρ ΠΌΠ΅ΡΠ° Π΄Π»Ρ ΡΠ½ΡΡΠΈΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠΉ. Π£ΠΏΡΠΎΡΡΠ½Π½ΡΠΉ LLM-ΡΠ΅ΡΠ°Π΅ΠΌΡΠΉ Π²Ρ ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ·ΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π²Ρ ΠΎΠ΄ΠΎΠ²; ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ Π΄ΠΎΠΏΡΡΡΠΈΡΡ ΠΎΠ±Π²ΡΠ·ΠΊΠΈ, Π½Π΅ ΠΈΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠ΅ Π·Π°ΡΠ²Π»Π΅Π½Π½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅; rule-guided ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π½Π΅ΠΏΠΎΠ»Π½ΠΎ. ΠΠΎΠ»Π½Π°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΆΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ Π΄ΠΎΠ»Π΅ΠΉ ΠΎΠ±ΡΠ΅ΠΉ ΡΠΎΡΠ½ΠΎΡΡΠΈ, Π½ΠΎ ΡΡΡΡΠ°Π½ΡΠ΅Ρ Π»ΠΎΠΆΠ½ΠΎΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅, Π½Π°Π±Π»ΡΠ΄Π°Π΅ΠΌΡΠ΅ Π² Π²Π°ΡΠΈΠ°Π½ΡΠ°Ρ Π΄ΠΈΠ·Π°ΠΉΠ½Π°, ΡΠΎΡ ΡΠ°Π½ΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅Π΅ ΠΏΠΎΠΊΡΡΡΠΈΠ΅, ΡΠ΅ΠΌ rule-guided ΠΎΠ±Π²ΡΠ·ΠΊΠΈ.
ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΠΈΠΏΡ. Π’ΠΎΡΠ½ΡΠ΅ ΡΠΈΠΏΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π²Π°ΠΆΠ½Ρ, Π½ΠΎ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π΅ Π²ΠΈΠ΄Π½Ρ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ. Π Π°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ² Π²ΡΠΎΠ΄Π΅ snd_ctl_elem_value::id::index ΡΡΠ΅Π±ΡΠ΅Ρ Π΄Π²ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΡΡ lookups. ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠ°ΡΡΠΎ Π½Π΅ ΡΠ»Π΅Π΄ΡΡΡ ΡΠ°ΠΊΠΈΠΌ ΡΠ΅ΠΏΠΎΡΠΊΠ°ΠΌ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° ΠΈ ΡΠΎΡΠΌΠΈΡΡΡΡ Π²ΡΠ²ΠΎΠ΄ ΠΈΠ· ΡΠ°ΡΡΠΈΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠΈΠΏΠ΅. Evident Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ ΡΡΠΎ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΡΡΡΡ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΡΠ°ΡΡΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ: ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠ°Π·ΡΠ΅ΡΠ°Π΅Ρ ΠΏΠΎΠ»Π½ΡΡ ΡΠ΅ΠΏΠΎΡΠΊΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ ΠΏΡΠΎΡΠΈΠ² Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ Π΄Π΅ΡΠ΅Π²Π°.
ΠΠΎΠ΄-ΠΊΠ°ΠΊ-Π²ΠΈΠ΄ΠΈΡΡΡ Π½Π΅ ΡΠ°Π²Π΅Π½ ΠΊΠΎΠ΄Ρ-ΠΊΠ°ΠΊ-Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ. ΠΠΎΠ΄, Π²ΠΈΠ΄ΠΈΠΌΡΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. Π ΠΎΠ΄Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ LLM-Π±Π΅ΠΉΠ·Π»Π°ΠΉΠ½ ΡΠ°ΡΡΡΠΆΠ΄Π°Π» ΠΎ ΡΠ΅Π»ΠΈ, ΠΎΠ³ΡΠ°ΠΆΠ΄ΡΠ½Π½ΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΡΠΌ ΡΠΎΡΡΠ°Π²Π½ΡΠΌ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ, Π½ΠΎ Π² Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΠ±ΠΎΡΠΊΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠ½ΡΡΠ½ΠΊΡ Π±ΡΠ» ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ Π² ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ: Ρ ΠΎΡΠΊΠ»ΡΡΡΠ½Π½ΡΠΌ CONFIG_USE_Q6_32CH_SUPPORT Π²Π΅ΡΠΊΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡΡΡ. Π Π΅ΡΠ°ΡΡΠΈΠΉ ΡΠ°ΠΊΡ Π½Π΅ Π² ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΡ ΡΠΈΡΠ°Π΅Ρ ΠΌΠΎΠ΄Π΅Π»Ρ. Evident ΠΎΠ±Ρ ΠΎΠ΄ΠΈΡ ΡΡΠΎΡ ΠΏΡΠΎΠ±Π΅Π»: ΠΎΠ±Π²ΡΠ·ΠΊΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ ΠΏΡΠΎΡΠΈΠ² Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠ±ΠΎΡΠΊΠΈ.
ΠΠ°Π³ΡΡΠ·Π½Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΎΡ ΡΠΎΡΠ΅Π΄Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΉ. ΠΠΎΠ΄Π΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΏΡΠ°Π²Π΄ΠΎΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΠ°ΠΊΡΡ ΠΈΠ· Π΄ΡΡΠ³ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΠ΄ΡΠ° Linux. Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ LLM-Π·Π°ΠΏΡΡΠΊΠ°Ρ Π½Π° ΡΡΠ°ΡΡΡ ΡΠ΄ΡΠ°Ρ Android ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠ°ΡΡΡΠΆΠ΄Π°Π»Π° ΡΠ°ΠΊ, Π±ΡΠ΄ΡΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ-ΡΠ°Π½ΠΈΡΠΈΠ·Π°ΡΠΈΡ ΡΠΆΠ΅ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ, Ρ ΠΎΡΡ Π² Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π΅Ρ Π½Π΅Ρ. Evident Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ°ΠΊΠΈΠ΅ Π΄ΠΎΠΏΡΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡΡΡ: Π²ΡΠΏΠΎΠΌΡΠ½ΡΡΡΠΉ ΡΠ°Π½ΠΈΡΠΈΠ·Π΅Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΡΠ²ΠΈΡΡΡΡ Π»ΠΈΠ±ΠΎ ΠΊΠ°ΠΊ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π² Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌΠΎΠΌ Π΄Π΅ΡΠ΅Π²Π΅, Π»ΠΈΠ±ΠΎ ΠΊΠ°ΠΊ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° Π²Ρ ΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ ΠΎΡΠ²Π΅ΡΠ³Π°Π΅Ρ.
ΠΠ½ΡΡΡΠ΅Π½Π½ΡΡ Π½Π΅Π΄Π΅ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΡΡΡ. ΠΠΎΠ΄Π°ΡΠ° ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ Π½Π΅ Π΄Π°ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ. Evident Π½Π΅ ΡΡΡΡΠ°Π½ΡΠ΅Ρ Π½Π΅Π΄Π΅ΡΠ΅ΡΠΌΠΈΠ½ΠΈΠ·ΠΌ, Π½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅Ρ Π΅Π³ΠΎ ΡΡΡΠ΅ΠΊΡ: ΠΎΡΠΈΠ±ΠΎΡΠ½Π°Ρ ΠΈΠ»ΠΈ Π½Π΅ΠΏΠΎΠ»Π½Π°Ρ ΠΎΠ±Π²ΡΠ·ΠΊΠ° ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΠΉ Π½Π΅ΡΠ°Π·ΡΠ΅ΡΡΠ½Π½ΡΠΌ, Π° Π½Π΅ Π΄Π°ΡΡ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ΅ ΡΠ½ΡΡΠΈΠ΅.
ΠΡΠ°Π½ΠΈΡΠ° ΠΎΠ±ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΠΎΡΡΠΈ. Evident Π½Π΅ ΡΡΠ²Π΅ΡΠΆΠ΄Π°Π΅Ρ ΡΠΊΠ²ΠΎΠ·Π½ΡΡ ΠΎΠ±ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΠΎΡΡΡ (soundness) Π΄Π»Ρ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° ΡΠ΄ΡΠ°. ΠΡΠ°Π²ΠΈΠ»ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΆΠ΅: ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΠ½ΠΈΠΌΠ°Π΅ΡΡΡ, ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ Frama-C/Eva ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΎΡΠ½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π΅Π΄ΠΎΡΡΠΈΠΆΠΈΠΌΡΠΌ Π½Π° ΠΏΡΠΈΠ½ΡΡΠΎΠΉ ΠΎΠ±Π²ΡΠ·ΠΊΠ΅. ΠΠ°Π»ΠΈΠ΄Π°ΡΠΈΡ Π΄Π°ΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ Π΄ΠΎΠΏΡΡΠΊΠ°, Π° Π½Π΅ Π΄ΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΡΡΠ²ΠΎ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ. ΠΠΎΠ΄Π΅Π»ΠΈ ΡΡΠ΅Π΄Ρ ΡΠ΄ΡΠ° - ΡΠ°ΡΡΡ Π΄ΠΎΠ²Π΅ΡΠ΅Π½Π½ΠΎΠΉ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π±Π°Π·Ρ Evident, Π° Π½Π΅ LLM-Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌΡΠ΅ Π°ΡΡΠ΅ΡΠ°ΠΊΡΡ; ΠΎΠ½ΠΈ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ ΠΊΠ°ΠΊ ΡΠ²Π½ΡΠ΅ C-Π°ΡΡΠ΅ΡΠ°ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ½ΡΠΏΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ, ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ Π·Π°ΠΌΠ΅Π½ΡΡΡ.
Π Π°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΠ΅ Ρ ΡΡΡΡΠΎΠΌ ΡΡΠΎΠΈΠΌΠΎΡΡΠΈ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ Β«Π±Π°Π³Π° Π½Π΅ΡΒ» ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΎ, Π²ΡΠ±ΠΎΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π²Π»ΠΈΡΠ΅Ρ Π»ΠΈΡΡ Π½Π° ΡΠΎ, ΠΊΠ°ΠΊ ΡΠ°ΡΡΠΎ Evident ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΏΡΠΈΠ½ΡΡΡΡ ΠΎΠ±Π²ΡΠ·ΠΊΡ. ΠΡΠΎ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΡΡ: ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅ΡΡΠ²ΡΠ΅ ΠΈΠ»ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π»Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΡ ΠΎΠ΄Π°, Π° Π½Π΅ΡΠ°Π·ΡΠ΅ΡΡΠ½Π½ΡΠ΅ ΡΠ»ΡΡΠ°ΠΈ ΡΡΠΊΠ°Π»ΠΈΡΠΎΠ²Π°ΡΡ ΠΊ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΠ»ΡΠ½ΡΠΌ ΠΌΠΎΠ΄Π΅Π»ΡΠΌ.
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ. ΠΡΠ΅Π½ΠΊΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°ΠΌΠΈ ΡΠ΄ΡΠ° Android. Π ΠΌΠ΅Π½Π΅Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ ΠΊΠΎΠ΄ΠΎΠ²ΡΡ Π±Π°Π·Π°Ρ Evident ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠΎΠΈΡΡ ΠΌΠ΅Π½ΡΡΠ΅ ΠΏΡΠΈΠ½ΡΡΡΡ ΠΎΠ±Π²ΡΠ·ΠΎΠΊ. Π¦Π΅Π»Ρ Π΄ΠΈΠ·Π°ΠΉΠ½Π° - Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΡΠΎΠΊΠ°Ρ ΡΠΎΡΠ½ΠΎΡΡΡ, Π½ΠΎ ΠΈ ΠΏΡΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠ΄Π°Ρ ΠΊΠ°ΠΊ Π½Π΅ΡΠ°Π·ΡΠ΅ΡΡΠ½Π½ΡΡ ΠΈΠ»ΠΈ ΡΡΠ΅Π²ΠΎΠΆΠ½ΡΡ ΡΠ»ΡΡΠ°Π΅Π², Π° Π½Π΅ ΠΊΠ°ΠΊ ΠΌΠΎΠ΄Π΅Π»ΡΠ½ΠΎ-ΡΠ΅ΡΠ°Π΅ΠΌΡΡ ΡΠ½ΡΡΠΈΠΉ.
ΠΠ°Π΄ΡΠΆΠ½ΠΎΡΡΡ ΡΠ°ΡΡΡΠΆΠ΄Π΅Π½ΠΈΠΉ LLM Π΄Π»Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ: ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΡΡΠΎ LLM ΠΎΡΡΠ°ΡΡΡΡ Π½Π΅Π½Π°Π΄ΡΠΆΠ½ΡΠΌΠΈ ΠΊΠ°ΠΊ ΠΏΡΡΠΌΡΠ΅ Π΄Π΅ΡΠ΅ΠΊΡΠΎΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ. Evident ΡΠ°Π·Π΄Π΅Π»ΡΠ΅Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΡΡΡ ΠΈ Π°Π²ΡΠΎΡΠΈΡΠ΅Ρ: ΠΌΠΎΠ΄Π΅Π»Ρ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ, Π½ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Β«Π±Π°Π³Π° Π½Π΅ΡΒ» ΡΡΠ΅Π±ΡΠ΅Ρ Π±ΡΠΊΠ΅Π½Π΄-Π°Π½Π°Π»ΠΈΠ·Π°.
LLM-ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠΉ: Π½Π΅Π΄Π°Π²Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ Π»ΠΎΠΆΠ½ΡΡ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΠΉ, Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π΄Π»Ρ ΠΌΠΎΠ΄Π΅Π»ΡΠ½ΠΎ-ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄ΡΠ½Π½ΠΎΠ³ΠΎ Π²Π΅ΡΠ΄ΠΈΠΊΡΠ°. Evident ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π² ΠΎΠ±Π²ΡΠ·ΠΊΡ, Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΉ Π±ΡΠΊΠ΅Π½Π΄.
ΠΡΠΈΠ²ΡΠ·ΠΊΠ° LLM ΠΊ Π°Π½Π°Π»ΠΈΠ·Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ: LLM4PFA ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΡΠ΅Π²ΡΡ
ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ, LLMDFA - LLM-Π½Π°ΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ ΡΠ΅Π·ΡΠΌΠ΅ ΠΏΠΎΡΠΎΠΊΠ° Π΄Π°Π½Π½ΡΡ
Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΎΠΉ ΠΏΡΡΠ΅ΠΉ. Evident ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΡΡΡ ΠΈΠ΄Π΅Ρ ΠΊ ΡΠ½ΡΡΠΈΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠΉ, Π³Π΄Π΅ LLM-Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΡΠ°ΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½ ΠΏΠ΅ΡΠ΅Π΄ Π±ΡΠΊΠ΅Π½Π΄-ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ.
ΠΠ½Π°Π»ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π·Π°ΡΠ΅ΠΌ ΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, ΡΡΠΎΠ±Ρ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΠΎ ΠΏΠΎΡΡΠΈ ΡΠ°Π²ΡΠΎΠ»ΠΎΠ³ΠΈΡ: ΡΡΠ΄ΠΈΡΡ ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π°Π½Π°Π»ΠΈΠ·, Π° Π½Π΅ Π΄ΠΎΠ³Π°Π΄ΠΊΠ° ΠΎ ΠΊΠΎΠ΄Π΅. ΠΠΎ Π½ΡΠ½Π΅ΡΠ½Π΅Π΅ ΡΠ²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ·ΡΠΊΠΎΠ²ΡΠΌΠΈ ΠΌΠΎΠ΄Π΅Π»ΡΠΌΠΈ Π»Π΅Π³ΠΊΠΎ ΡΠ°Π·ΠΌΡΠ²Π°Π΅Ρ ΡΡΡ Π³ΡΠ°Π½ΠΈΡΡ. Π‘ΡΠ°ΡΡΡ ΠΈ ΡΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΠΎ ΡΠΎΠΌ, Π³Π΄Π΅ ΠΌΠ΅ΡΡΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² ΡΠ°Π·Π±ΠΎΡΠ΅ Π±Π°Π³ΠΎΠ², ΡΡΠΎΠ±Ρ ΡΡΠ° ΠΏΡΠΎΡΡΠ°Ρ ΠΈΡΡΠΈΠ½Π° ΠΎΡΡΠ°Π²Π°Π»Π°ΡΡ Π²Π΅ΡΠ½ΠΎΠΉ.
ΠΡΠ²Π΅Ρ Π°Π²ΡΠΎΡΠΎΠ² ΠΏΡΠΎΡΡ: ΠΏΡΡΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΡΡΡΠΎΠΈΡ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ½Π°ΡΠ΅ ΡΡΡΠ΄Π½ΠΎ Π΄ΠΎΠ±ΡΡΡ. Evident ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΡΡΠΎ Π½Π΅ ΠΎΠ΄Π½ΠΈ Π»ΠΈΡΡ ΡΠ»ΠΎΠ²Π°: Π² Π½Π°ΡΡΠΎΡΡΠΈΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°Ρ ΡΠ΄ΡΠ° Android ΠΌΠΎΠ΄Π΅Π»Ρ Π²ΠΏΡΠ°Π²Π΅ Π²Π·ΡΡΡ Π½Π° ΡΠ΅Π±Ρ Π±ΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎ ΡΠ±ΠΎΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΎ ΡΡΠ΄ΠΈΡΡ ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΡΡΠ°ΡΡΡΡ Π·Π° Π°Π½Π°Π»ΠΈΠ·ΠΎΠΌ.
ΠΡΠ»ΠΈ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΊΡΠ°ΡΠΈΠ²ΠΎ ΠΎΠ±ΡΡΡΠ½ΠΈΠ»Π°, ΠΏΠΎΡΠ΅ΠΌΡ Π±Π°Π³Π° Π½Π΅Ρ, - ΡΡΠΎ Π΅ΡΡ Π½Π΅ Π΄ΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΡΡΠ²ΠΎ.
Π Π°Π½Π°Π»ΠΈΠ·Π΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΎΠΏΠ°ΡΠ½Π΅Π΅ Π²ΡΠ΅Π³ΠΎ Π½Π΅ Π»ΠΎΠΆΠ½Π°Ρ ΡΡΠ΅Π²ΠΎΠ³Π°, Π° ΠΏΡΠ΅ΠΆΠ΄Π΅Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π·Π°ΠΊΡΡΡΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅. ΠΠΎΡΡΠΎΠΌΡ Π²ΡΠ²ΠΎΠ΄ Π°Π³Π΅Π½ΡΠ° Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π°ΡΡΡΡ Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΎΠΌ JetBrains IDE: ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π°Π½Π°Π»ΠΈΠ·Π°, Π·Π°ΠΏΡΡΠΊΠΎΠΌ, ΡΠ΅ΡΡΠΎΠΌ, ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΠΈΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, Π° Π½Π΅ ΠΏΡΠ°Π²Π΄ΠΎΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΌ ΡΠ΅ΠΊΡΡΠΎΠΌ LLM. Evident ΡΠΎΡΠΌΡΠ»ΠΈΡΡΠ΅Ρ ΡΠΎΡ ΠΆΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏ Π΄Π»Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°: ΠΌΠΎΠ΄Π΅Π»Ρ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ, Π½ΠΎ ΡΠΈΠ½Π°Π»ΡΠ½ΡΠΉ Π²Π΅ΡΠ΄ΠΈΠΊΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΉ Π±ΡΠΊΠ΅Π½Π΄. Veai ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΡΡΠΎΡ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΠΊ Π°Π³Π΅Π½ΡΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅: ΠΊΠ°ΠΆΠ΄ΡΠΉ Π²ΡΠ²ΠΎΠ΄ Π°Π³Π΅Π½ΡΠ° ΠΎΠΏΠΈΡΠ°Π΅ΡΡΡ Π½Π° ΡΠ°ΠΊΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π° Π½Π΅ Π½Π° ΡΠ΅ΠΊΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ.
ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Veai Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ arXiv:2606.15122. ΠΠ΅ΡΠ²ΠΎΠΈΡΡΠΎΡΠ½ΠΈΠΊ (Π°Π½Π³Π».): arxiv.org/abs/2606.15122.