論文の概要: Investigating Student Reasoning in Method-Level Code Refactoring: A Think-Aloud Study
- arxiv url: http://arxiv.org/abs/2410.20875v1
- Date: Mon, 28 Oct 2024 09:50:16 GMT
- ステータス: 翻訳完了
- システム内更新日: 2024-10-29 12:16:27.979840
- Title: Investigating Student Reasoning in Method-Level Code Refactoring: A Think-Aloud Study
- Title(参考訳): メソッドレベルコードリファクタリングにおける学生推論の検討--思考音響学的研究
- Authors: Eduardo Carneiro Oliveira, Hieke Keuning, Johan Jeuring,
- Abstract要約: コードとコード品質は、ソフトウェア工学教育における中核的なトピックである。
学生は、しばしば持続的な品質問題のあるコードを生成する。
学生は大抵の場合、コード品質の問題を取り除くことができた。
- 参考スコア(独自算出の注目度): 0.7120027021375674
- License:
- Abstract: Producing code of good quality is an essential skill in software development. Code quality is an aspect of software quality that concerns the directly observable properties of code, such as decomposition, modularization, and code flow. Code quality can often be improved by means of code refactoring -- an internal change made to code that does not alter its observable behavior. According to the ACM/IEEE-CS/AAAI Computer Science Curricula 2023, code refactoring and code quality are core topics in software engineering education. However, studies show that students often produce code with persistent quality issues. Therefore, it is important to understand what problems students experience when trying to identify and fix code quality issues. In a prior study, we identified a number of student misconceptions in method-level code refactoring. In this paper, we present the findings from a think-aloud study conducted to investigate what students think when working on method-level refactoring exercises. We use grounded theory to identify and classify student reasoning. As a result of the analysis, we identify a set of eight reasons given by students to refactor code, which either concerns the presence of code quality issues, the improvement of software quality attributes, or code semantics. We also analyze which quality issues are identified by students, and to which reasonings these quality issues are related. We found that experienced students reason more often about code quality attributes rather than pointing at a problem they see in the code. Students were able to remove code quality issues in most cases. However, they often overlooked particular issues, such as the presence of a method with multiple responsibilities or the use of a less suitable loop structure.
- Abstract(参考訳): 品質のよいコードを生成することは、ソフトウェア開発に不可欠なスキルです。
コード品質は、分解、モジュール化、コードフローといったコードの直接観測可能な特性に関するソフトウェア品質の側面である。
コード品質はコードリファクタリングによって改善されることが多い -- 観測可能な振る舞いを変更しないコードの内部的な変更である。
ACM/IEEE-CS/AAAI Computer Science Curricula 2023によると、コードリファクタリングとコード品質は、ソフトウェア工学教育における中核的なトピックである。
しかし、学生が持続的な品質問題でコードを生成する場合が多いことが研究で示されている。
したがって、コード品質の問題を特定し、修正しようとするとき、学生が経験する問題を理解することが重要である。
従来の研究では,メソッドレベルのコードリファクタリングにおいて,多くの学生の誤解が指摘されていた。
本稿では,学生がメソッドレベルのリファクタリング演習を行う際に,どのように考えるかを検討するために,思考情報から得られた知見について述べる。
我々は、基礎理論を用いて、学生の推論を特定し、分類する。
分析の結果,コード品質問題の存在,ソフトウェア品質特性の改善,コード意味論といった問題に対して,学生がコードをリファクタリングする理由を8つ挙げた。
また,学生がどの品質問題を特定しているか,どの品質問題を関連づけているのかを分析した。
経験豊富な学生は、コードで見られる問題ではなく、コード品質の属性について理由付けをすることが多いことに気付きました。
学生は大抵の場合、コード品質の問題を取り除くことができました。
しかしながら彼らは、複数の責務を持つメソッドの存在や、より適切なループ構造の使用など、特定の問題をしばしば見落としていた。
関連論文リスト
- Understanding Code Understandability Improvements in Code Reviews [79.16476505761582]
GitHub上のJavaオープンソースプロジェクトからの2,401のコードレビューコメントを分析した。
改善提案の83.9%が承認され、統合され、1%未満が後に復活した。
論文 参考訳(メタデータ) (2024-10-29T12:21:23Z) - Broken Windows: Exploring the Applicability of a Controversial Theory on Code Quality [13.36825494924134]
コード履歴がコード品質の進化に実際に影響を及ぼすかどうかを調べる。
開発者がコミットするファイルの品質に基づいてコミットの品質をカスタマイズするかどうかを確認します。
我々の結果は、ソフトウェア実践と研究の両方に影響を及ぼす。
論文 参考訳(メタデータ) (2024-10-17T12:16:35Z) - Leveraging Large Language Models for Efficient Failure Analysis in Game Development [47.618236610219554]
本稿では,テストの失敗の原因となるコードの変更を自動的に識別する手法を提案する。
このメソッドは、LLM(Large Language Models)を利用して、エラーメッセージと対応するコード変更を関連付ける。
当社のアプローチは新たに作成したデータセットで71%の精度に達しています。
論文 参考訳(メタデータ) (2024-06-11T09:21:50Z) - Code Prompting Elicits Conditional Reasoning Abilities in Text+Code LLMs [65.2379940117181]
自然言語の問題をコードに変換する一連のプロンプトであるコードプロンプトを導入します。
コードプロンプトは複数のLLMに対して高速に向上することがわかった。
GPT 3.5を解析した結果,入力問題のコードフォーマッティングが性能向上に不可欠であることが判明した。
論文 参考訳(メタデータ) (2024-01-18T15:32:24Z) - Fixing Your Own Smells: Adding a Mistake-Based Familiarisation Step When
Teaching Code Refactoring [2.021502591596062]
学生はまず、コードの臭いを発生させるためにプログラミング演習を完了しなければなりません。
この単純な介入は、学生がコードに精通している場合、学習が簡単であるという考えに基づいている。
本研究は,35人の初等生を対象に,従来の「ミステイク」アプローチと「ミステイク」アプローチを交互に指導し,様々な演習を修了した。
論文 参考訳(メタデータ) (2024-01-02T03:39:19Z) - Automating Source Code Refactoring in the Classroom [15.194527511076725]
本稿では,アンチパターン検出と修正をサポートするEclipseプラグインであるJandanrantを用いて,アンチパターンの除去を目的とした各種教室活動の実施に関する実験結果について述べる。
171人の学生による定量的・質的分析の結果、学生は学習の考え方を高く評価し、JDeodorantプラグインの動作の様々な側面に満足していることが示された。
論文 参考訳(メタデータ) (2023-11-05T18:46:00Z) - Test Code Refactoring Unveiled: Where and How Does It Affect Test Code
Quality and Effectiveness? [13.911747089737762]
リファクタリングは、生産コードの品質に関して、過去に広く研究されてきた。
開発者がどのようにコードをテストするかについては、まだ調査の欠如がある。
論文 参考訳(メタデータ) (2023-08-18T13:25:53Z) - CodeReviewer: Pre-Training for Automating Code Review Activities [36.40557768557425]
本研究は,コードレビューシナリオにおけるタスクの事前学習技術を活用することに焦点を当てる。
私たちは、最も人気のある9つのプログラミング言語で、オープンソースのプロジェクトから、現実世界のコード変更とコードレビューの大規模なデータセットを収集します。
コード差分とレビューをよりよく理解するために、コードレビューセナリオに特化した4つの事前トレーニングタスクを利用する事前トレーニングモデルであるCodeReviewerを提案する。
論文 参考訳(メタデータ) (2022-03-17T05:40:13Z) - ProtoTransformer: A Meta-Learning Approach to Providing Student Feedback [54.142719510638614]
本稿では,フィードバックを数発の分類として提供するという課題について考察する。
メタラーナーは、インストラクターによるいくつかの例から、新しいプログラミング質問に関する学生のコードにフィードバックを与えるように適応します。
本手法は,第1段階の大学が提供したプログラムコースにおいて,16,000名の学生試験ソリューションに対するフィードバックの提供に成功している。
論文 参考訳(メタデータ) (2021-07-23T22:41:28Z) - Measuring Coding Challenge Competence With APPS [54.22600767666257]
コード生成のベンチマークであるAPPSを紹介する。
私たちのベンチマークには1万の問題が含まれています。
GPT-Neoのような最近のモデルでは、導入問題のテストケースの約15%をパスできる。
論文 参考訳(メタデータ) (2021-05-20T17:58:42Z) - Code Review in the Classroom [57.300604527924015]
教室設定の若い開発者は、コードレビュープロセスの潜在的に有利で問題のある領域の明確な図を提供している。
彼らのフィードバックは、プロセスはプロセスを改善するためにいくつかのポイントで十分に受け入れられていることを示唆している。
本論文は,教室でコードレビューを行うためのガイドラインとして利用することができる。
論文 参考訳(メタデータ) (2020-04-19T06:07:45Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。