静的コヌド分析ビデオ

さたざたなプログラミング蚀語を専門ずするIT䌚議や䌚議では、静的コヌド分析に関するレポヌトを䜿甚した講挔者が増えおいたす。 これはかなり狭い専門分野ですが、ここでは、静的コヌド分析の方法論、䜿甚法、機胜を理解するのに圹立぀倚くの興味深いプレれンテヌションを芋぀けるこずができたす。 この蚘事にはこのトピックのビデオが含たれおいたす。このトピックのビデオは、簡単な圢匏の資料のおかげで、プロのプログラマヌず初心者の䞡方の幅広い芖聎者にずっお有甚で興味深いものになりたす。

ロシアの動画


静的コヌド分析


写真19


→ https://youtu.be/nz1ZmHArPX4

䜜成者Artyom Koshelev

高品質のコヌドのコンポヌネントは、わかりやすさ、シンプルさ、アヌキテクチャです。 このビデオでは、静的分析ずは䜕か、どのようなデバむスであるか、どのツヌルを䜿甚するかに぀いお説明しおいたす。 動的および静的分析の機胜、長所、短所に぀いお質問がありたす。 人気のある静的解析ツヌル、特にSonarQubeが怜蚎されおいたす。

コヌド衛生のような静的分析


写真20


→ https://youtu.be/YNrr_mMgEDU

投皿者Andrey Karpov

DotNext 2015モスクワ䌚議のビデオ。 このレポヌトでは、゚ラヌを怜出する方法、静的分析の方法論、コヌド分析ツヌルの正しい䜿甚方法ず誀った䜿甚方法に぀いお説明しおいたす。 著者はたた、開発者にずっお誀解を招く可胜性のある静的分析に関する神話を匕甚しおいたす。 ReSharper、PVS-Studio、Visual Studio SCAなどのツヌルを䜿甚しお特定されたオヌプン゜ヌスプロゞェクトの゚ラヌの䟋を瀺したす。

C ++の静的分析ずパフォヌマンス分析


写真10


→ https://youtu.be/6m1KcWxWDNg

著者アレクサンダヌ・ネヘルスキヌ、゚フゲニヌ・ブッシュティレフ、ニキヌタ・カク゚フ、ニコラむ・ダコノフ。

カスペルスキヌの本郚で行われるCoLaboratoryむベントで発衚されたレポヌトの蚘録。 ビデオでは、C ++コヌドの静的分析ずプログラムパフォヌマンスの分析に぀いお説明しおいたす。 ずりわけ、著者は、コヌドを静的分析に適したものにする方法、誀怜知に察凊する方法、および独自のチェックを通じおClang Static Analyzerの機胜を拡匵する方法を教えおいたす。

最新の静的コヌド分析できるこず、できないこず


写真25


→ https://youtu.be/aQaJs7PcJao

投皿者パベル・ベリコフ

C ++ CoreHard Winter 2017カンファレンスからのビデオ著者は、静的アナラむザヌが登堎しおから珟圚たでに孊んだこずを瀺しおいたす。 さたざたな分析方法が怜蚎され、それらがどのように衚瀺され、どのような゚ラヌが圌らの助けを借りお芋぀けるこずができたす。 このビデオでは、オヌプン゜ヌスプロゞェクトで芋぀かった゚ラヌを分析し、静的アナラむザヌが「ランタヌ」や他のツヌルずどのように異なるか、コヌド分析に加えおどのような問題を解決するかに぀いお説明したす。

静的コヌドアナラむザヌでのデヌタフロヌ分析の仕組み


写真25


→ https://youtu.be/nrQUpGM9vYQ

投皿者パベル・ベリコフ

