Exploring different programming languages in Android projects

Introduction

For every software application growing over the years, the complexity increases substantially. That said, Android is becoming a mature operating system, thus the platform complexity achieved new heights over the past few years. One exciting discovery we encountered during analysis of Android apps was that some apps use more than 75 (!) different languages in their project folders.

Problem

Not much information is available about the use of languages in those apps. Problems may arise due to the use of complex languages, or their improper integration.

State of the art

Various aspects of Android applications have been in researchers focus for the past few years, particularly code written in Java, Kotlin, or C, however, the use of other languages was not their concern.

Task

The goal of this seminar project is to shed light on the use of the different languages, which might provide insights that could spark future work. The corpus containing the apps with the corresponding language metadata will be provided to the student upon the start of the project.

With this data, the task will consist of:

Guiding research questions