[論文レビュー] The application of artificial intelligence in software engineering: a review challenging conventional wisdom
この論文は、1975年から2017年までのソフトウェア工学(SE)ライフサイクル全体にわたり、人工知能(AI)の統合をレビューし、要件、テスト、保守などの段階で150以上のAI駆動型手法を特定した。本研究は、AI分野とSE段階の間の重複を分析することで、従来の常識に疑問を呈し、現在の実践の再評価とAI-SE統合における変革的イノベーションの必要性を提唱する。
The field of artificial intelligence (AI) is witnessing a recent upsurge in research, tools development, and deployment of applications. Multiple software companies are shifting their focus to developing intelligent systems; and many others are deploying AI paradigms to their existing processes. In parallel, the academic research community is injecting AI paradigms to provide solutions to traditional engineering problems. Similarly, AI has evidently been proved useful to software engineering (SE). When one observes the SE phases (requirements, design, development, testing, release, and maintenance), it becomes clear that multiple AI paradigms (such as neural networks, machine learning, knowledge-based systems, natural language processing) could be applied to improve the process and eliminate many of the major challenges that the SE field has been facing. This survey chapter is a review of the most commonplace methods of AI applied to SE. The review covers methods between years 1975-2017, for the requirements phase, 46 major AI-driven methods are found, 19 for design, 15 for development, 68 for testing, and 15 for release and maintenance. Furthermore, the purpose of this chapter is threefold; firstly, to answer the following questions: is there sufficient intelligence in the SE lifecycle? What does applying AI to SE entail? Secondly, to measure, formulize, and evaluate the overlap of SE phases and AI disciplines. Lastly, this chapter aims to provide serious questions to challenging the current conventional wisdom (i.e., status quo) of the state-of-the-art, craft a call for action, and to redefine the path forward.
研究の動機と目的
- ソフトウェア工学ライフサイクルに十分な知能が内蔵されているかどうかを評価すること。
- AI分野とSE段階の間の重なりを測定・形式化・評価すること。
- AI-SE研究および実務における一般的な仮定を問い直し、現在のトレンドの再評価を促すこと。
- AIがソフトウェア工学に統合される将来の方向性を再定義するための批判的基盤を提供すること。
- 要件、設計、開発、テスト、リリース、保守の各段階におけるAI駆動型ソリューションにおけるギャップと機会を特定すること。
提案手法
- 1975年から2017年までのソフトウェア工学におけるAI応用の体系的レビュー。特にニューラルネットワーク、機械学習、知識ベースシステム、自然言語処理(NLP)といった確立されたAIパラダイムに焦点を当てる。
- SE段階ごとのAI手法の分類と定量的カウント:要件が46、設計が19、開発が15、テストが68、リリースおよび保守が15。
- AI分野とSEライフサイクル段階の間の概念的および技術的重なりを分析し、統合の深さと整合性を評価する。
- AI手法が従来のSE課題を解決するためにどれほど成熟し、適用可能であるかを評価するための構造化されたフレームワークの使用。
- 研究結果を批判的に統合し、現在のAI-SE研究およびツール開発に埋め込まれた前提を問い直す。
- 先行研究の知見を統合し、特にarXiv:1611.09934などの先行研究との重複を考慮することで、研究結果を文脈づける。
実験結果
リサーチクエスチョン
- RQ1ソフトウェア工学ライフサイクルに、AI統合を正当化するのに十分な知能が埋め込まれているか?
- RQ2AIがソフトウェア工学に統合される実際の意味合いは、異なる段階でどのように現れるのか?
- RQ3AI分野とソフトウェア工学段階の間の重なりはどれほど広範であり、これによりツール開発および研究にどのような含意があるのか?
- RQ4現在のAI-SE実務の背後にある仮定は何か?そして最近の進展を踏まえると、それらはまだ有効であると言えるか?
- RQ5AIがSEに統合されている現在の状況をどのように再評価すれば、将来のイノベーションを促進し、停滞を避けることができるか?
主な発見
- SEライフサイクル全体で合計150以上のAI駆動型手法が同定され、そのうち最多はテスト分野(68件)、次いで要件(46件)、リリースおよび保守(15件)であった。
- 特に要件およびテスト分野において、機械学習およびNLPといったAI分野とSE段階との間で顕著な重なりが存在する。
- 本研究は、AIの応用が広範にわたっている一方で、多くの場合、コアなSEプロセスとの統合が不十分または表面的であることが明らかになった。
- AIがSEに自然に適合するという従来の常識が疑問視され、多くの応用は変革的ではなく、むしろ段階的改善にとどまっている。
- AI-SEにおける標準化されたフレームワークや評価指標の欠如により、研究およびツール開発に一貫性が欠けている。
- 本論文は、孤立したAI機能を既存ツールに組み込むのではなく、より包括的で理論的根拠に基づいた、統合的なAI-SEシステムへのパラダイムシフトを提唱する。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。