静的コード解析ツールはバグや脆弱性をどの程度検出できるのでしょうか? 前回、FindBugsでバグだらけのWebアプリケーションを解析してみましたが、今回はSonarQubeで解析してみました。 検証内容 バグだらけのWebアプリケーション(EasyBuggy 1.3.3)が、現在実装済みのバグや脆弱性は以下の80種類です。 障害 デッドロック (Java) デッドロック (SQL) 完了しないプロセスの待機 無限ループ メモリリーク (Javaヒープ領域) メモリリーク (Permanent領域) メモリリーク (Cヒープ領域) ネットワークソケットリーク データベースコネクションリーク ファイルディスクリプタリーク スレッドリーク 文字化け 整数オーバーフロー 丸め誤差 打ち切り誤差 情報落ち 脆弱性 XSS (クロスサイトスクリプティング) SQLインジェクション LDAPインジェク
![[実験] 静的コード解析ツールはどの程度バグや脆弱性を検出できるのか? ~ SonarQube編 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/bc8fad140f8d029055ea400714c4f36d90190f2d/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fqiita-user-contents.imgix.net%252Fhttps%25253A%25252F%25252Fcdn.qiita.com%25252Fassets%25252Fpublic%25252Farticle-ogp-background-afbab5eb44e0b055cce1258705637a91.png%253Fixlib%253Drb-4.0.0%2526w%253D1200%2526blend64%253DaHR0cHM6Ly9xaWl0YS11c2VyLXByb2ZpbGUtaW1hZ2VzLmltZ2l4Lm5ldC9odHRwcyUzQSUyRiUyRnFpaXRhLWltYWdlLXN0b3JlLnMzLmFwLW5vcnRoZWFzdC0xLmFtYXpvbmF3cy5jb20lMkYwJTJGNDM4NjklMkZwcm9maWxlLWltYWdlcyUyRjE1NzEyOTgwNTg_aXhsaWI9cmItNC4wLjAmYXI9MSUzQTEmZml0PWNyb3AmbWFzaz1lbGxpcHNlJmZtPXBuZzMyJnM9NGE5NDg2ZjViNjdlNTAzN2I5YzRjZjFkYjVjODk4NzE%2526blend-x%253D120%2526blend-y%253D467%2526blend-w%253D82%2526blend-h%253D82%2526blend-mode%253Dnormal%2526s%253D0edbea5a9a79ec4910f7c80f2a86a443%3Fixlib%3Drb-4.0.0%26w%3D1200%26fm%3Djpg%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk2MCZoPTMyNCZ0eHQ9JTVCJUU1JUFFJTlGJUU5JUE4JTkzJTVEJTIwJUU5JTlEJTk5JUU3JTlBJTg0JUUzJTgyJUIzJUUzJTgzJUJDJUUzJTgzJTg5JUU4JUE3JUEzJUU2JTlFJTkwJUUzJTgzJTg0JUUzJTgzJUJDJUUzJTgzJUFCJUUzJTgxJUFGJUUzJTgxJUE5JUUzJTgxJUFFJUU3JUE4JThCJUU1JUJBJUE2JUUzJTgzJTkwJUUzJTgyJUIwJUUzJTgyJTg0JUU4JTg0JTg2JUU1JUJDJUIxJUU2JTgwJUE3JUUzJTgyJTkyJUU2JUE0JTlDJUU1JTg3JUJBJUUzJTgxJUE3JUUzJTgxJThEJUUzJTgyJThCJUUzJTgxJUFFJUUzJTgxJThCJUVGJUJDJTlGJTIwJUVGJUJEJTlFJTIwU29uYXJRdWJlJUU3JUI3JUE4JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMxRTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LXBhZD0wJnM9ZTBjYWE3NGM2YmZhOTAzNjIwMTlmYzQ0MjY5MDA4M2U%26mark-x%3D120%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTgzOCZoPTU4JnR4dD0lNDB0YW11cmFfXzI0NiZ0eHQtY29sb3I9JTIzMUUyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1wYWQ9MCZzPTRiNzQ2OTU4MDk2MTU4Njg3YjMwMDhkZDUyYjI1MDk2%26blend-x%3D242%26blend-y%3D454%26blend-w%3D838%26blend-h%3D46%26blend-fit%3Dcrop%26blend-crop%3Dleft%252Cbottom%26blend-mode%3Dnormal%26txt64%3DaW4g5qCq5byP5Lya56S-6YeO5p2R57eP5ZCI56CU56m25omA%26txt-x%3D242%26txt-y%3D539%26txt-width%3D838%26txt-clip%3Dend%252Cellipsis%26txt-color%3D%25231E2121%26txt-font%3DHiragino%2520Sans%2520W6%26txt-size%3D28%26s%3Dbb8f505b9423259e974a69a0fba31c7b)