Intel ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» ControlFlag 1.2, инструмСнт для выявлСния Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΉ Π² исходных тСкстах

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

Новый выпуск ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»Π΅Π½ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ выявлСния Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΉ ΠΈ обучСния Π½Π° основС Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… шаблонов ΠΊΠΎΠ΄Π° для языка Π‘++. Π’ ΠΏΡ€ΠΎΡˆΠ»Ρ‹Ρ… вСрсиях подобная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π±Ρ‹Π»Π° обСспСчСна для языков C ΠΈ PHP. БистСма ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для опрСдСлСния Π² ΠΊΠΎΠ΄Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π²ΠΈΠ΄ΠΎΠ² ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΠΎΡ‚ опрСдСлСния ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΎΠΊ ΠΈ Π½Π΅Π²Π΅Ρ€Π½ΠΎΠ³ΠΎ сочСтания Ρ‚ΠΈΠΏΠΎΠ², Π΄ΠΎ выявлСния Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΉ Π² условных выраТСниях «if» ΠΈ ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ значСния NULL Π² указатСлях. БистСма обучаСтся ΠΏΡƒΡ‚Ρ‘ΠΌ построСния статистичСской ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π³ΠΎΡΡ массива ΠΊΠΎΠ΄Π° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° языках C, C++ ΠΈ PHP, ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π² GitHub ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Ρ… рСпозиториях.

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

Intel ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» ControlFlag 1.2, инструмСнт для выявлСния Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΉ Π² исходных тСкстах


Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru