Metamorphic testing
Metamorphic testing (MT) is a testing technique that alleviates the oracle problem.
Basically, MT consists on modeling the properties of the system under test, which are formulated
as metamorphic relations (MRs). The essential idea is that instead of checking the output o1
produced when testing with one input x1, we test with a second (follow-up) input x2, observing
output o2, and check that o1 and o2 are related as specified by the MRs. Hence, an MR can be
defined as a tuple (MRi, MRo), where MRi refers to the relation between the source test case and
the follow-up test case, and MRo refers to the relation that must be fulfilled by the outputs
obtained from the source test case and the follow-up test case.
Currently, we are working on designing MRs to be applied in Expert Systems for testing memory systems.
The current list of MRs is available here .
Mutation testing

MuTomVo is a mutation testing framework for Omnet-based simulated environments.
Although the current version of MuTomVo has been built using SIMCAN,
any other simulation tool based in OMNeT++ can be also used.
In essence, MuTomVo uses SIMCAN to
simulate different distributed architectures,
where applications are executed to provide an output. These applications are
tested using test suites. The correctness of a test suite is checked by applying
mutation testing techniques. Thus, applications are mutated by injecting faults in its
source code.
Link to download MuTomVo: Available soon!
Simulation

SIMCAN is a simulation platform for modeling and simulating both
distributed systems and applications, which is currently available
as open source software. SIMCAN has been written in C++ using OMNeT++,
a simulation framework focused on building network simulators.
The main objective of SIMCAN is three-fold. First, to provide a high
level of flexibility and scalability, allowing users to model a wide
range of highly distributed system configurations. Second, to ease the
development of distributed applications by providing intuitive APIs.
Third, to investigate the performance of distributed and HPC applications
executed over distributed systems with different architectural configurations.
For more information, please check the SIMCAN site.