PROJECTS


WReSTT

This collaborative project supports the pedagogical needs of students and instructors in programming and software engineering courses by providing access to a comprehensive and up-to-date Web-based Repository of Software Testing Tools (WReSTT). The specific objectives of the project are to: (1) increase the number of users at participating academic institutions that currently have access to vetted software testing tools in a single repository; (2) provide a forum where computer science and information technology instructors can improve their knowledge of software testing and software testing tools to support pedagogy; and (3) improve student knowledge of testing tools. Students required to use the tools provided by WReSTT for class assignments are able to (a) improve their conceptual understanding of the approaches used to test software, and (b) improve their practical software testing skills with respect to the testing tools in WReSTT. Instructors incorporate these testing tools into the curriculum of the CS1, CS2 and CS3 courses.

URL for WReSTT: http://wrestt.cis.fiu.edu/


TaxTOOLJ

Taxonomy Tool for the Object-Oriented Language Java is a reverse engineering tool that catalogs the classes of a Java software application in order to provide information relevant to testing. For example, based on a class's categorization, a suitable testing technique can be determined. Designed using Java 5.0, this tool will evaluate Java applications developed on the latest Java 5.0 platform as well as 1.4 and earlier.

The current version of TaxTOOLJ catalogs Java classes using reflection only and presents a summary of the characteristics for each class in a Java application. The tool provides users with a Graphical User Interface (GUI) that allows easy configuration of various aspects of a TaxTOOL project. These include configuring the path to the source code to be analyzed; adding the required library prefixes; and configuring the path where output will be stored.

To view some preliminary results for TaxTOOLJ click here

.

Model-Based Testing

Model-based testing is a software testing technique in which test cases are automatically generated from a model describing the behaviour of the system under test. There are many aspects to this project including: (1) reusing artifacts from the development process to aid in the creation of the system model and, (2) investigating other ways to reduce the level of human intervention required to produce the system model. We have been applying structural and model-based testing techniques to the context of Java Page Flows, i.e. a framework for developing Web applications.


Testing Handheld Devices: Viruses

Viruses that target handhelds can be more dangerous than their counterparts that attack PCs, spawning self-replicating programs that hide easily. This project involves investigating testing handheld devices against viruses.


Testing Autonomic Systems

(Supported by National Science Foundation grant IIS-0552555)

Verification and validation (V&V) of autonomic computing systems plays a critical role during both development and deployment. Therefore to make autonomic systems a reality, extensive V&V is required in the process. Current automated V&V techniques are not scalable and still depend heavily on the intuition of the human performing the V&V. There are several challenges in the V&V phase of the development process for autonomic elements, the basic components of autonomic computing systems.

These challenges include: (1) anticipating the environment in which these elements will be deployed, and (2) building a test environment for autonomic computing systems that captures the complexity of the deployment environment. After deployment, there are also a number of challenges, including: (1) identifying the appropriate regression tests to run after reconfiguration, (2) evaluating the results of the regression tests after reconfiguration since some number of failed test cases will be acceptable, and (3) managing the sheer volume of self-tests that will be performed continuously during the life time of the autonomic element.

In this project we investigate: (1) the development of specification-based models to test the functionality of autonomic elements, (2) define structural test criteria for the specification-based test models, and (3) create test suites that associates each test case with the tested functionality, coverage criteria, and expected output. Part (3) will be used to support selective regression testing after the reconfiguration of autonomic elements.