back-in-time debugger in Kotlin (2023)
Kotlin is being rapidly adopted not only to create new microservices and Android projects, but also to migrate existing Java infrastructure for its advantages in code development compared to Java. This exponential growth, however, comes with the increased possibility of developers adding code flaws (aka bugs) to applications. Most of the existing debuggers for Kotlin offer mostly breakpoint features and miss on the advantages of back-in-time debuggers to analyze different execution paths and resolve errors by changing the state of the program in the past without the need of "re-running" the code. This dissertation explores a back-in-time debugger implementation for Kotlin based in the MVIKotlin framework. The general usage of this debugger is validated by replicating the use cases exposed for DeloreanJS, but using reactive programming.