論文の概要: The Prevalence of Code Smells in Machine Learning projects
- arxiv url: http://arxiv.org/abs/2103.04146v1
- Date: Sat, 6 Mar 2021 16:01:54 GMT
- ステータス: 処理完了
- システム内更新日: 2021-03-10 07:32:17.313726
- Title: The Prevalence of Code Smells in Machine Learning projects
- Title(参考訳): 機械学習プロジェクトにおけるコードの臭いの流行
- Authors: Bart van Oort, Lu\'is Cruz, Maur\'icio Aniche, Arie van Deursen
- Abstract要約: 静的コード解析は、ソースコードの潜在的な欠陥、機会、共通のコーディング標準の違反を見つけるのに使うことができる。
74のオープンソースプロジェクトのデータセットを集め、依存関係をインストールしてPylintを実行しました。
その結果、検出されたすべてのコードの臭いのトップ20に到達した。
- 参考スコア(独自算出の注目度): 9.722159563454436
- License: http://creativecommons.org/licenses/by-sa/4.0/
- Abstract: Artificial Intelligence (AI) and Machine Learning (ML) are pervasive in the
current computer science landscape. Yet, there still exists a lack of software
engineering experience and best practices in this field. One such best
practice, static code analysis, can be used to find code smells, i.e.,
(potential) defects in the source code, refactoring opportunities, and
violations of common coding standards. Our research set out to discover the
most prevalent code smells in ML projects. We gathered a dataset of 74
open-source ML projects, installed their dependencies and ran Pylint on them.
This resulted in a top 20 of all detected code smells, per category. Manual
analysis of these smells mainly showed that code duplication is widespread and
that the PEP8 convention for identifier naming style may not always be
applicable to ML code due to its resemblance with mathematical notation. More
interestingly, however, we found several major obstructions to the
maintainability and reproducibility of ML projects, primarily related to the
dependency management of Python projects. We also found that Pylint cannot
reliably check for correct usage of imported dependencies, including prominent
ML libraries such as PyTorch.
- Abstract(参考訳): 人工知能(AI)と機械学習(ML)は、現在のコンピュータ科学の世界に広く浸透している。
しかし、この分野ではまだソフトウェアエンジニアリングの経験とベストプラクティスが不足しています。
そのようなベストプラクティスの1つ、静的コード解析は、ソースコードの(潜在的な)欠陥、リファクタリングの機会、一般的なコーディング標準の違反を見つけるのに使うことができる。
私たちの研究は、MLプロジェクトで最も多いコードの臭いを発見しました。
74のオープンソースMLプロジェクトのデータセットを収集し、依存関係をインストールし、Pylintを実行しました。
その結果、検出されたすべてのコードの臭いのトップ20に到達した。
これらの臭いを手動で分析した結果、コード重複は広く、識別命名スタイルのPEP8規則は、数学的表記法に類似しているため、必ずしもMLコードに適用できないことが示された。
しかし、さらに興味深いことに、主にPythonプロジェクトの依存性管理に関連するMLプロジェクトの保守性と再現性の障害がいくつかありました。
また、PyTorchのような著名なMLライブラリを含むインポートされた依存関係の正しい使用をPylintが確実にチェックできないことも分かりました。
関連論文リスト
- CRUXEval-X: A Benchmark for Multilingual Code Reasoning, Understanding and Execution [50.7413285637879]
CRUXEVAL-Xコード推論ベンチマークには19のプログラミング言語が含まれている。
各言語に対して少なくとも600人の被験者で構成され、合計19Kのコンテンツ一貫性テストがある。
Pythonでのみトレーニングされたモデルでさえ、他の言語で34.4%のPass@1を達成することができる。
論文 参考訳(メタデータ) (2024-08-23T11:43:00Z) - What's Wrong with Your Code Generated by Large Language Models? An Extensive Study [80.18342600996601]
大規模言語モデル(LLM)は、標準解に比べて短いがより複雑なコードを生成する。
3つのカテゴリと12のサブカテゴリを含む誤ったコードに対するバグの分類を開発し、一般的なバグタイプに対する根本原因を分析する。
そこで本研究では,LLMがバグタイプやコンパイラフィードバックに基づいて生成したコードを批判し,修正することのできる,自己批判を導入した新たな学習自由反復手法を提案する。
論文 参考訳(メタデータ) (2024-07-08T17:27:17Z) - VersiCode: Towards Version-controllable Code Generation [58.82709231906735]
大規模言語モデル(LLM)は、コード生成において大きな進歩を遂げていますが、既存の研究は、ソフトウェア開発の動的な性質を説明できません。
バージョン別コード補完(VSCC)とバージョン別コードマイグレーション(VACM)の2つの新しいタスクを提案する。
VersiCodeについて広範な評価を行い、バージョン管理可能なコード生成が確かに重要な課題であることを示した。
論文 参考訳(メタデータ) (2024-06-11T16:15:06Z) - Detecting Refactoring Commits in Machine Learning Python Projects: A Machine Learning-Based Approach [3.000496428347787]
MLRefScannerは、ML固有のものと一般的な操作の両方でコミットを特定する。
本研究は,多言語および技術的領域にわたるプログラム検出におけるML駆動型アプローチの可能性を明らかにする。
論文 参考訳(メタデータ) (2024-04-09T18:46:56Z) - InfiBench: Evaluating the Question-Answering Capabilities of Code Large Language Models [56.723509505549536]
InfiBenchは、私たちの知識に合ったコードのための、最初の大規模フリーフォーム質問回答(QA)ベンチマークです。
慎重に選択された234の高品質なStack Overflow質問で構成されており、15のプログラミング言語にまたがっている。
InfiBench上で100以上の最新のコードLLMに対して,系統的評価を行い,新しい知見と洞察に富んだ結果を得た。
論文 参考訳(メタデータ) (2024-03-11T02:06:30Z) - Assured LLM-Based Software Engineering [51.003878077888686]
この記事では,2024年4月15日にポルトガルのリスボンで開催された International Workshop on Interpretability, Robustness, and Benchmarking in Neural Software Engineering で,Mark Harman 氏による基調講演の内容の概要を紹介する。
論文 参考訳(メタデータ) (2024-02-06T20:38:46Z) - Julearn: an easy-to-use library for leakage-free evaluation and
inspection of ML models [0.23301643766310373]
我々は、Julearnの設計の背景にある理論的根拠と、その中核となる特徴を提示し、以前に公表された研究プロジェクトの3つの例を示す。
Julearnは、最も一般的なMLの落とし穴に対して、ガードを組み込んだ使いやすい環境を提供することで、機械学習の世界への参入を単純化することを目指している。
論文 参考訳(メタデータ) (2023-10-19T08:21:12Z) - CodeTF: One-stop Transformer Library for State-of-the-art Code LLM [72.1638273937025]
我々は、最先端のCode LLMとコードインテリジェンスのためのオープンソースのTransformerベースのライブラリであるCodeTFを紹介する。
我々のライブラリは、事前訓練されたコードLLMモデルと人気のあるコードベンチマークのコレクションをサポートします。
CodeTFが機械学習/生成AIとソフトウェア工学のギャップを埋められることを願っている。
論文 参考訳(メタデータ) (2023-05-31T05:24:48Z) - The Good, the Bad, and the Missing: Neural Code Generation for Machine
Learning Tasks [11.837851107416588]
本稿では,既存のニューラルコード生成モデルが機械学習プログラミングタスクに与える影響について検討する。
我々は6つの最先端のニューラルコード生成モデルを選択し、その性能を4つの広く使われているMLライブラリで評価する。
私たちの経験的研究は、MLタスクにおけるニューラルネットワーク生成モデルの優れた、悪い、欠落した側面を明らかにします。
論文 参考訳(メタデータ) (2023-05-16T00:52:02Z) - Prevalence of Code Smells in Reinforcement Learning Projects [1.7218973692320518]
強化学習(Reinforcement Learning, RL)は、大規模および安全クリティカルシステムを含む多くの領域で、アプリケーションの振る舞いを学習し、適応するために、ますます使われている。
プラグインプレイRLライブラリの出現により、その適用性はさらに向上し、ユーザによるRLアルゴリズムの統合が可能になった。
しかしながら、これらのコードの大部分はRLエンジニアによって開発されていないため、結果として、バグ、準最適性能、保守性、RLベースのプロジェクトにおける進化問題をもたらすプログラム品質が低下する可能性があることに留意する。
論文 参考訳(メタデータ) (2023-03-17T20:25:13Z) - Code Smells for Machine Learning Applications [6.759291241573661]
機械学習アプリケーションにはコード品質に関するガイドラインが欠けている。
本稿では,さまざまなソースから収集された22種類の機械学習固有のコードの臭いを抽出し,識別する。
それぞれの匂いを、その状況、長期にわたる潜在的な問題、そして提案された解決策の説明で特定する。
論文 参考訳(メタデータ) (2022-03-25T16:23:02Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。