論文の概要: How Maintainable is Proficient Code? A Case Study of Three PyPI Libraries
- arxiv url: http://arxiv.org/abs/2410.05683v2
- Date: Thu, 10 Oct 2024 08:50:59 GMT
- ステータス: 処理完了
- システム内更新日: 2024-11-01 17:09:37.138940
- Title: How Maintainable is Proficient Code? A Case Study of Three PyPI Libraries
- Title(参考訳): 有能なコードはどの程度維持可能か? : 3つのPyPIライブラリを事例として
- Authors: Indira Febriyanti, Youmei Fan, Kazumasa Shimari, Kenichi Matsumoto, Raula Gaikovina Kula,
- Abstract要約: ファイル内の有能なコードのリスクレベルについて検討する。
リスクの高い高度に熟練したコードのいくつかの例を特定します。
この研究は、開発者が有能なコードが将来のコードメンテナンス活動に有害かもしれないシナリオを特定するのに役立ちます。
- 参考スコア(独自算出の注目度): 3.0105723746073
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Python is very popular because it can be used for a wider audience of developers, data scientists, machine learning experts and so on. Like other programming languages, there are beginner to advanced levels of writing Python code. However, like all software, code constantly needs to be maintained as bugs and the need for new features emerge. Although the Zen of Python states that "Simple is better than complex," we hypothesize that more elegant and proficient code might be harder for the developer to maintain. To study this relationship between the understanding of code maintainability and code proficiency, we present an exploratory study into the complexity of Python code on three Python libraries. Specifically, we investigate the risk level of proficient code inside a file. As a starting point, we mined and collected the proficiency of code from three PyPI libraries totaling 3,003 files. We identified several instances of high proficient code that was also high risk, with examples being simple list comprehensions, 'enumerate' calls, generator expressions, simple dictionary comprehensions, and the 'super' function. Our early examples revealed that most code-proficient development presented a low maintainability risk, yet there are some cases where proficient code is also risky to maintenance. We envision that the study should help developers identify scenarios where and when using proficient code might be detrimental to future code maintenance activities.
- Abstract(参考訳): Pythonは非常に人気があるのは、開発者やデータサイエンティスト、機械学習の専門家など、広く使用することができるからだ。
他のプログラミング言語と同様に、Pythonコードの記述には先進的なレベルがある。
しかし、他のソフトウェアと同様に、コードは常にバグとして維持され、新しい機能の必要性が生まれます。
PythonのZen氏は"Simpleは複雑よりも優れている"と述べているが、よりエレガントで熟練したコードは、開発者がメンテナンスするのが難しいかもしれないと仮定している。
コード保守性とコード習熟度の関係を明らかにするため,3つのPythonライブラリ上でのPythonコードの複雑さに関する探索的研究を行った。
具体的には,ファイル内の有能なコードのリスクレベルについて検討する。
出発点として,3つのPyPIライブラリから3,003ファイルのコードをマイニング,収集した。
また, 単純なリスト理解, 列挙型呼び出し, ジェネレータ表現, 単純な辞書理解, スーパー関数など, 高いリスクが伴う高能率コードのいくつかの例を同定した。
初期の例では、ほとんどのコード習熟開発は保守性の低いリスクを示していましたが、熟練したコードもメンテナンスにリスクがあるケースもあります。
この研究は、開発者が有能なコードを使用することが将来のコードメンテナンス活動に有害なシナリオを特定するのに役立つと期待している。
関連論文リスト
- 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) - Towards Identifying Code Proficiency through the Analysis of Python Textbooks [7.381102801726683]
目的は、開発者がソースコードの一部を理解する必要がある熟練度を測定することである。
専門家の意見や開発者調査に大きく依存した以前の試みは、かなりの相違を招いた。
本稿では,Python プログラミング教科書の体系的解析を通じて,Python の能力レベルを同定する手法を提案する。
論文 参考訳(メタデータ) (2024-08-05T06:37:10Z) - A Comprehensive Guide to Combining R and Python code for Data Science, Machine Learning and Reinforcement Learning [42.350737545269105]
機械学習、ディープラーニング、強化学習プロジェクトを構築するために、PythonのScikit-learn、pytorch、OpenAIのジムライブラリを簡単に実行する方法を示します。
論文 参考訳(メタデータ) (2024-07-19T23:01:48Z) - Automatic Generation of Python Programs Using Context-Free Grammars [0.1227734309612871]
TinyPy Generatorは、文脈自由文法を使ってランダムなPythonプログラムを生成するツールである。
私たちのシステムは、さまざまなレベルの複雑さを持つコードを生成するために、カスタムプロダクションルールを使用します。
TinyPy Generatorは機械学習の分野で有用であり、Python言語モデルをトレーニングするための大量のPythonコードを生成することができる。
論文 参考訳(メタデータ) (2024-03-11T08:25:52Z) - Causal-learn: Causal Discovery in Python [53.17423883919072]
因果発見は、観測データから因果関係を明らかにすることを目的としている。
$textitcausal-learn$は因果発見のためのオープンソースのPythonライブラリである。
論文 参考訳(メタデータ) (2023-07-31T05:00:35Z) - Code Execution with Pre-trained Language Models [88.04688617516827]
コードインテリジェンスのトレーニング済みモデルのほとんどは実行トレースを無視しており、ソースコードと構文構造のみに依存している。
我々は,大規模かつ現実的なPythonデータセットとコード実行タスクを作成するために,突然変異に基づくデータ拡張手法を開発した。
次に、コード実行事前学習とカリキュラム学習を活用して意味理解を強化するトランスフォーマーモデルであるCodeExecutorを提案する。
論文 参考訳(メタデータ) (2023-05-08T10:00:05Z) - Repairing Bugs in Python Assignments Using Large Language Models [9.973714032271708]
本稿では,プログラム代入のためのAPRシステムを構築するために,コード上で訓練された大規模言語モデルを提案する。
本システムでは,複数モーダルプロンプト,反復クエリ,テストケースベースの数ショット選択,プログラムチャンキングを組み合わせることで,構文的および意味的誤りを解消することができる。
我々は,286の実際の学生プログラム上でMMAPRを評価し,最新のPython構文修復エンジン,BIFI,最新のPython意味修復エンジンを組み合わせたベースラインであるRefactoryと比較した。
論文 参考訳(メタデータ) (2022-09-29T15:41:17Z) - PyGOD: A Python Library for Graph Outlier Detection [56.33769221859135]
PyGODは、グラフデータの外れ値を検出するオープンソースライブラリである。
外れ値検出のための主要なグラフベースのメソッドを幅広くサポートしています。
PyGODはBSD 2-Clauseライセンスの下でhttps://pygod.orgとPython Package Index (PyPI)でリリースされている。
論文 参考訳(メタデータ) (2022-04-26T06:15:21Z) - ReACC: A Retrieval-Augmented Code Completion Framework [53.49707123661763]
本稿では,語彙のコピーと類似したセマンティクスを持つコード参照の両方を検索により活用する検索拡張コード補完フレームワークを提案する。
我々は,Python および Java プログラミング言語のコード補完タスクにおけるアプローチを評価し,CodeXGLUE ベンチマークで最先端のパフォーマンスを実現する。
論文 参考訳(メタデータ) (2022-03-15T08:25:08Z) - fastai: A Layered API for Deep Learning [1.7223564681760164]
fastaiは、実践者に高度なコンポーネントを提供するディープラーニングライブラリである。
これは研究者に、新しいアプローチを構築するために混在し、マッチできる低レベルのコンポーネントを提供する。
論文 参考訳(メタデータ) (2020-02-11T21:16:48Z) - OPFython: A Python-Inspired Optimum-Path Forest Classifier [68.8204255655161]
本稿では,OPFythonと表記されるPythonベースのOptimum-Path Forestフレームワークを提案する。
OPFythonはPythonベースのライブラリなので、C言語よりもフレンドリーな環境とプロトタイピングの作業スペースを提供する。
論文 参考訳(メタデータ) (2020-01-28T15:46:19Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。