NDLI logo
  • Content
  • Similar Resources
  • Metadata
  • Cite This
  • Log-in
  • Fullscreen
Log-in
Do not have an account? Register Now
Forgot your password? Account recovery
  1. Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications (OOPSLA '13)
  2. Option contracts
Loading...

Please wait, while we are loading the content...

Empirical analysis of programming language adoption
Efficient context sensitivity for dynamic analyses via calling context uptrees and customized memory management
CDSchecker: checking concurrent data structures written with C/C++ atomics
Instant pickles: generating object-oriented pickler combinators for fast and extensible serialization
Set-based pre-processing for points-to analysis
Semi-automatic rename refactoring for JavaScript
Data-driven equivalence checking
Do developers benefit from generic types?: an empirical comparison of generic and raw types in java
Multiverse: efficiently supporting distributed high-level speculation
Barrier invariants: a shared state abstraction for the analysis of data-dependent GPU kernels
Input-covering schedules for multithreaded programs
Combining concern input with program analysis for bloat detection
On-the-fly detection of instability problems in floating-point program execution
Steering symbolic execution to less traveled paths
Miniboxing: improving the speed to code size tradeoff in parametric polymorphism translations
Effective race detection for event-driven programs
Interacting with dead objects
MrCrypt: static analysis for secure cloud computations
Refactoring with synthesis
Synthesis modulo recursive functions
Option contracts
Fully concurrent garbage collection of actors on many-core machines
Guided GUI testing of android apps with minimal restart and approximate learning
OCTET: capturing and controlling cross-thread dependences efficiently
Injecting mechanical faults to localize developer faults for evolving software
Bounded partial-order reduction
Verifying quantitative reliability for programs that execute on unreliable hardware
Taking off the gloves with reference counting Immix
Storage strategies for collections in dynamically typed languages
Python: the full monty
Ironclad C++: a library-augmented type-safe subset of c++
Bottle graphs: visualizing scalability bottlenecks in multi-threaded applications
Code optimizations using formally verified properties
Language support for dynamic, hierarchical data partitioning
Isolation for nested task parallelism
Targeted and depth-first exploration for systematic testing of android apps
Online feedback-directed optimizations for parallel Java code
Efficient concurrency-bug detection across inputs
On-the-fly capacity planning
Resurrector: a tunable object lifetime profiling technique for optimizing real-world programs
Forsaking inheritance: supercharged delegation in DelphJ
Flexible access control for javascript
Ball-Larus path profiling across multiple loop iterations
Inductive invariant generation via abductive inference
Class hierarchy complementation: soundly completing a partial type graph
Turning nondeterminism into parallelism
The latency, accuracy, and battery (LAB) abstraction: programmer productivity and energy efficiency for continuous mobile context sensing
River trail: a path to parallelism in JavaScript
Detecting API documentation errors
Relaxed separation logic: a program logic for C11 concurrency

Similar Documents

...
Option contracts

Article

...
Model-Based System Testing Using Visual Contracts

Article

...
Checking Model Consistency Using Data-Flow Testing

Article

...
On self-checking software design

Article

...
Enabling the runtime assertion checking of concurrent contracts for the Java modeling language

Article

...
Executable visual contracts

Article

...
An Automated Approach to System Testing Based on Scenarios and Operations Contracts

Article

...
On analysis of design component contracts: a case study

Article

...
Modular Checking of C Programs Using SAT-Based Bounded Model Checker

Article

Option contracts

Content Provider ACM Digital Library
Author Findler, Robert Bruce Felleisen, Matthias Dimoulas, Christos
Abstract Many languages support behavioral software contracts so that programmers can describe a component's obligations and promises via logical assertions in its interface. The contract system monitors program execution, checks whether the assertions hold, and, if not, blames the guilty component. Pinning down the violator gets the debugging process started in the right direction. Quality contracts impose a serious run-time cost, however, and programmers therefore compromise in many ways. Some turn off contracts for deployment, but then contracts and code quickly get out of sync during maintenance. Others test contracts randomly or probabilistically. In all cases, programmers have to cope with lack of blame information when the program eventually fails. In response, we propose option contracts as an addition to the contract tool box. Our key insight is that in ordinary contract systems, server components impose their contract on client components, giving them no choice whether to trust the server's promises or check them. With option contracts, server components may choose to tag a contract as an option and clients may choose to exercise the option or accept it, in which case they also shoulder some responsibility. We show that option contracts permit programmers to specify flexible checking policies, that their cost is reasonable, and that they satisfy a complete monitoring theorem.
Starting Page 475
Ending Page 494
Page Count 20
File Format PDF
ISBN 9781450323741
DOI 10.1145/2509136.2509548
Language English
Publisher Association for Computing Machinery (ACM)
Publisher Date 2013-10-29
Publisher Place New York
Access Restriction Subscribed
Subject Keyword Random testing Propabilistic spot checking Behavioral software contracts Programming language design
Content Type Text
Resource Type Article
  • About
  • Disclaimer
  • Feedback
  • Sponsor
  • Contact
  • Chat with Us
About National Digital Library of India (NDLI)
NDLI logo

National Digital Library of India (NDLI) is a virtual repository of learning resources which is not just a repository with search/browse facilities but provides a host of services for the learner community. It is sponsored and mentored by Ministry of Education, Government of India, through its National Mission on Education through Information and Communication Technology (NMEICT). Filtered and federated searching is employed to facilitate focused searching so that learners can find the right resource with least effort and in minimum time. NDLI provides user group-specific services such as Examination Preparatory for School and College students and job aspirants. Services for Researchers and general learners are also provided. NDLI is designed to hold content of any language and provides interface support for 10 most widely used Indian languages. It is built to provide support for all academic levels including researchers and life-long learners, all disciplines, all popular forms of access devices and differently-abled learners. It is designed to enable people to learn and prepare from best practices from all over the world and to facilitate researchers to perform inter-linked exploration from multiple sources. It is developed, operated and maintained from Indian Institute of Technology Kharagpur.

Learn more about this project from here.

Disclaimer

NDLI is a conglomeration of freely available or institutionally contributed or donated or publisher managed contents. Almost all these contents are hosted and accessed from respective sources. The responsibility for authenticity, relevance, completeness, accuracy, reliability and suitability of these contents rests with the respective organization and NDLI has no responsibility or liability for these. Every effort is made to keep the NDLI portal up and running smoothly unless there are some unavoidable technical issues.

Feedback

Sponsor

Ministry of Education, through its National Mission on Education through Information and Communication Technology (NMEICT), has sponsored and funded the National Digital Library of India (NDLI) project.

Contact National Digital Library of India
Central Library (ISO-9001:2015 Certified)
Indian Institute of Technology Kharagpur
Kharagpur, West Bengal, India | PIN - 721302
See location in the Map
03222 282435
Mail: support@ndl.gov.in
Sl. Authority Responsibilities Communication Details
1 Ministry of Education (GoI),
Department of Higher Education
Sanctioning Authority https://www.education.gov.in/ict-initiatives
2 Indian Institute of Technology Kharagpur Host Institute of the Project: The host institute of the project is responsible for providing infrastructure support and hosting the project https://www.iitkgp.ac.in
3 National Digital Library of India Office, Indian Institute of Technology Kharagpur The administrative and infrastructural headquarters of the project Dr. B. Sutradhar  bsutra@ndl.gov.in
4 Project PI / Joint PI Principal Investigator and Joint Principal Investigators of the project Dr. B. Sutradhar  bsutra@ndl.gov.in
Prof. Saswat Chakrabarti  will be added soon
5 Website/Portal (Helpdesk) Queries regarding NDLI and its services support@ndl.gov.in
6 Contents and Copyright Issues Queries related to content curation and copyright issues content@ndl.gov.in
7 National Digital Library of India Club (NDLI Club) Queries related to NDLI Club formation, support, user awareness program, seminar/symposium, collaboration, social media, promotion, and outreach clubsupport@ndl.gov.in
8 Digital Preservation Centre (DPC) Assistance with digitizing and archiving copyright-free printed books dpc@ndl.gov.in
9 IDR Setup or Support Queries related to establishment and support of Institutional Digital Repository (IDR) and IDR workshops idr@ndl.gov.in
I will try my best to help you...
Cite this Content
Loading...