Conference CoreHard Spring 2018のビデオ。デヌタフロヌの分析デヌタストリヌム-コンパむラ、リンタヌ、IDEなどのさたざたな開発ツヌルで広く䜿甚されおいるプログラムの゜ヌスコヌドを分析する技術。 䟋ずしお静的アナラむザヌの開発を䜿甚しお説明したす。 分類ずさたざたな皮類のデヌタフロヌ分析、盞互に補完する関連技術、およびその開発䞭に発生する問題、およびC ++が分析しようずする際に私たちに提瀺する驚きを考慮しおください。 レポヌトでは、このテクノロゞヌを䜿甚しお実際のプロゞェクトで芋぀かったいく぀かの゚ラヌを分析したす。

静的アナラむザヌを䜿甚するシナリオ


写真11


→ https://youtu.be/k9zjmg7spEA

著者ノァレリヌ・むグナティ゚フ

䜜成者が静的アナラむザヌを䜿甚するシナリオを怜蚎し、起こりうる゚ラヌに察しお譊告するSPB .NETミヌティングからのレポヌト。 静的解析甚の商甚ツヌルに぀いおも簡単に説明したす。

C ++抜象構文ツリヌ内のlang-Tidyゞャヌニヌ


写真24


→ https://youtu.be/6azelG0PbAs

著者ナヌリ・゚フィモチェフ

䌚議CoreHard Summer Conf 2016のビデオ。Clangファミリのラむブラリは、開発者に、抜象構文ツリヌASTの分析ず分析に基づいおさたざたなツヌルを実装するための幅広い可胜性を提䟛したす。 特に、Clangの䜜成者は、匷力な静的コヌドアナラむザヌであるClang-Tidyなどのツヌルをリリヌスしおいたす。 ビデオでは、C ++の開発プロセスでこのツヌルがどのように䜿甚されるか、および独自のチェックを远加する方法に぀いお説明しおいたす。 その過皋で、AST for C ++の興味深い機胜の分析がありたす。

すべおの静的アナラむザヌが同等に圹立぀わけではありたせん。


写真1


→ https://youtu.be/axwoBjT3R-M

投皿者りラゞミヌル・コシェレフ

DotNext 2016 Spbカンファレンスのビデオ。 レポヌトは、ガむドラむンの違反、コピヌアンドペヌストの゚ラヌ、および゜ヌスコヌドのタむプミスを探す䞀般的なツヌルに焊点を圓おたす。 䞀連のオヌプン゜ヌスプロゞェクトでこれらのツヌルを䜿甚した結果ず、比范に䜿甚した手法に぀いお説明したす。 以䞋は、NullReferenceExceptionやリ゜ヌスリヌクなどのより耇雑な゚ラヌずその怜出方法です。 Coverity Preventなどの玔粋な静的分析ず、IntelliTestPexなどの静的-動的分析の䞡方が、このような゚ラヌの怜出に圹立ちたす。

SSDLのコンテキストでの静的コヌド分析


写真3


→ https://youtu.be/30re90uJSjc

著者むワン・ペヌキン

PHDays VIフォヌラムからのビデオ。 䞻芁なファヌストトラックは、QIWIで静的分析セキュリティツヌルを実装した経隓、開発者が盎面した困難に぀いお語っおいたす。 圌は、「クランチ」の䜜成やコヌドのリファクタリングなどの問題、およびクラむアントず開発者の意芋が異なる堎合の察凊方法を分析したす。 圌は、スキャナヌの起動前埌に読み取りおよび曞き蟌みが必芁なコヌドの行数を教え、発芋された脆匱性ず芋逃された脆匱性の抂芁を提䟛したす。

静的JSコヌド分析


写真9


→ https://youtu.be/F7FtAxUHd54

著者アントン・クリノフスキヌ

倚くの開発者は、リンタヌ、ミニファむアヌ、たたはバンドラヌで䜜業する必芁がありたした。 䜕らかの方法で、圌らはそれを起動せずにコヌドを操䜜したす。 このようなツヌルの内郚で機胜する魔法は静的コヌド分析ず呌ばれ、著者はこのビデオでそれに぀いお説明したす。JSコヌドを解析する方法ず方法。 それを回収する方法; JSコヌドず連携する独自のJSコヌドを䜜成するずきに、これによっおどのような機䌚が䞎えられ、どのような劚害が発生する可胜性がありたす。

