The data is stored in ~/.solfege.
Statistics
Test statistics are stored in ~/.solfege/statistics/lesson_id/ where lesson_id is the unique id for each file that is given in the lesson file header variable lesson_id. The statistics for each practise session is stored in a separate file, named by the integer value of time.time(). A hash value of the lesson file is stored as ~/.solfege/statistics/lesson_id_hash (adding the string '_hash' to the lesson_id of the file.
When a lesson file is loaded, the hash value of the file is calculated, and compared to the value stored in ~/.solfege/statistics/lesson_id_hash. If they differ, the saved statistics is lost and the hash value of the new lesson file is written to file. This because it is not possible for the program to know what kind of changes is made to the file.
Test results
Test results are stored the same way as statistics. When a test is passed, the test result is written to the file ~/.solfege/statistics/lesson_id/passed.