3 research outputs found
Verification of software-hardware hybrid systems
Verification of complex systems with multiple processors is difficult. The reason being
that the generation of test cases for the whole system is quite complex. So, the system
must be verified in parts and sequentially, i.e., verifying the software, hardware platform
separately and the finally software running on the hardware platform. As verification of
the MPSoC (Multiple-Systems-on-Chip) platform is beyond the scope of our research,
we assume that the MPSoC hardware platform is already verified. Thus, we focus our
research on the verification of the MPSoC software (application software running on the
MPSoC platform) and the system consisting of the MPSOC software running on the
MPSoC platform. Researchers have tried to verify the software portion by generating
test cases using metaheutistics, constraint programming and combined metaheuristic-
constraint programming approaches. But metaheuristic approaches are not capable of finding good solution as they may get blocked in local optima, whereas constraint programming approaches are not able to generate good test cases when the problem is
large and complex. The combined metaheuristic-constraint programming approaches
solve these limitations but lose many good test cases when they reduce the domain of
the input variables. We want to generate test cases for software while overcoming the
limitations mentioned. For this, we propose to combine metaheuristic and constraint
programming approaches. In our approach, constraint programming solver will split the
input variable domains before reducing them further to be fed into the metaheuristic
solver that will generate test cases. Finally, at a later stage of our research, we want to
verify the whole system consisting of an application software (DEMOSAIK or FFMPEG
4) running on an MPSoC architecture simulator, the ReSP platform. We propose to generate the test cases from the functional test objectives to check the proper functioning of
the software running on the hardware platform. So, we frame the two research questions
as: Verification of software by generating test cases so as to satisfy certain coverage
criterion and cause the software to fail, and verification of the functional and structural
coverage criteria(s) of the system as a whole. We report the results of the preliminary
experiments conducted, which helps us to provide a path for the subsequent steps