Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456 The UTJML Project
The main goal of this project is to promote behavioral interface
specifications as a practical programming tool. For this, the project
has two objectives:
to develop practical techniques and notations to formally
specify the behaviors of Java program modules such as classes and
interfaces, and
to develop a set of practical support tools that can be
integrated into Java programming environments.
Our approach is to extend the
Java Modeling Language (JML),
a behavioral interface specification language (BISL) for Java
(see Figure 1) and experiment various
specification techniques and notations.
As stated above, tool development is an integral
part of our project, and in particular we are interested in runtime
assertion checking and its applications, such as specification-based
automated testing.
Yoonsik Cheon and several
of his graduate students are leading this project. Specific research topics
include the following:
Complete automation of unit
testing.
Myoung Kim, a Ph.D. student, is investigating specification-based
unit testing for Java. She is interested in fully automating unit
tests---from test case selection to execution and to outcome
determination.
An approach is proposed to combine interface specifications,
genetic algorithms, and a testing framework. The key idea is
to use postconditions as test oracles,
to generate test cases automatically by applying genetic algorithms,
and to use JUnit as a test execution platform.
Specifying and checking method
call sequences.
Ashaveena Perumendla, a M.S. student, is extending JML to allow
one to specify and check at runtime the allowed sequences
of method calls. A new specification clause, called a
call sequence clause, is
introduced to constrain the order of method calls in a
regular expression-like notation.
The call sequence specifications are translated into finite state
machines for runtime assertion checking.
Canica: An IDE for JML. Angelica Perez, a M.S. student, is
developing an integrated development environment (IDE) for JML
to provide a user-friendly graphical interface to a set of
command-line based tools.