論文の概要: Contract Usage and Evolution in Android Mobile Applications
- arxiv url: http://arxiv.org/abs/2401.14244v1
- Date: Thu, 25 Jan 2024 15:36:49 GMT
- ステータス: 処理完了
- システム内更新日: 2024-01-26 14:05:26.989774
- Title: Contract Usage and Evolution in Android Mobile Applications
- Title(参考訳): androidモバイルアプリケーションにおけるコントラクトの利用と進化
- Authors: David R. Ferreira, Alexandra Mendes, and Jo\~ao F. Ferreira
- Abstract要約: JavaやKotlinで記述されたAndroidアプリケーションにおけるコントラクトの存在と使用に関する,最初の大規模な実証的研究を紹介する。
F-Droidリポジトリから2,390のAndroidアプリケーションを解析し,51,749 KLOC以上を処理した。
私たちの発見は、JavaとKotlinでコントラクト仕様を標準化するライブラリを持つことが望ましいことを示しています。
- 参考スコア(独自算出の注目度): 45.44831696628473
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Formal contracts and assertions are effective methods to enhance software
quality by enforcing preconditions, postconditions, and invariants. Previous
research has demonstrated the value of contracts in traditional software
development contexts. However, the adoption and impact of contracts in the
context of mobile application development, particularly of Android
applications, remain unexplored.
To address this, we present the first large-scale empirical study on the
presence and use of contracts in Android applications, written in Java or
Kotlin. We consider different types of contract elements divided into five
categories: conditional runtime exceptions, APIs, annotations, assertions, and
other. We analyzed 2,390 Android applications from the F-Droid repository and
processed more than 51,749 KLOC to determine 1) how and to what extent
contracts are used, 2) how contract usage evolves, and 3) whether contracts are
used safely in the context of program evolution and inheritance. Our findings
include: 1) although most applications do not specify contracts,
annotation-based approaches are the most popular among practitioners; 2)
applications that use contracts continue to use them in later versions, but the
number of methods increases at a higher rate than the number of contracts; and
3) there are many potentially unsafe specification changes when applications
evolve and in subtyping relationships, which indicates a lack of specification
stability. Our findings show that it would be desirable to have libraries that
standardize contract specifications in Java and Kotlin, and tools that aid
practitioners in writing stronger contracts and in detecting contract
violations in the context of program evolution and inheritance.
- Abstract(参考訳): 形式的契約とアサーションは、事前条件、後条件、不変性を強制することによって、ソフトウェア品質を高める効果的な方法である。
これまでの研究は、従来のソフトウェア開発コンテキストにおける契約の価値を実証してきた。
しかし、モバイルアプリケーション開発、特にandroidアプリケーションにおけるコントラクトの採用と影響は、いまだに未調査のままである。
これに対処するため、我々は、javaまたはkotlinで書かれたandroidアプリケーションにおけるコントラクトの存在と使用について、最初の大規模な実証研究を行う。
条件付きランタイム例外、API、アノテーション、アサーションなどです。
F-Droidレポジトリから2,390のAndroidアプリケーションを解析し,51,749 KLOC以上を処理した。
1【契約の程度及び程度】
2)契約利用の進展,及び
3) 契約がプログラムの進化と継承の文脈で安全に使用されるかどうか。
私たちの発見には
1) ほとんどのアプリケーションは契約を規定していないが,アノテーションに基づくアプローチが最も普及している。
2) 契約を使用するアプリケーションは後続のバージョンで引き続き使用されるが,メソッドの数は契約数よりも高い速度で増加する。
3) アプリケーションが進化し、サブタイプ関係にある場合、潜在的に安全でない仕様の変更が多数あり、それは仕様の安定性の欠如を示している。
この結果から,JavaとKotlinのコントラクト仕様を標準化するライブラリや,より強いコントラクトの記述や,プログラムの進化と継承のコンテキストにおけるコントラクト違反の検出を支援するツールが望ましいことが示唆された。
関連論文リスト
- Codev-Bench: How Do LLMs Understand Developer-Centric Code Completion? [60.84912551069379]
Code-Development Benchmark (Codev-Bench)は、細粒度で現実世界、リポジトリレベル、開発者中心の評価フレームワークです。
Codev-Agentは、リポジトリのクローリングを自動化し、実行環境を構築し、既存のユニットテストから動的呼び出しチェーンを抽出し、データ漏洩を避けるために新しいテストサンプルを生成するエージェントベースのシステムである。
論文 参考訳(メタデータ) (2024-10-02T09:11:10Z) - Efficacy of Various Large Language Models in Generating Smart Contracts [0.0]
本研究では,Immutable上のSolidityスマートコントラクト作成におけるコード生成型大規模言語モデルの適用性について分析する。
我々はまた、新しい戦略を促すことによって、スマートコントラクトを生成する新しい方法を発見した。
論文 参考訳(メタデータ) (2024-06-28T17:31:47Z) - Specification Mining for Smart Contracts with Trace Slicing and Predicate Abstraction [10.723903783651537]
過去の取引履歴から契約仕様を推測するための仕様マイニング手法を提案する。
提案手法は,トランザクション履歴から統計的に推測されるプログラム不変量とともに,関数呼び出しの高レベルな挙動自動化を導出する。
論文 参考訳(メタデータ) (2024-03-20T03:39:51Z) - Formally Verifying a Real World Smart Contract [52.30656867727018]
われわれは、Solidityの最新バージョンで書かれた現実世界のスマートコントラクトを正式に検証できるツールを検索する。
本稿では,最近のSolidityで書かれた実世界のスマートコントラクトを正式に検証できるツールについて紹介する。
論文 参考訳(メタデータ) (2023-07-05T14:30:21Z) - ConReader: Exploring Implicit Relations in Contracts for Contract Clause
Extraction [84.0634340572349]
法律契約における暗黙の関係をモデル化し,契約条項の自動抽出(CCE)について検討する。
本研究ではまず,契約の複雑性問題を包括的に分析し,契約に共通する3つの暗黙の関係を抽出する。
本稿では,上記の3つの関係を利用して,より優れたコントラクト理解とCCEの改善を実現するための新しいフレームワークであるConReaderを提案する。
論文 参考訳(メタデータ) (2022-10-17T02:15:18Z) - Detecting Logical Relation In Contract Clauses [94.85352502638081]
契約における節間の論理的関係の抽出を自動化する手法を開発する。
結果として得られたアプローチは、コントラクト作者が節間の潜在的な論理的衝突を検出するのに役立つだろう。
論文 参考訳(メタデータ) (2021-11-02T19:26:32Z) - CLAUSEREC: A Clause Recommendation Framework for AI-aided Contract
Authoring [7.3246387015020025]
本稿では,契約書作成者の支援と促進に向けた第一歩として,条項推薦の課題を紹介する。
まず、特定の節型がコントラクトに追加されるかどうかを予測し、次に、契約コンテキストに基づいて、与えられた型のトップ節を推奨する2段階パイプラインを提案する。
論文 参考訳(メタデータ) (2021-10-26T09:20:16Z) - ContractNLI: A Dataset for Document-level Natural Language Inference for
Contracts [39.75232199445175]
契約書に対する文書レベルの自然言語推論(NLI)を提案する。
システムには一連の仮説と契約が与えられ、それぞれの仮説が「関連づけられている」か、「矛盾している」か、「言及されていない」か(中立である)を分類するよう求められる。
これまでで最大のコーパスを607のアノテート契約でリリースしています。
論文 参考訳(メタデータ) (2021-10-05T03:22:31Z) - Profiling Gas Consumption in Solidity Smart Contracts [3.0378875015087567]
本稿では,ガス消費の観点から,スマートコントラクトのコード品質を静的に評価するためのメトリクススイートであるGasMetを提案する。
2,186のスマートコントラクトを含む実験では、提案されたメトリクスがデプロイメントコストと直接関連していることが示されている。
論文 参考訳(メタデータ) (2020-08-12T17:26:55Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。