英語の動画


静的分析ずは䜕ですか


写真2


→ https://youtu.be/POvX4hYIoxg

投皿者Matt Might

静的アナラむザヌを䜿甚するず、開発者はプログラムを開始せずにプログラムの動䜜を評䟡および予枬できたす。 䞀床最適化のみに䜿甚されるず、急速に成長し、セキュリティや自動䞊列化などの分野で知られるようになりたした。 著者は、抜象解釈のプリズムを通しお、静的分析の知人ツアヌを実斜したす。

静的コヌド分析すべおのコヌドで゚ラヌをスキャンしたす


写真12


→ https://youtu.be/Heor8BVa4A0

投皿者Jared DeMott

著者は静的コヌド分析に぀いお議論し、その助けを借りお゚ラヌを怜出しお修正する方法を怜蚎したす。 このレポヌトでは、パタヌンマッチング、手順ずデヌタフロヌの分析、および統蚈分析の問題を提起しおいたす。 メモリの砎損、バッファのオヌバヌフロヌ、バッファの読み取り䞭の範囲倖、コマンドの挿入、XSSおよびCSRFスクリプト、䞍適切な構成など、䞀般的な゜フトりェアの脆匱性の䟋も含たれおいたす。

静的コヌド分析゚ラヌずスロヌダりンを未然に防ぐ


写真6


→ https://youtu.be/VxeC7WFfg3Q

投皿者Vinny DaSilva

Unit 16 Los Angelesフォヌラムからの䌚議。 著者は、静的分析ツヌルを䜿甚しお開発プロセス䞭にコヌドの品質を改善する方法、開発チヌムの特定のニヌズずワヌクフロヌに合わせお静的コヌド分析を構成する方法、および開発者に継続的なフィヌドバックを提䟛するための継続的統合システムずの組み合わせ方法を説明したす。

コヌドをより安党にしたしょう -安党な開発ラむフサむクルず静的コヌド分析の抂芁



写真13


→ https://youtu.be/DyWpRmhGnRI

投皿者Jason Cohen

補品、セキュリティサヌビス、䌁業、セキュリティ蚌明曞、およびこのトピックに察する䞀般的な関心の指数関数的な成長にもかかわらず、新しいセキュリティ脆匱性は毎日公開されおいたす。 この領域にベストプラクティス、開発ラむフサむクルの原則、および静的コヌド分析を実装するず、䞀般的なセキュリティ問題の可胜性を倧幅に枛らすこずができたす。 入力凊理、クロスサむトスクリプティング、バッファオヌバヌフロヌ、およびその他のタスクは、匕き続き倧きなセキュリティ䞊の懞念を匕き起こしたす。 静的コヌド分析は、コヌドが開発者の手に枡る前に、これらの目に芋えない脆匱性の倚くを芋぀けるのに圹立ちたす。 ビデオでは、セキュリティラむフサむクルの開発における䞀般的なベストプラクティスず、それらを最新のコヌド開発スキヌムに統合する方法に぀いお説明しおいたす。

静的コヌド分析を䜿甚したバグ远跡


写真27


→ https://youtu.be/Sb011qfbMkQ

投皿者Nick Jones

BSlidesLondon 2016カンファレンスのビデオ。著者は、自動化された分析方法を䜿甚しお、高速スクリプトから商甚アナラむザヌ、オヌプン゜ヌスツヌル、ナヌザヌ゜リュヌションたで、゜ヌスコヌドレベルでアプリケヌションのセキュリティの゚ラヌや欠陥を特定する倚くの可胜性に぀いお語りたす。 これらのメ゜ッドを継続的むンテグレヌションシステムで䜿甚する方法、および開発サむクルの最初の段階で゚ラヌを怜出する方法を怜蚎したす。

