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.

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

news103.jpg

なぜ料理の失敗写真がパッケージに? クノールが展開する「ジレニアル世代」向けキャンペーンの真意
調味料ブランドのKnorr(クノール)は季節限定のホリデーマーケティングキャンペーン「#E...

news160.jpg

業界トップランナーが語る「イベントDX」 リアルもオンラインも、もっと変われる
コロナ禍を経て、イベントの在り方は大きく変わった。データを駆使してイベントの体験価...

news210.png

SEOを強化するサイトの9割超が表示速度を重視 で、対策にいくら投資している?
Reproが「Webサイトの表示速度改善についての実態調査 2024」レポートを公開。表示速度改...