Semi-automatic version conversion
Testing image recognition algorithms requires large amounts of labelled recordings. These are created manually for hundreds of hours of video. Therefore, those recordings must be reused in newer versions of the software.
A major issue is the large number of data structures and the high number of teams involved. A manual solution is therefore unmaintainable.
1. Custom preprocessing and parsing
Data structures and constants are stored in a mixture of C and C++ header files. Everything must be moved into namespaces (C++) guarded header files. Defines are converted to static constants.
The parse tree of the data structures is kept for further processing.
The structure translator merges the source structure and changes described by the change configuration to fill the target structure. The changes could be anything from simple renames to custom c code translating from one color space to another.
The converter C++ files were integrated into the testing environment, automatically adapting to the loaded recording.