AIコーディングと「コード補完」「ローコード」「静的解析」の違いとは?生成AIで変わるコーディング【前編】

コーディング支援ツールはAI技術を活用することで、どのように進化してきたのか。「コード補完」「ローコード」「静的解析」などとの違いを踏まえて解説する。

2024年07月12日 07時00分 公開
[Chris TozziTechTarget]

 人工知能(AI)技術を用いたコーディング支援ツール(以下、AIコーディングツール)の利用が開発現場で広がりつつある。コーディングを支援するツールはAI技術を取り入れることで顕著な進化を遂げているが、実は全く新しい技術というわけではない。

 AIコーディングツールは、その前身となったツールから何が進化したのか。以前から使われてきた「インテリジェントなコード補完」「ローコード開発」「静的解析」などと比べてみよう。

AIコーディングと「コード補完」「ローコード」「静的解析」の違い

会員登録(無料)が必要です

 AIコーディングツールは、AI技術を用いてソースコードを自動生成したり、修正内容を提案したり、エラーを特定したりするものだ。では、AIコーディングツール登場以前の「コーディング支援」とはどのようなものだったのか。

1.インテリジェントなコード補完

 インテリジェントなコード補完は、プログラム作成時、書きかけのソースコードを完成させるまで支援する機能だ。簡単な構文ミスやスペルミスの修正もできる。例として、OS「Linux」のシェル(コンピュータに対する命令を解釈するプログラム)である「Bash」に付随するコマンドライン補完機能が挙げられる。

 「Ubuntu」といったLinuxディストリビューション(配布用パッケージ)でコマンド操作ツール「端末」(ターミナル)を開き、文字を幾つか入力してタブキーを押すと、入力した文字に基づいたコマンドの候補リストが表示される。

 以下は、ターミナルに「bas」という文字を入力した場合の例だ。

chris@chris-Gazelle:~$ bas
base32   base64   basename   basenc   bash   bashbug
chris@chris-Gazelle:~$ bas

 ユーザーがコマンドを誤って入力した場合はその誤りを検出し、正しいコマンドの候補を提供する。以下は「bash」と間違えて「bassh」と入力してしまった場合の例だ。

chris@chris-Gazelle:~$ bassh
Command 'bassh' not found, did you mean:
     command 'bash' from deb bash (5.1-6ubuntu1)
     command 'bssh' from deb avahi-ui-utils (0.8-5ubuntu5)
Try: sudo apt install <deb name>chris@chris-Gazelle:~$

 インテリジェントなコード補完の起源は20世紀後半にさかのぼる。当時のプログラマーは、簡単なスペルチェック機能を用いてソースコードの入力ミスを確認し、ソースコードの精度を高めていた。

 一方で、インテリジェントなコード補完は、ソースコードの生成や修正の提案ができるわけではない。その役割はあくまで、入力されたソースコードが事前に設定したルールやデータと合致するかどうかを確認するにとどまる。

2.ローコード開発

 ローコード開発ツールを使うと、手動でのコーディングをほとんどせずにアプリケーションを作成できる。ローコード開発ツールとは、最低限のソースコード記述による開発を可能にするツールだ。インテリジェントなコード補完のようにソースコード行ごとの補完と検証をするものではなく、プログラム全体を作成するのがローコード開発ツールの目的だ。非技術者でもソフトウェア開発ができるというメリットがある。

 ユーザーは、ローコード開発ツール内で提供されるソースコードモジュールを組み合わせることでアプリケーションを作成できる。既存のモジュールを組み合わせることでしかアプリケーションを構築できないため、一般的な開発ツールと比較して狭い範囲の用途にか使えない。

 「SQL」「FOCUS」などの「第4世代言語」(エンドユーザーが自ら開発できるよう設計されたプログラミング言語)の登場後に、ローコード開発ツールが誕生したと言われている。

3.静的解析

 静的解析ツールは、ソースコードに潜むセキュリティの脆弱(ぜいじゃく)性やバグ、その他の不具合を自動的に解析して見つけ出すことができるツールだ。

 静的解析ツールはほとんどの場合、ソースコードの完成後に使用される。これは、ソースコードを書く段階から使用されるAIコーディングツールとは対照的と言える。

 従来、静的解析はルールベースで解析していたため、AI技術を使うことはほぼなかった。しかし、セキュリティベンダーSnykの「DeepCode AI」など、静的解析と機械学習の概念を組み合わせ、リアルタイムにソースコードを解析できるようにしたツールも登場し始めている。


 後編は、主要なAIコーディングツールを紹介する。

TechTarget発 先取りITトレンド

米国TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。

Copyright © ITmedia, Inc. All Rights Reserved.

新着ホワイトペーパー

製品資料 アイティメディア広告企画

DevOps実践で起こり得る課題を解消し、DXを実現する方法とは?

DXを実現するためには、開発チームと運用チームのスムーズな連携が必要になる。これを実現する手法がDevOps だが、実践に当たってはいくつかの課題が存在する。本資料ではこの課題と解決策について解説する。

製品資料 株式会社SHIFT

5分で診断、正しいソフトウェアテストベンダーを選ぶための比較チェックシート

ソフトウェアテストをアウトソースするに当たってはベンダー選びが重要だが、自社に合うテストベンダーをどう選べばよいか分からない、という声もよく聞かれる。そこで、失敗しないベンダー選定の基準を、チェックシート形式で解説する。

製品資料 株式会社SHIFT

品質課題が残る我流テスト、第三者によるテストを導入したらどう変わる?

ソフトウェア開発ではテストを、開発エンジニアが自ら担当するシーンが散見される。ただ、専門知見を持たない人材が我流でテストしていては、開発品質の担保が難しくなる。この問題の解決には第三者によるテストが重要だ。

製品資料 株式会社SHIFT

課題山積のソフトウェア開発、テストを外注すべき5つの理由とは

DXの推進が叫ばれる中、その中核を担うソフトウェア開発の現場では、IT人材不足をはじめとする5つの課題が顕在化している。それらを解消し、ソフトウェアの品質を高める方法として注目されるのが、ソフトウェアテストの外注だ。

技術文書・技術解説 アイティメディア広告企画

クラウド活用の価値最大化のために、クラウドネイティブをどう取り入れる?

クラウドサービスは今や広く普及し、クリティカルなシステム領域のクラウド移行も進んでいる。このクラウドの利点を徹底的に活用する仕組みが「クラウドネイティブ」だ。この仕組みを、企業はどう取り入れるべきなのか。

From Informa TechTarget

お知らせ
米国TechTarget Inc.とInforma Techデジタル事業が業務提携したことが発表されました。TechTargetジャパンは従来どおり、アイティメディア(株)が運営を継続します。これからも日本企業のIT選定に役立つ情報を提供してまいります。

ITmedia マーケティング新着記事

news130.jpg

Cookieを超える「マルチリターゲティング」 広告効果に及ぼす影響は?
Cookieレスの課題解決の鍵となる「マルチリターゲティング」を題材に、AI技術によるROI向...

news040.png

「マーケティングオートメーション」 国内売れ筋TOP10(2025年4月)
今週は、マーケティングオートメーション(MA)ツールの売れ筋TOP10を紹介します。

news253.jpg

「AIエージェント」はデジタルマーケティングをどう高度化するのか
電通デジタルはAIを活用したマーケティングソリューションブランド「∞AI」の大型アップ...