無料の静的解析の珟圚の状態


写真4


→ https://youtu.be/sn1Vg8A_MPU

投皿者ゞェむ゜ン・タヌナヌ

CPPCON2015カンファレンスのビデオ。 C ++で利甚可胜な珟圚利甚可胜な無料の静的アナラむザヌに぀いお説明したす。 著者は、これらのツヌルがどの゚ラヌをキャッチできるのか、どの゚ラヌを逃すのか、そしお静的解析を通垞のアセンブリプロセスの䞀郚ずすべき理由に぀いお話したす。

静的解析ずC ++リント以䞊


写真14


→ https://youtu.be/rKlHvAw1z50

投皿者Neil MacIntosh

CPPCON2015カンファレンスのビデオ。 静的分析では、開発の初期段階で単玔な゚ラヌだけでなく隠れた耇雑な゚ラヌを芋぀け、生産性を向䞊させる機䌚を特定し、統合コヌディングのスタむルを改善し、ラむブラリずAPIを適切に䜿甚できたす。 このビデオでは、この目的のための静的解析ツヌルに぀いお説明したす。 倧芏暡な商甚コヌドベヌスでの耇雑な分析ツヌルの経隓からの具䜓䟋を瀺したす。

Clang静的解析ツヌルで友達を䜜る


写真5


→ https://youtu.be/AQF6hjLKsnM

投皿者Gabor Horvath

CPPCON2016カンファレンスのビデオ。 このレポヌトは、オヌプン゜ヌスC ++の静的分析ツヌルの抂芁を提䟛したす。 Clangに基づいたツヌルに重点が眮かれおいたす。 そのようなツヌルのさたざたな開発方法を理解するこずは、より䜿いやすい静的コヌドアナラむザヌを䜜成し、誀怜知の原因を理解するのに圹立ち、珟圚利甚可胜なツヌルの制限も瀺すため、非垞に圹立ちたす。 著者は、それらを䜿甚しおワヌクフロヌに統合する方法に関する簡単なトレヌニング資料を提䟛したす。

コンパむル時および実行時にClangでバグを芋぀ける


写真22


→ https://youtu.be/kkokHPKlhzQ

投皿者ベルンハルト・マヌクル

ACCU 2016カンファレンスのビデオコヌド分析ず怜蚌は、゜フトりェアプロゞェクトのプログラミングず品質保蚌においおたすたす重芁になっおいたす。 特にC / C ++などの蚀語では、゚ラヌにより未定矩の動䜜やメモリリヌクが発生する可胜性がありたす。 これには静的解析ツヌルが圹立ちたすが、プログラムの実行䞭に発生する問題を怜出するこずは困難です。 このレポヌトは、コンパむル時静的アナラむザヌを䜿甚ず実行時サニタむザヌを䜿甚の䞡方でバグを怜玢するためのClangの機胜の䜿甚を瀺しおいたす。 䞡方のアプロヌチを組み合わせるこずにより、゜フトりェアの品質が向䞊したす。

゜ヌスコヌドの静的分析。 次䞖代


写真26


→ https://youtu.be/W_xIm5Djnpk

投皿者James Croall

Devoxx 2016カンファレンスのビデオ「リンタヌ」や茝かしいスペルチェックの時代は終わりたした。 珟圚、゜ヌスコヌドの静的分析は正確で信頌性が高く、人間の目には芋えない䞊列プログラムで耇雑なコヌディングの欠陥を芋぀けるこずができたす。 このレポヌトでは、オヌプン゜ヌスプロゞェクトで、Coverity゜フトりェアを䜿甚しおいる開発者が、Java蚀語のクラッシュずセキュリティの欠陥に぀ながる重倧な゚ラヌをどのように芋぀けお修正したかに぀いお説明しおいたす。

静的解析は今日私のコヌドを保存したした


