論文の概要: Example-driven development: bridging tests and documentation
- arxiv url: http://arxiv.org/abs/2409.00514v1
- Date: Sat, 31 Aug 2024 17:41:07 GMT
- ステータス: 処理完了
- システム内更新日: 2024-09-06 14:18:10.767620
- Title: Example-driven development: bridging tests and documentation
- Title(参考訳): 例駆動開発: テストとドキュメントをブリッジする
- Authors: Oscar Nierstrasz, Andrei Chiş, Tudor Gîrba,
- Abstract要約: 例駆動開発(EDD)がTDDをライブプログラミングで豊かにする方法を示します。
例えば、システムに因果的に接続され、常にライブでテストされ、ライブドキュメントに埋め込まれる。
- 参考スコア(独自算出の注目度): 0.840358257755792
- License: http://creativecommons.org/licenses/by-sa/4.0/
- Abstract: Software systems should be explainable, that is, they should help us to answer questions while exploring, developing or using them. Textual documentation is a very weak form of explanation, since it is not causally connected to the code, so easily gets out of date. Tests, on the other hand, are causally connected to code, but they are also a weak form of explanation. Although some tests encode interesting scenarios that answer certain questions about how the system works, most tests don't make interesting reading. Examples are tests that are also factories for interesting system entities. Instead of simply succeeding or failing, an example returns the object under test so that it can be inspected, or reused to compose further tests. An example is causally connected to the system, is always live and tested, and can be embedded into live documentation. Although technically examples constitute just a small change to the way that to test methods work, their impact is potentially ground-breaking. We show (i) how Example-Driven Development (EDD) enriches TDD with live programming, (ii) how examples can be molded with tiny tools to answer analysis questions, and (iii) how examples can be embedded within live documentation to make a system explainable.
- Abstract(参考訳): ソフトウェアシステムは説明可能なものでなければならない。つまり、それらを探索、開発、使用しながら質問に答える手助けをするべきだ。
テキストドキュメンテーションは、コードと因果関係がないため、非常に弱い説明形式です。
一方、テストはコードと因果関係にあるが、説明の弱い形式でもある。
システムがどのように動作するかという特定の疑問に答える興味深いシナリオをコード化するテストもあるが、ほとんどのテストは興味深い読み方をしない。
例えば、興味深いシステムエンティティのファクトリでもあるテストです。
単純に成功したり失敗したりする代わりに、サンプルはテスト中のオブジェクトを返して検査したり、さらなるテストを構成するために再利用することができる。
例えば、システムに因果的に接続され、常にライブでテストされ、ライブドキュメントに埋め込まれる。
技術的には,メソッドのテスト方法に対する小さな変更に過ぎないが,その影響は画期的だ。
展示
(i)サンプル駆動開発(EDD)がTDDをライブプログラミングで豊かにする方法。
(II)分析問題に答える小さな道具で例を成形する方法、
(iii) 実例をライブドキュメントに組み込んでシステムを説明する方法。
関連論文リスト
- CodeRAG-Bench: Can Retrieval Augment Code Generation? [78.37076502395699]
検索拡張生成を用いたコード生成の系統的,大規模な解析を行う。
まず、コード生成タスクの3つのカテゴリを含む総合的な評価ベンチマークであるCodeRAG-Benchをキュレートする。
CodeRAG-Bench上のトップパフォーマンスモデルについて、1つまたは複数のソースから検索したコンテキストを提供することにより検討する。
論文 参考訳(メタデータ) (2024-06-20T16:59:52Z) - Exploring the Impact of Source Code Linearity on the Programmers Comprehension of API Code Examples [0.0]
APIコード例におけるソースコードの(a)線形性と(b)長さが,正確性や使用時間の点でユーザパフォーマンスに与える影響について検討した。
61人のJava開発者を対象に,オンラインコード理解実験を行った。
論文 参考訳(メタデータ) (2024-04-03T00:40:38Z) - TDD Without Tears: Towards Test Case Generation from Requirements
through Deep Reinforcement Learning [22.331330777536046]
テスト駆動開発(TDD)は、実際のコードを書く前に要件に基づいてテストケースを書くことを義務付ける。
テストケースを書くことはTDDの中心ですが、時間がかかり、コストがかかり、開発者が悩まされることも少なくありません。
PyTesterは、テキストからテストケースを生成するアプローチで、正しい、実行可能な、完全な、効果的なテストケースを自動的に生成します。
論文 参考訳(メタデータ) (2024-01-15T10:21:58Z) - Prompting Code Interpreter to Write Better Unit Tests on Quixbugs
Functions [0.05657375260432172]
単体テストは、ソフトウェア工学において、記述されたコードの正確性と堅牢性をテストするために一般的に使用されるアプローチである。
本研究では,コードインタプリタが生成する単体テストの品質に及ぼす異なるプロンプトの影響について検討する。
生成した単体テストの品質は、提供されたプロンプトのマイナーな詳細の変更に敏感ではないことがわかった。
論文 参考訳(メタデータ) (2023-09-30T20:36:23Z) - Exploring API Behaviours Through Generated Examples [0.768721532845575]
本稿では,APIの動作に関する関連事例を自動的に生成するアプローチを提案する。
我々の手法は、探索中のシステムを理解するのに役立つ、小さくて関連する例を生成することができる。
論文 参考訳(メタデータ) (2023-08-29T11:05:52Z) - Verifying the Robustness of Automatic Credibility Assessment [79.08422736721764]
テキスト分類法は信頼性の低い内容を検出する手段として広く研究されている。
入力テキストの無意味な変更は、モデルを誤解させることがある。
偽情報検出タスクにおける被害者モデルと攻撃方法の両方をテストするベンチマークであるBODEGAを紹介する。
論文 参考訳(メタデータ) (2023-03-14T16:11:47Z) - Structured Prompting: Scaling In-Context Learning to 1,000 Examples [78.41281805608081]
長さ制限を破り、文脈内学習を数千の例に拡張する構造化プロンプトを導入する。
具体的には、デモ例は、適切に設計された位置埋め込みで別々にエンコードされ、その後、再スケールされた注意機構を使用してテスト例に共同で出席する。
論文 参考訳(メタデータ) (2022-12-13T16:31:21Z) - Automated Support for Unit Test Generation: A Tutorial Book Chapter [21.716667622896193]
単体テストは、システムの他の部分と独立してテストできる最小のコードセグメントをテストする段階である。
単体テストは通常実行可能なコードとして書かれ、Pythonのpytestのような単体テストフレームワークが提供する形式で書かれる。
本章では,検索に基づく単体テスト生成の概念を紹介する。
論文 参考訳(メタデータ) (2021-10-26T11:13:40Z) - EXPLAINABOARD: An Explainable Leaderboard for NLP [69.59340280972167]
ExplainaBoardはNLP評価の新たな概念化と実装である。
研究者は(i)一つのシステムの強みと弱さを診断し、(ii)複数のシステム間の関係を解釈することができる。
論文 参考訳(メタデータ) (2021-04-13T17:45:50Z) - Retrieve, Program, Repeat: Complex Knowledge Base Question Answering via
Alternate Meta-learning [56.771557756836906]
本稿では,弱い監督からプログラマと交互に検索モデルを自動的に学習する手法を提案する。
本システムでは,知識ベースに対する複雑な質問応答を行う大規模タスクにおいて,最先端のパフォーマンスを実現する。
論文 参考訳(メタデータ) (2020-10-29T18:28:16Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。