Have you heard of ScalaClean?
If you're looking for an introduction then check out this talk from Software Consultant, Rory Graves at Scala Days. You'll be able to apply the changes you learn to reduce the size of the codebase and improve incremental compilation!
ScalaClean - full program static analysis at scale
This talk introduces ScalaClean which applies whole program static analysis to larger codebases. By combining data available from ScalaMeta and SemanticDB we are able to generate a full graph of all packages, classes, functions and variables within a codebase. We are able to use graph colouring to provide interesting analysis of the graph to infer dead code and correct visibility scopes. We can apply these changes back to the code reducing the size of the codebase and improves incremental compilation and IDE completions.
This talk explores current progress and future direction of this work.
About Rory Graves
Rory spends his life fighting to find a balance between writing ugly high performance code and beautiful maintainable code. He fights from the trenches to make software better, contributing to open source and has worked across the entire gamut of software from building a JVM to optimising grid computing. He believes that great tools are the key to unlocking the full potential of modern programming languages.