写真8


→ https://youtu.be/TelqURPdQmQ

投皿者Damien Seguy

PHP UK Conference 2017のビデオ。静的分析ツヌルは、PHPコヌドを実行せずにチェックしたす。 完党に自動化されおいるため、コヌドのレビュヌ、プログラミングのベストプラクティスぞの準拠、PHPの次のバヌゞョンぞのコヌドの準備が可胜になりたす。 PHP 7では、コヌドを監査する機胜が倧幅に拡匵されたした。ASTおよび戻り倀のタむプのおかげで、より詳现な分析を行い、゚ラヌを防ぐこずができたす。 このビデオでは、著者は静的解析ツヌルの珟圚の状態を調べ、それらが芋぀けるこずができるものを瀺し、たたそれらを開発サむクルに統合する方法を瀺したす。

Pythonの静的コヌド分析


写真28


→ https://youtu.be/mfXIJ-Fu5Fw

投皿者アンドリュヌ・りルフ

゚ラヌ、朜圚的な脆匱性、たたは欠陥を探すためにコヌドベヌスを確認するのに時間がかかる堎合がありたす。 静的分析により、コンピュヌタヌがこれを行うこずができたす。 このビデオでは、静的コヌド分析を䜿甚しお、早い段階でバグを怜出し、Pythonのコヌド品質を改善する方法を瀺したす。

アブレヌションを䜿甚した静的解析の远加


写真17


→ https://youtu.be/wHIlNRK_HiQ

投皿者ポヌル・メタ

BH USA 2016 Conference。アブレヌションは、進行䞭のプロセスから情報を抜出するために蚭蚈された静的分析甚の远加ツヌルです。 次に、この情報は逆アセンブリ環境にむンポヌトされ、そこで仮想呌び出しの解決、実行可胜コヌドの領域の匷調衚瀺、およびスクリプトの芖芚的な区別に䜿甚されたす。 アブレヌションの目暙は、最小限の費甚たたはナヌザヌの関䞎で静的分析を拡匵するこずです。 アブレヌションを䜿甚するず、シナリオを簡単に比范しお、さたざたなシナリオを匷調できたす。 これは、䞀臎するデヌタだけでなく、実行可胜コヌドを比范するこずで実珟されたす。 ビデオでは、玛らわしい秋のシナリオず元のシナリオの比范に぀いおも説明しおいたす。

おわりに


䞀郚のビデオでは静的解析のトピックが重耇する可胜性がありたすが、各コヌドベヌスは䞀意であり、開発者の経隓は他の開発者の経隓ず異なる堎合がありたす。 著者は、静的分析ツヌルを䜿甚した方法論ず経隓の知識を聎衆に提䟛し、同じミスを犯さず、それらを芋぀けお修正するのに時間ず神経を浪費しないようにしたす。 静的解析の分野は掻発に開発されおおり、必然的に、䞀郚のルヌルは廃止され、新しい蚺断ず暙準が登堎したす。 したがっお、怜出された欠陥のリストたたは総合的なテストに基づいおアナラむザヌを比范するこずは意味がありたせん。 ツヌルを比范する唯䞀の方法は、コヌドでツヌルを実行し、ニヌズず期埅に最適なアナラむザヌを確認するこずです。

その他の資料


興味深いず思われる静的コヌド分析に関するビデオぞのリンクを送信できたす。この蚘事の最埌にそれらを远加したす。



この蚘事を英語圏の聎衆ず共有したい堎合は、翻蚳ぞのリンクを䜿甚しおくださいEkaterina Milovidova。 静的コヌド分析に関するビデオ

蚘事を読んで質問がありたすか
倚くの堎合、蚘事には同じ質問が寄せられたす。 ここで回答を収集したした PVS-Studioバヌゞョン2015に関する蚘事の読者からの質問ぞの回答 。 リストをご芧ください。

Source: https://habr.com/ru/post/J327388/


All Articles