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製品導入事例などを厳選してお届けします。

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

news087.jpg

α世代はテレビタレントを信用しない では、何を好むのか?
2010年以降に生まれたα世代は、親世代が子どもだった頃と比べると、ブランドに対して成...

news063.jpg

「コスパを意識」「節約とぜいたくのメリハリ」が3割増 ここ数年で消費者意識はどう変わったか?
デロイト トーマツが全国の20〜79歳の男女5000人を対象に実施した「国内消費者意識・購買...

news089.png

マーケティング担当者の47.2%が「PRも実践している」と回答
大手PR会社ベクトル子会社のキーワードマーケティングは、自社でマーケティング施策を実...