The purpose of a seminar is to read and discuss papers critically:
A good question:
Types of good questions:
D Characterize the following questions:
In some cases, actually assigning roles may help the discussion:
Another form of role playing is debating. Groups are assigned two opposing views and try to defend them until an agreement is reached.
Encourage everyone to participate:
Help participants summarize and articulate what they ’ve learned
Be honest, open and inviting.
Most importantly: Keep notes!
Befor each session:
At the end of each session:
We will discuss the paper by Pradel and Sen “DeepBugs: A Learning Approach to Name-based Bug Detection” [1]
Most static analysis tools ignore identifier names, and this leads to simple bugs go unnoticed.
Q Can you spot the bug?
function setTimeout(callBack, delay){...};
browserSingleton.startPoller(100,
function(delay, fn) {
setTimeout(delay,fn);
});
A The order of arguments in setTimeout
is reversed.
Q Could a static analysis find it?
A Not without type hints
Idea: How about training an ML model to detect those kinds of bugs?
What does the paper do?
The paper trains an ML model to detect a single type of bugs.
How does the paper use ML techniques?
len
and count
are similar)What does the paper find?
Why are the results important?
The paper shows that:
3-4 questions to gauge the audience’s understanding of the paper
3-4 questions to trigger general discussions about the paper
to be filled in after the discussion by the discussion group