Abstract. As Scala gains popularity, there is growing interest in pro-gramming tools for it. Such tools often require call graphs. However, call graph construction algorithms in the literature do not handle Scala fea-tures, such as traits and abstract type members. Applying existing call graph construction algorithms to the JVM bytecodes generated by the Scala compiler produces very imprecise results due to type information being lost during compilation. We adapt existing call graph construc-tion algorithms, Name-Based Resolution (RA) and Rapid Type Analysis (RTA), for Scala, and present a formalization based on Featherweight Scala. We evaluate our algorithms on a collection of Scala programs. Our results show that careful handling of compl...
Scala is a programming language that combines the object-oriented and functional programming paradig...
Datatype-generic programming involves parametrization by the shape of data, in the form of type cons...
This thesis deals with comparing the Scala programming language with other commonly used languages f...
The performance of contemporary object oriented languages depends on optimizations such as devirtual...
In object oriented programming, a Call Graph represents the calling relationships between the progra...
This paper investigates the viability of using scope graphs to implement type checkers for programmi...
Today, every application uses software libraries. Yet, while a lot of research exists w.r.t. analyz...
Over the past decade, the Scala community has shown great interest in using type-level programming t...
Datatype-generic programming (DGP) involves parametrization of programs by the shape of data, in the...
Datatype-generic programming (DGP) involves parametrization of programs by the shape of data, in the...
Scala relies on libraries as the default mechanism for language extension. While this provides an el...
The Scala programming language offers two distinctive language features implicit parameters and impl...
Datatype-generic programming involves parametrization of programs by the shape of data, in the form ...
The Scala programming language offers two distinctive language features implicit parameters and impl...
We present a minimal core calculus that captures interesting constructs of the Scala programming lan...
Scala is a programming language that combines the object-oriented and functional programming paradig...
Datatype-generic programming involves parametrization by the shape of data, in the form of type cons...
This thesis deals with comparing the Scala programming language with other commonly used languages f...
The performance of contemporary object oriented languages depends on optimizations such as devirtual...
In object oriented programming, a Call Graph represents the calling relationships between the progra...
This paper investigates the viability of using scope graphs to implement type checkers for programmi...
Today, every application uses software libraries. Yet, while a lot of research exists w.r.t. analyz...
Over the past decade, the Scala community has shown great interest in using type-level programming t...
Datatype-generic programming (DGP) involves parametrization of programs by the shape of data, in the...
Datatype-generic programming (DGP) involves parametrization of programs by the shape of data, in the...
Scala relies on libraries as the default mechanism for language extension. While this provides an el...
The Scala programming language offers two distinctive language features implicit parameters and impl...
Datatype-generic programming involves parametrization of programs by the shape of data, in the form ...
The Scala programming language offers two distinctive language features implicit parameters and impl...
We present a minimal core calculus that captures interesting constructs of the Scala programming lan...
Scala is a programming language that combines the object-oriented and functional programming paradig...
Datatype-generic programming involves parametrization by the shape of data, in the form of type cons...
This thesis deals with comparing the Scala programming language with other commonly used languages f...