English
Related papers

Related papers: Contracts in Practice

200 papers

Statically-annotated types have been shown to aid developers in a number of programming tasks, and this benefit holds true even when static type checking is not used. It is hypothesized that this is because developers use type annotations…

Software Engineering · Computer Science 2026-02-05 Samuel W. Flint , Robert Dyer , Bonita Sharif

Unit testing is a vital part of the software development process and involves developers writing code to verify or assert production code. Furthermore, to help comprehend the test case and troubleshoot issues, developers have the option to…

Software Engineering · Computer Science 2023-03-02 Taryn Takebayashi , Anthony Peruma , Mohamed Wiem Mkaouer , Christian D. Newman

Software development methods are usually not applied by the book. Companies are under pressure to continuously deploy software products that meet market needs and stakeholders' requests. To implement efficient and effective development…

Modern engineering systems include many components of different types and functions. Verifying that these systems satisfy given specifications can be an arduous task, as most formal verification methods are limited to systems of moderate…

Systems and Control · Electrical Eng. & Systems 2021-04-21 Miel Sharf , Bart Besselink , Adam Molin , Qiming Zhao , Karl Henrik Johansson

A fundamental unit of work in programming is the code contribution ("commit") that a developer makes to the code base of the project in work. We use statistical methods to derive a model of the probabilistic distribution of commit sizes in…

Software Engineering · Computer Science 2014-08-22 Carsten Kolassa , Dirk Riehle , Michel A. Salim

One single code change can significantly influence a wide range of software systems and their users. For example, 1) adding a new feature can spread defects in several modules, while 2) changing an API method can improve the performance of…

Software Engineering · Computer Science 2016-06-13 Daoyuan Li , Li Li , Dongsun Kim , Tegawendé F. Bissyandé , David Lo , Yves Le Traon

Smart contracts are programs running on cryptocurrency (e.g., Ethereum) blockchains, whose popularity stem from the possibility to perform financial transactions, such as payments and auctions, in a distributed environment without need for…

Cryptography and Security · Computer Science 2018-04-24 Ilya Grishchenko , Matteo Maffei , Clara Schneidewind

Context: Software systems are in continuous evolution through source code changes to fixing bugs, adding new functionalities and improving the internal architecture. All these practices are recorded in the version history, which can be…

Software Engineering · Computer Science 2020-01-17 Leandro Ungari Cayres , Bruno Santos de Lima , Rogério Eduardo Garcia

In HCI, frameworks function as a type of theoretical contribution, often supporting ideation, design, and evaluation. Yet, little is known about how they are actually used, what functions they serve, and which scholarly practices that shape…

Human-Computer Interaction · Computer Science 2026-03-20 Shitao Fang , Koji Yatani , Kasper Hornbæk

Effort estimation is a key factor for software project success, defined as delivering software of agreed quality and functionality within schedule and budget. Traditionally, effort estimation has been used for planning and tracking project…

Software Engineering · Computer Science 2014-01-24 Adam Trendowicz , Jürgen Münch , Ross Jeffery

Context. Requirements engineering remains a discipline that is faced with a large number of challenges, including the implementation of a requirements elicitation process in industry. Although several proposals have been suggested by…

Software Engineering · Computer Science 2021-02-24 Cristina Palomares , Xavier Franch , Carme Quer , Panagiota Chatzipetrou , Lidia López , Tony Gorschek

In this paper we present an approach to check resource consumption contracts using an off-the-shelf static analyzer. We propose a set of annotations to support resource usage specifications, in particular, dynamic memory consumption…

Software Engineering · Computer Science 2014-01-07 Rodrigo Castaño , Juan Pablo Galeotti , Diego Garbervetsky , Jonathan Tapicer , Edgardo Zoppi

Architectural smells (AS) are notorious for their long-term impact on the Maintainability and Evolvability of software systems. The majority of research work has investigated this topic by mining software repositories of open source Java…

Software Engineering · Computer Science 2022-03-17 Darius Sas , Paris Avgeriou , Umut Uyumaz

A concern can be characterized as a developer's intent behind a piece of code, often not explicitly captured in it. We discuss a technique of recording concerns using source code annotations (concern annotations). Using two studies and two…

Software Engineering · Computer Science 2018-08-13 Matúš Sulír , Milan Nosáľ , Jaroslav Porubän

We present a methodology to develop verified smart contracts. We write smart contracts, their specifications and implementations in the verification-friendly language Dafny. In our methodology the ability to write specifications,…

Logic in Computer Science · Computer Science 2022-08-08 Franck Cassez , Joanne Fuller , Horacio Mijail Anton Quiles

Modern programming languages, such as Java and C#, typically provide features that handle exceptions. These features separate error-handling code from regular source code and aim to assist in the practice of software comprehension and…

Software Engineering · Computer Science 2017-08-03 Guilherme B. de Pádua , Weiyi Shang

This work establishes fundamental principles for verifying contract for interconnected hybrid systems. When system's hybrid arcs conform to the contract for a certain duration but subsequently violate it, the composition of hybrid dynamical…

Systems and Control · Electrical Eng. & Systems 2024-05-14 Sadek Belamfedel Alaoui , Adnane Saoud

Two firms are engaged in a competitive prediction task. Each firm has two sources of data -- labeled historical data and unlabeled inference-time data -- and uses the former to derive a prediction model, and the latter to make predictions…

Theoretical Economics · Economics 2024-03-27 Yotam Gafni , Ronen Gradwohl , Moshe Tennenholtz

Contract theory studies how a principal can incentivize agents to exert costly, unobservable effort through performance-based payments. While classical economic models provide elegant characterizations of optimal solutions, modern…

Computer Science and Game Theory · Computer Science 2025-10-20 Michal Feldman

Component-oriented and service-oriented approaches have gained a strong enthusiasm in industries and academia with a particular interest for service-oriented approaches. A component is a software entity with given functionalities, made…

Software Engineering · Computer Science 2009-10-13 Christian Attiogbe