論文の概要: 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) 実例をライブドキュメントに組み込んでシステムを説明する方法。
関連論文リスト
- ContextCite: Attributing Model Generation to Context [64.90535024385305]
我々は文脈属性の問題を導入し、あるモデルが特定の文を生成するきっかけとなった文脈の一部を特定する。
次に、既存の言語モデルの上に適用可能な、コンテキスト属性のシンプルでスケーラブルなメソッドであるContextCiteを紹介します。
ContextCiteは、生成されたステートメントの検証、応答品質の改善、中毒攻撃の検出という3つのアプリケーションを通して紹介します。
論文 参考訳(メタデータ) (2024-09-01T14:36:36Z) - 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) - PyTester: Deep Reinforcement Learning for Text-to-Testcase Generation [20.441921569948562]
テスト駆動開発(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) - 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) - Dynamic Causal Effects Evaluation in A/B Testing with a Reinforcement
Learning Framework [68.96770035057716]
A/Bテスト(A/B Testing)は、新しい製品を製薬、技術、伝統産業の古い製品と比較するビジネス戦略である。
本稿では,オンライン実験においてA/Bテストを実施するための強化学習フレームワークを提案する。
論文 参考訳(メタデータ) (2020-02-05T10:25:02Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。