Build Stuff'14 has ended
Back To Schedule
Friday, November 21 • 11:20 - 12:15
Evelina Gabasova - Detangling software dependency networks (Slides)

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!

Fans of different programming languages always argue about benefits of their language of choice. It is difficult to use objective criteria in a debate like this. Terms like 'clarity' or 'maintainability' are too vague and subjective. What if we used some tools from machine learning and network science to compare projects written in different languages?

In the talk, I’ll examine how the choice of programming language affects dependency structure of code. I will interactively compare different projects written in C# and F# languages. The two languages use the same execution runtime, both are statically typed, but they represent different programming paradigms - object-oriented C# and functional F#.

I’ll show that F# and C# implicitly lead to different graph structures and local network patterns. Specifically, I'll describe specific types of cyclic dependencies that frequently appear only in C# projects. Seeing the local network patterns can give more insights than calculating measures like cyclometric complexity of code. I’ll also show how anyone can run the analysis on a their own software project.

avatar for Evelina Gabasova

Evelina Gabasova

Evelina is a machine learning and data science enthusiast. She studied computational statistics and machine learning at University College London and currently she is finishing her PhD at Cambridge University in bioinformatics and statistical genomics. Evelina has used many different... Read More →

Friday November 21, 2014 11:20 - 12:15 EET
3. Lambda

Attendees (0)