Java as a teaching language—opportunities, pitfalls and solutions
ACSE '98 Proceedings of the 3rd Australasian conference on Computer science education
A study on exception detection and handling using aspect-oriented programming
Proceedings of the 22nd international conference on Software engineering
Compiler and tool support for debugging object protocols
SIGSOFT '00/FSE-8 Proceedings of the 8th ACM SIGSOFT international symposium on Foundations of software engineering: twenty-first century applications
Javiva: a tool for visualizing and validating student-written Java programs
Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education
The specification and testing of quantified progress properties in distributed systems
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Increasing client-side confidence in remote component implementations
Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
Behavioral contracts and behavioral subtyping
Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
Contract Soundness for object-oriented languages
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Specifying and implementing the operational use of constraints in object-oriented applications
CRPIT '02 Proceedings of the Fortieth International Conference on Tools Pacific: Objects for internet, mobile and embedded applications
Building trust in third-party components using component wrappers in the .NET frameworks
CRPIT '02 Proceedings of the Fortieth International Conference on Tools Pacific: Objects for internet, mobile and embedded applications
Assertions to better specify the amazon bug
SEKE '02 Proceedings of the 14th international conference on Software engineering and knowledge engineering
Making Components Contract Aware
Computer
Coping with Java Programming Stress
Computer
An Authoring Tool for Informal and Formal Requirements Specifications
FASE '02 Proceedings of the 5th International Conference on Fundamental Approaches to Software Engineering
A Simple and Practical Approach to Unit Testing: The JML and JUnit Way
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
Towards a Consistent Viewpoint on Consistency for Persistent Applications
Proceedings of the International Symposium on Objects and Databases
Adding Design by Contract to the Ada Language
Ada-Europe '02 Proceedings of the 7th Ada-Europe International Conference on Reliable Software Technologies
Adding Business Rules and Constraints in Component Based Applications
On the Move to Meaningful Internet Systems, 2002 - DOA/CoopIS/ODBASE 2002 Confederated International Conferences DOA, CoopIS and ODBASE 2002
Java Specification Extension for Automated Test Development
PSI '02 Revised Papers from the 4th International Andrei Ershov Memorial Conference on Perspectives of System Informatics: Akademgorodok, Novosibirsk, Russia
Techniques for Embedding Executable Specifications in Software Component Interfaces
ICCBSS '03 Proceedings of the Second International Conference on COTS-Based Software Systems
jContractor: A Reflective Java Library to Support Design by Contract
Reflection '99 Proceedings of the Second International Conference on Meta-Level Architectures and Reflection
Teaching contract programming concepts to future software engineers
Proceedings of the 25th International Conference on Software Engineering
Sequence Operators: Specifying Behavioral Interfaces of Smalltalk Blocks
APSEC '99 Proceedings of the Sixth Asia Pacific Software Engineering Conference
Towards Efficient Support for Executing the Object Constraint Language
TOOLS '99 Proceedings of the Technology of Object-Oriented Languages and Systems
Contracts: From Analysis to C++ Implementation
TOOLS '99 Proceedings of the Technology of Object-Oriented Languages and Systems
Runtime verification of .NET contracts
Journal of Systems and Software - Special issue on: Component-based software engineering
The UniTesK Approach to Designing Test Suites
Programming and Computing Software
Studying program correctness by constructing contracts
Proceedings of the 8th annual conference on Innovation and technology in computer science education
Cona: aspects for contracts and contracts for aspects
OOPSLA '04 Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Contract-Checking Wrappers for C++ Classes
IEEE Transactions on Software Engineering
Smart monitors for composed services
Proceedings of the 2nd international conference on Service oriented computing
Model variables: cleanly supporting abstraction in design by contract: Research Articles
Software—Practice & Experience
Contextual information management using contract: based workflow
Proceedings of the 2nd conference on Computing frontiers
How the design of JML accommodates both runtime assertion checking and formal verification
Science of Computer Programming - Formal methods for components and objects pragmatic aspects and applications
A contextual interpretation of undefinedness for runtime assertion checking
Proceedings of the sixth international symposium on Automated analysis-driven debugging
Teaching quality object-oriented programming
Journal on Educational Resources in Computing (JERIC)
Automatic verification of design patterns in Java
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
jContractor: Introducing Design-by-Contract to Java Using Reflective Bytecode Instrumentation
Formal Methods in System Design
Runtime Validation of Behavioural Contracts for Component Software
QSIC '05 Proceedings of the Fifth International Conference on Quality Software
STLlint: lifting static checking from languages to libraries
Software—Practice & Experience
International Journal of Knowledge-based and Intelligent Engineering Systems - Selected papers from the KES2004 conference
Overview and Evaluation of Constraint Validation Approaches in Java
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Contracts for aspect-oriented design
Proceedings of the 2008 AOSD workshop on Software engineering properties of languages and aspect technologies
An Experimental Evaluation of Documentation Methods and Reusability
ICSR '08 Proceedings of the 10th international conference on Software Reuse: High Confidence Software Reuse in Large Systems
From Contracts Towards Dependent Types: Proofs by Partial Evaluation
Implementation and Application of Functional Languages
Contract Specification in Java: Classification, Characterization, and a New Marker Method
IEICE - Transactions on Information and Systems
PPDP '09 Proceedings of the 11th ACM SIGPLAN conference on Principles and practice of declarative programming
MODELS '09 Proceedings of the 12th International Conference on Model Driven Engineering Languages and Systems
Toward Translating Design Constraints to Run-Time Assertions
Electronic Notes in Theoretical Computer Science (ENTCS)
Towards Contract-based Testing of Web Services
Electronic Notes in Theoretical Computer Science (ENTCS)
A survey of component based system quality assurance and assessment
Information and Software Technology
Automatic implementation of constraints in component based applications
Information and Software Technology
Formal design and implementation of constraints in software components
Advances in Engineering Software
A tool architecture to verify properties of multiagent system at runtime
ProMAS'06 Proceedings of the 4th international conference on Programming multi-agent systems
Pipa: a behavioral interface specification language for aspectJ
FASE'03 Proceedings of the 6th international conference on Fundamental approaches to software engineering
XP'03 Proceedings of the 4th international conference on Extreme programming and agile processes in software engineering
Modular specification and verification of object-oriented programs
Modular specification and verification of object-oriented programs
Proceedings of the 2010 ACM Symposium on Applied Computing
Using contracts and Boolean queries to improve the quality of automatic test generation
TAP'07 Proceedings of the 1st international conference on Tests and proofs
Contracts for first-class classes
Proceedings of the 6th symposium on Dynamic languages
A framework for efficient contract-based testing of software components
COMPSAC-W'05 Proceedings of the 29th annual international conference on Computer software and applications conference
Nested and dynamic contract boundaries
IFL'09 Proceedings of the 21st international conference on Implementation and application of functional languages
Contracts as pairs of projections
FLOPS'06 Proceedings of the 8th international conference on Functional and Logic Programming
Access permission contracts for scripting languages
POPL '12 Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The interaction of contracts and laziness
PEPM '12 Proceedings of the ACM SIGPLAN 2012 workshop on Partial evaluation and program manipulation
Checking the conformance of java classes against algebraic specifications
ICFEM'06 Proceedings of the 8th international conference on Formal Methods and Software Engineering
A methodology for writing class contracts
SOFSEM'05 Proceedings of the 31st international conference on Theory and Practice of Computer Science
ICCBSS'05 Proceedings of the 4th international conference on COTS-Based Software Systems
Supporting tools for designing-by-contract in component-based applications
MIS'04 Proceedings of the 2004 international conference on Metainformatics
Making specifications complete through models
Proceedings of the 2004 international conference on Architecting Systems with Trustworthy Components
SP 800-142. Practical Combinatorial Testing
SP 800-142. Practical Combinatorial Testing
JMF: Java measurement framework: language-supported runtime integrity measurement
Proceedings of the seventh ACM workshop on Scalable trusted computing
Automatic generation of test models and properties from UML models with OCL constraints
Proceedings of the 12th Workshop on OCL and Textual Modelling
Contracts for First-Class Classes
ACM Transactions on Programming Languages and Systems (TOPLAS)
Hi-index | 0.00 |
Until today, the explicit specification of "software contracts" by means of class invariants and method pre- and post-conditions was only available to Eiffel developers. iContract is the first tool that provides the same thorough support for Java.iContract is a freely available source-code pre-processor that instruments sourcecode with checks for class invariants, pre- and post-conditions that may be associated with methods in classes and interfaces. Special comment tags (@pre, @post, @invariant) are interpreted by iContract and converted into assertion check code that is inserted into the source-code. iContract supports contract propagation via all 4 Java type extension mechanisms (class extension, innerclasses, interface implementation and interface extension).Due to the non-mandatory nature of the comment tags, source code that contains design by contract annotations remains fully compatible with Java and can thus be processed with standard java compilers, enabling a risk-free adoption of the technique in your organisation.