SpecJ : Towards Adding Contracts to Java
スポンサーリンク
概要
- 論文の詳細を見る
SpecJ is a programming system for supporting Design by Contract (DBC) in Java. SpecJ consists of an object-oriented programming language called SpecJ, a compiler for compiling programs written in SpecJ to Java bytecodes and also a static verifier for assuring that the code is consistent with its specifications. SpecJ is a simple and practical extension to Java, with just a few new language constructs, to support pre- and postconditions for methods and class invariants. SpecJ also supports class specification inheritance. This paper discusses the goal and the overall programming approach of SpecJ. The paper also gives examples of SpecJ programs. On one hand, SpecJ provides a way to Java with assertions (pre- and postconditions, and class invariants), supporting runtime checking such as debugging and testing of SpecJ programs. On the other hand, SpecJ offer the possibility of automatic compile-time analysis (verification) for SpecJ programs such as checking the code of a method against its specification, checking that the specification of a subclass is compatible with the specification of its superclass.
- 一般社団法人情報処理学会の論文
- 2005-07-28
著者
-
Zhao Jianjun
Department Of Computer Science And Engineering Fukuoka Institute Of Technology
-
Zhao Jianjun
Department Of Computer Science Fukuoka Institute Of Technology
関連論文
- If it is Invisible, How to Know its Working? : Towards Self-monitoring Software for Invisible Computing Environment
- Cohesion Measures for Aspect-Oriented Programs
- Slicing Software Architectures
- Testing Criteria for Aspect-Oriented Software (ソフトウェア工学 研究報告)
- SpecJ : Towards Adding Contracts to Java
- Slicing Aspect-Oriented Software (ソフトウェア工学 研究報告)
- Complexity Metrics for Software Architectures(Software Engineering)
- Dynamic Slicing of Object-Oriented Programs
- Data Flow Testing of Aspects (ソフトウェア工学 研究報告 テーマ:学生セッションおよび一般)
- Towards A Metrics Suite for Aspect-Oriented Software (ソフトウェア工学 研究報告 テーマ:学生セッションおよび一般)
- Coupling Measurement in Aspect-Oriented Systems
- Dependence Analysis of Aspect-Oriented Software and Its Applications to Slicing, Testing, and Debugging
- Refactoring Aspect-Oriented Programs