Description
The library extracts commit sequences from git histories, for which we can then simulate the evolution of variants. The method responsible for extracting sequences does so recursively. For long or complicated histories, this might lead to a stackoverflow error, as the recursion becomes too deep.
Reproduce
- Extract a variability dataset for Marlin with VEVOS Extraction
- Follow the README instructions in VEVOS Simulation to create a simulation example for Marlin
- Start the simulation with the JVM option
-Xss1M to reduce the stack size
- The program should then crash on the call to
getVariabilityHistory
Possible fix
Remove the recursion in longestNonOverlappingSequences.
Description
The library extracts commit sequences from git histories, for which we can then simulate the evolution of variants. The method responsible for extracting sequences does so recursively. For long or complicated histories, this might lead to a stackoverflow error, as the recursion becomes too deep.
Reproduce
-Xss1Mto reduce the stack sizegetVariabilityHistoryPossible fix
Remove the recursion in longestNonOverlappingSequences.