論文の概要: An Exploratory Eye Tracking Study on How Developers Classify and Debug Python Code in Different Paradigms
- arxiv url: http://arxiv.org/abs/2511.07612v1
- Date: Wed, 12 Nov 2025 01:07:14 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-11-12 20:17:03.40004
- Title: An Exploratory Eye Tracking Study on How Developers Classify and Debug Python Code in Different Paradigms
- Title(参考訳): 異なるパラダイムにおけるPythonコードの分類とデバッグ方法に関する探索的アイトラッキング調査
- Authors: Samuel W. Flint, Jigyasa Chauhan, Niloofar Mansoor, Bonita Sharif, Robert Dyer,
- Abstract要約: 本研究では,Pythonのコードにおいて,開発者が支配的なパラダイムをいかに分類するかを検討する。
機能的パラダイムと手続き的パラダイムのラベル付けには混乱がありますが、オブジェクト指向ではありません。
主流のパラダイムを変えることは、コードのデバッグ能力に影響を与えなかったが、開発者は関数型コードの信頼性を低く評価した。
- 参考スコア(独自算出の注目度): 3.7780249574083804
- License: http://creativecommons.org/licenses/by-nc-sa/4.0/
- Abstract: Modern programming languages, such as Python, support language features from several paradigms, such as object-oriented, procedural, and functional. Research has shown that code written in some paradigms can be harder to comprehend, but to date, no research has looked at which paradigm-specific language features impact comprehension. To this end, this study seeks to uncover which paradigm-specific features impactcomprehension and debugging of code or how multi-paradigm code might affect a developer's ability to do so. We present an exploratory empirical eye-tracking study to investigate 1) how developers classify the predominant paradigm in Python code and 2) how the paradigm affects their ability to debug Python code. The goal is to uncover if specific language features are looked at more often while classifying and debugging code with a predominant paradigm. Twenty-nine developers (primarily students) were recruited for the study and were each given four classification and four debugging tasks in Python. Eye movements were recorded during all the tasks. The results indicate confusion in labeling Functional and Procedural paradigms, but not Object-Oriented. The code with predominantly functional paradigms also took the longest to complete. Changing the predominant paradigm did not affect the ability to debug the code, though developers did rate themselves with lower confidence for Functional code. We report significant differences in reading patterns during debugging, especially in the Functional code. During classification, results show that developers do not necessarily read paradigm-relevant token types.
- Abstract(参考訳): Pythonのような現代のプログラミング言語は、オブジェクト指向、手続き型、関数型など、いくつかのパラダイムから言語機能をサポートしている。
研究によると、いくつかのパラダイムで記述されたコードは理解が難しい場合があるが、これまで、パラダイム固有の言語特徴が理解にどのような影響を及ぼすかは研究されていない。
この目的のために、この研究では、コードの理解とデバッグに影響を及ぼすパラダイム固有の機能や、マルチパラダイムコードが開発者の能力にどのように影響するかを明らかにすることを目的としている。
探索的眼球追跡研究の成果を報告する。
1) 開発者がPythonコードで支配的なパラダイムをどのように分類するか。
2) パラダイムがPythonコードのデバッグ能力にどのように影響するか。
ゴールは、主要なパラダイムでコードの分類とデバッグをしながら、特定の言語機能がより頻繁に見られているかどうかを明らかにすることである。
20人の開発者(主に学生)が研究のために採用され、それぞれにPythonで4つの分類と4つのデバッグタスクが与えられた。
全ての作業中に眼球運動が記録された。
結果は機能的パラダイムと手続き的パラダイムのラベル付けの混乱を示しているが、オブジェクト指向ではないことを示している。
主に機能的なパラダイムを持つコードも、完成までには長い時間がかかった。
主流のパラダイムを変えることは、コードのデバッグ能力に影響を与えなかったが、開発者は関数型コードの信頼性を低く評価した。
デバッグ時,特に関数型コードでは,読み出しパターンに顕著な違いが報告されている。
分類中、開発者は必ずしもパラダイム関連トークンタイプを読まない。
関連論文リスト
- Modeling Student Learning with 3.8 Million Program Traces [52.153493498021895]
Pencil Codeのユーザによる380万を越えるプログラミング推論のデータセットを紹介します。
実際のトレースに基づいてトレーニングされたモデルは、多様な学生の振る舞いをモデル化する上で、より強力であることがわかった。
我々は、コード生成モデルを操り、より正しいコードをもたらす一連の編集を識別することで、学生がミスから回復するのを支援できることを示します。
論文 参考訳(メタデータ) (2025-10-06T17:37:17Z) - Bugs in the Shadows: Static Detection of Faulty Python Refactorings [44.115219601924856]
Pythonの動的型システムは、自動コード変換に重大な課題をもたらす。
分析の結果,合計1,152回の試行の結果,4種類の29のバグが判明した。
これらの結果は、自動コード変換の正確性を保証するために、現在のPythonツールの堅牢性を改善する必要性を強調している。
論文 参考訳(メタデータ) (2025-07-01T18:03:56Z) - BugSpotter: Automated Generation of Code Debugging Exercises [22.204802715829615]
本稿では,問題記述からバグコードを生成するツールであるBugSpotterを紹介する。
学生は失敗するテストケースを設計することでBugSpotterと対話する。
論文 参考訳(メタデータ) (2024-11-21T16:56:33Z) - How Maintainable is Proficient Code? A Case Study of Three PyPI Libraries [3.0105723746073]
ファイル内の有能なコードのリスクレベルについて検討する。
リスクの高い高度に熟練したコードのいくつかの例を特定します。
この研究は、開発者が有能なコードが将来のコードメンテナンス活動に有害かもしれないシナリオを特定するのに役立ちます。
論文 参考訳(メタデータ) (2024-10-08T04:45:11Z) - Towards Identifying Code Proficiency through the Analysis of Python Textbooks [7.381102801726683]
目的は、開発者がソースコードの一部を理解する必要がある熟練度を測定することである。
専門家の意見や開発者調査に大きく依存した以前の試みは、かなりの相違を招いた。
本稿では,Python プログラミング教科書の体系的解析を通じて,Python の能力レベルを同定する手法を提案する。
論文 参考訳(メタデータ) (2024-08-05T06:37:10Z) - Language Agnostic Code Embeddings [61.84835551549612]
私たちは、さまざまなプログラミング言語にまたがるコード埋め込みの言語間機能に重点を置いています。
1つは特定の言語のニュアンスと構文に深く結びついており、もう1つは詳細を知らない。
我々は、この言語固有のコンポーネントを分離して排除すると、下流のコード検索タスクが大幅に改善されることを示した。
論文 参考訳(メタデータ) (2023-10-25T17:34:52Z) - CONCORD: Clone-aware Contrastive Learning for Source Code [64.51161487524436]
セルフ教師付き事前トレーニングは、多くのダウンストリームSEタスクに価値のあるジェネリックコード表現を学ぶための牽引役になった。
汎用的な表現学習のために、開発者が日々どのようにコードをコーディングするかは、要因としても不可欠である、と私たちは主張する。
特に,表現空間に良性クローンを近づける自己教師型コントラスト学習戦略であるCONCORDを提案する。
論文 参考訳(メタデータ) (2023-06-05T20:39:08Z) - A Static Evaluation of Code Completion by Large Language Models [65.18008807383816]
単純なプログラミング問題に対するモデル生成コードの機能的正当性を評価するために,実行ベースベンチマークが提案されている。
プログラムを実行せずにエラーを検出するlinterのような静的解析ツールは、コード生成モデルを評価するために十分に研究されていない。
抽象構文木を利用して,Pythonのコード補完における静的エラーを定量化する静的評価フレームワークを提案する。
論文 参考訳(メタデータ) (2023-06-05T19:23:34Z) - Code Execution with Pre-trained Language Models [88.04688617516827]
コードインテリジェンスのトレーニング済みモデルのほとんどは実行トレースを無視しており、ソースコードと構文構造のみに依存している。
我々は,大規模かつ現実的なPythonデータセットとコード実行タスクを作成するために,突然変異に基づくデータ拡張手法を開発した。
次に、コード実行事前学習とカリキュラム学習を活用して意味理解を強化するトランスフォーマーモデルであるCodeExecutorを提案する。
論文 参考訳(メタデータ) (2023-05-08T10:00:05Z) - ReACC: A Retrieval-Augmented Code Completion Framework [53.49707123661763]
本稿では,語彙のコピーと類似したセマンティクスを持つコード参照の両方を検索により活用する検索拡張コード補完フレームワークを提案する。
我々は,Python および Java プログラミング言語のコード補完タスクにおけるアプローチを評価し,CodeXGLUE ベンチマークで最先端のパフォーマンスを実現する。
論文 参考訳(メタデータ) (2022-03-15T08:25:08Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。