This page presents the material related to the tutorial on Empirical Software Engineering that I’ll give at . The tutorial will be a mix of lecture, DIY and student presentations.
Don’t hesitate to ask me questions in advance by .
–Martin
The course is a success if:Ask questions, interrupt me, you don’t have to listen to me.
Introduction to Empirical Software Engineering:
At the end of the day, you will be asked to present an article about empirical research. You can do the exercise alone or in pair.
Read an empirical software engineering paper (paper choice discussed below) so as to answer the following questions:
You can plan one slide per question. The presentation is expected to last 5 minutes, plus questions and discussion afterwards.
:
GitHub Java Corpus: (1.8GB)
UCI Source Code Data Sets : (80GB, 390GB, )
Qualitas Corpus:
What is the distribution of file size? Why? Tool: WC on source files
What is the distribution of dependencies? Is the distribution on incoming and outgoing dependencies different? Tool: in Java DependencyFinder ()
What is the linking between repo and bug repository? Tool: git log (git log –oneline | grep MATH- | less)
What is the code ownership map of software X? Tool git log:
What is the distribution of commit size? Tool git log: see documentation of
What is the of source code? Tool: njrams
What is the of source code ()? Tool: njrams
What is the average depth of if statements? Tool: analyze the abstract syntax tree of C/C++/Java/C# with srcML and the XML library you like.