InfoQ ホームページ Static Analysis に関するすべてのコンテンツ
-
GitHub、Swiftのコードスキャンとセキュリティアドバイザリーサポートを発表
GitHubはSwiftのコードスキャンサポートをベータ版で開始し、脆弱性モニターDependabotの機能を拡張するためにSwiftのセキュリティアドバイザリをアドバイザリ・データベースに含めることを発表した。
-
大規模コードベースを効率的に処理するInferのAndroid用新デッドロック検出ツール
ロンドン大学カレッジとFacebookの研究者らが共同研究により、AndroidのJavaコード用のデッドロック検出ツール(deadlock detector)を新たに開発し、オープンソースの静的解析ツールであるInferの一部として公開した。この新しいアナライザは、CIパイプラインに統合するために特別に設計されたインクリメンタルなアプローチにより、大規模なコードベースを効率的に処理することができる。
-
静的アナライザRudraがRustクレート内に200件のメモリ安全上の問題を検出
ジョージア工科大学で開発されたRudraは、Rustプログラム内の潜在的なメモリ安全性のバグをレポートするスタティックアナライザだ。Rustパッケージレジストリ全体のスキャンに使用されて、264件の新たなメモリ安全性バグを検出した。
-
JetBrainsがKotlinの新コンパイラK2、Kotlin for WebAssemblyなどを発表
先日のKotlin 2021 PremierイベントでJetBrainsは、新しい高速KotlinコンパイラK2、WebAssemblyのサポート、Kotlin Symbol Processor、新しいコードカバレッジプラグイン、静的解析の改善など、大きな発表をいくつも行った。
-
FacebookのMariana Trenchが、開発者によるAndroidアプリとJavaアプリの脆弱性発見を支援
最近Mariana Trench(MT)がFacebookによってオープンソース化された。MTは開発者がAndroidアプリケーションとJavaアプリケーションのセキュリティとプライバシーのバグを特定して防止するのを支援することを目的としたものだ。
-
Infer#によりFacebookのInfer Static AnalyzerがC#と.NETに使えるようになった
Microsoftは、Infer#を使用して、Facebook Inferの手続き間の静的分析機能を提供することにより、.NETエコシステム内で利用できる静的アナライザーの選択肢を広げる。
-
GitHubコードスキャンはベータ版終了
1年前、GitHubは、Semmle QLクエリ言語を備えたセマンティックコード分析エンジンのメーカーであるSemmleの買収を発表した。数か月のベータ版を経て、GitHubは現在、すべてのパブリックリポジトリとプライベートリポジトリで新しいCodeQLベースのコードスキャン機能が利用可能になったことを発表している。
-
Uber、不要コードを自動的にクリーンアップするツールをオープンソースとして提供
Uberは、失効した機能フラグ(feature flag)によって発生する不要なコードを自動的にクリーンアップする、同社のツールPiranhaをオープンソースとして公開した。Piranhaはパイプライン内での動作が可能で、クリーンアップ対象となる不要コードを継続的に検索する。現時点ではJava、Swift、Objective-Cをサポートしている。
-
C#用静的解析ツールRoslynator.Analyzersで500以上の方法によるコード改善が可能に
Roslynator.Analyzersパッケージの新バージョンである2.3.1では、500を越える分析とリファクタリング、修正が可能である。RoslynatorはC#コードの静的分析に、オープンソースのRoslyn.NET Compiler Platformを使用して、コード改善のためのヒントとアクションをIDEに表示する。
-
Microsoftはコードのセキュリティを検証するツールApplication Inspectorをリリースした
最近のMicrosoftにのブログ投稿で、開発者がソリューションのセキュリティ脆弱性を検出するオープンソースツールが発表された。ツールはMicrosoft Application Inspectorと呼ばれ、GitHubから入手できる。組織が市場投入までの時間を短縮しようとすると、ソフトウェアの複雑さと、十分に吟味されていないオープンソースコンポーネントの利用により、見落としが生じる可能性がある。Application Inspectorは、サードパーティーライブラリで使われている悪意のあるコードを認識する。
-
.NET CoreのPure属性
Pure属性が.NETのバージョン4に追加された。これは開発者が他のコードからの副作用のないコードを区別するのに役立つCode Contractsイニシアチブの一部である。Code Contractsプロジェクトが終了した後も、Pure属性は.NET Coreで活躍し続けている。
-
フェイスブックがRacerDをオープンソースに - Javaの競合状態を検出
フェイスブックのオープンソースの静的解析ツールであるInferが、RacerDによるJavaコード競合状態検出を追加して公開された。
-
Facebookの新言語ALは静的プログラム解析を簡単化する
ALは抽象構文木に関する推論を行うためのシンプルな宣言型言語だ。これを使うことで、Facebook Inferの静的解析を拡張することができる。
-
デッドコードは取り除かなければならない
デッドコードは、見つけて、取り除く必要がある。デッドコードを残しておくと、プログラマの理解と行動を妨げることがあり、コードが実行されて、重大な問題を引き起こすリスクもある。 デッドコードの削除は、技術的な問題ではない。それは考え方と文化の問題だ。
-
コード品質の測定と改善
InfoQはBoris Modylevsky氏にインタビューして,コード品質を測定することの重要性,その測定結果を品質改善に利用する方法,継続的インテグレーションへの静的コード解析の統合,テストカバレッジとテストの自動化,統合型コード解析とテストカバレッジを継続的インテグレーションと組み合わせることのメリットについて聞いた。