ScalaCG
Is analyzing the Scala source code any different than analyzing the JVM bytecodes that the Scala compiler generates? In this work, we developed ScalaCG, a collection of low-cost call graph analyses that target the Scala source code and support various Scala features such as traits, abstract type members, closures, and path-dependent types. Using ScalaCG produces call graphs that are up to 19x more precise than using a bytecode-based approach in terms of call edges and reachable nodes.
Related Publications
2015
- TOSEMType-Based Call Graph Construction Algorithms for ScalaACM Transactions on Software Engineering and Methodology, Nov 2015
2014
- ECOOPConstructing Call Graphs of Scala ProgramsIn European Conference on Object-Oriented Programming, Nov 2014