Software Gardener at SonarSource
New Kotlin compiler backend in 1.5 - new challenges for bytecode analysis tools?
You might probably know about work in Kotlin compiler on stabilizing new JVM IR backend, and that they were finished, and that Kotlin compiler 1.5 came out recently with this new JVM IR backend enabled by default. But do you know how this change affected the class files that your builds produce? Let’s have fun by looking into bytecode produced by different versions of the Kotlin compiler. And let’s learn how this affects bytecode analysis tools such as JaCoCo, which finds in bytecode and filters out various compiler-generated artifacts that otherwise require unnecessary and sometimes impossible tricks to have full code coverage.