General description

Software repositories archive valuable software engineering data, such as source code, execution traces, historical code changes, mailing lists, and bug reports. This data contains a wealth of information about a project’s status and history. Doing data science on software repositories, researchers can gain empirically based understanding of software development practices, and practitioners can better manage, maintain, and evolve complex software projects.

In the recent years, the advances in Machine Learning and AI technologies, as demonstrated by the successful application of Deep Neural Networks in various domains did not go unoticed in the field of Software Analytics. Researchers have applied DNNs to tackle issues such as automated program repair, code summarization, code structure representation, etc.

IN4334 is a seminar course that aims to give students a deep understanding of and hands-on approach on how deep neural networks and NLP techniques are used by today’s industry leaders to represent knoweledge and solve existing problems in novel ways.

Learning Objectives

This course will enable students to:

Course Organization

The course projects

During the course, you will need to replicate an existing paper with

Replication is a topic much touted but seldom practiced in the mining software repositories and the software analytics communities. It is, however, a core aspect of science, especially empirical.

The purpose of this task is to attempt a replication of a recent paper, either by downloading readily available data sets published together with the paper, requesting the data from the original authors or by applying the same techniques on a different sample. You will select a paper from the list that you studied for your literature survey.

Study material

The following material is a-must-read in the study of software analytics.

Contents

Date Week Lecture Topic Lecturer
3/9 1 1 Course Introduction, Quantitative methods in Software Engineering GG
5/9 1 2 Discussion Groups GG
10/9 2 1 Process Analytics AR / GG
12/9 2 2 Testing Analytics students, MB
17/9 3 1 Build Analytics students, MB
19/9 3 2 Bug Prediction students, MB
24/9 4 1 Software Ecosystem Analytics students, JH
26/9 4 2 Release Engineering Analytics students, AR
1/10 5 1 Results: Survey on Software Analytics students
3/10 5 2 Code Review students, GG
8/10 6 1 Runtime and Performance Analytics, Cross-review of surveys MK
10/10 6 2 App Store Analytics students, MK
15/10 7 1 Analytics at Work: ING Hennie Huijgens
17/10 7 2 Results: Replication project results students

Lecturers

Assessment

The final course grade will be calculated as:

All deliverables will be peer-reviewed by 2 other teams. The peer-review grade is 50% of the final grade per grade item.

Bibliography

[1] C. Bird, T. Menzies, and T. Zimmermann, The art and science of analyzing software data, 1st ed. San Francisco, CA, USA: Morgan Kaufmann Publishers Inc., 2015.