Commit Graph
9 Commits
Author SHA1 Message Date
Christian Dietrich 4489537b4d [generic-experiment] WRITE_OUTERSPACE -> ACCESS_OUTERSPACE
This is a breaking change. However, the name is and always was
misleading. Therefore, we change it to the correct name.
2020-12-18 18:19:52 +01:00
Christian Dietrich d35ae687b0 [generic-experiment] Correct names for argument names
As the outerspace listeners catch read and write accesses, this must
be documented in the help message. The old parameter name is now marked as
deprecated and can be removed in 2022.

Furthmore, the experiment now has the combined command line argument
--catch-outerspace, which enables catching accesses below and above
the ELF.
2020-12-18 18:19:52 +01:00
Christian Dietrich 625756f338 [generic-experiment] improve the injector logging 2020-12-18 18:19:52 +01:00
Christian DietrichandHorst Schirmeier 5929eac85c SimulatorController: Selection between multiple experiments
If the user enabled multiple experiments, it does not make sense to
execute them concurrently. Therefore, we now only register all enabled
experiments and choose one experiment on fail-client startup. For this
selection, the user can either set the FAIL_EXPERIMENT environment
variable or invoke the tool with a specific argv[0]. For the
bin/-folder, we create symlinks for this mechanism.

With this change, the generic-tracing and generic-experiment can be
compiled into the same executable and we could distribute a "standard"
version of FAIL*.
2020-12-16 15:38:29 +01:00
Christian DietrichandHorst Schirmeier f92b930acb tools/tests: small end-to-end test suite for importing/pruning
As bigger changes lie ahead, we want a small end-to-end test suite
that ensures that our importing and tracing does not fall apart. With
this change, we add the infrastructure and two test-cases (fib, qsort)
including ELFs, traces, and injection results.

In order to run the basic-pruner test cases, one needs to setup a
MySQL table and set the CMake option ENABLE_DATABASE_TESTS.
2020-12-16 15:38:29 +01:00
Christian DietrichandHorst Schirmeier df44da9f33 DatabaseExperiment: Use google::protobuf::Reflection
The previous path google::protobuf::Message::Reflection was deprecated
in 2008 (779f61c6a3ce02a119e28e802f229e61b69b9046), and we only used
it here. With newer versions of proto-c, this breaks the build.
2020-12-16 15:38:29 +01:00
Christian DietrichandHorst Schirmeier 973716ff35 Database: fix typo in command line argument
This is an API breaking change. Nevertheless, help text and
command-line parser were out of sync and the variant of the help-text
does make much more sense.
2020-12-16 15:38:29 +01:00
Christian DietrichandHorst Schirmeier 743e746e0f editorconfig: add .editorfile to support a consistent coding style 2020-12-16 15:38:29 +01:00
Christian DietrichandHorst Schirmeier d296f15652 dump-trace: record the number of memory fault locations
With the number of accessed memory addresses and the duration of the
trace, we can deduce the size of the rectangular memory fault space.
This will be used in testing.
2020-12-16 15:38:29 +01:00