2. Debugging is
Hard
2
[ICSE ‘13 Nguyen]
•Sig. amt. of time
•Root cause found, fixing difficult
[ESEC/FSE ’09 Ashok]
•Sig. amt. of time
•Similar bugs debugged
What’s wrong
with my code?
4. But….. they are
underusedThey are known for..
1.producing many warnings …. AND
2.Many of them are false positives…. AND
3.Ways In which warnings are presented
(counterintuitive, confusion)
4
[ICSE ‘13 Johnson]
7. Oh my god….. This piece of
code looks so similar to
mine..
7
So, what does it means by many
recurring questions?
Many developers are facing many similar issues…
Challenges for developers?
• Needs frequent visit
• Rapid growth of crowd knowledge
• May not even know you have problem
17. 17
Title & Element
Filters
Title & Element
Filters
Non-Essential Code
Filters
Non-Essential Code
Filters
Similarities FiltersSimilarities Filters
Stack Overflow Question Title
Target Clone
18. 18
Title & Element
Filters
Title & Element
Filters
Non-Essential Code
Filters
Non-Essential Code
Filters
Similarities FiltersSimilarities Filters
Target Clone
Stack Overflow Answer Code Fragment
19. • [ICSE ‘11 Kawrykow]
• Non-essential code-changes
• Can cause inaccurate representation of software development effort
19
Title & Element
Filters
Title & Element
Filters
Non-Essential Code
Filters
Non-Essential Code
Filters
Similarities FiltersSimilarities Filters
20. • SO Clone < 4
• Overridden methods
• Single Statement Block
20
Title & Element
Filters
Title & Element
Filters
Non-Essential Code
Filters
Non-Essential Code
Filters
Similarities FiltersSimilarities Filters
21. 21
Similarity Filter #1
•SO Clone/Answer Ratio > 0.8
Similarity Filter #2
•SO Clone/Answer Ratio > 0.37
•Target Clone/Answer Ratio > 0.25
Title & Element
Filters
Title & Element
Filters
Non-Essential Code
Filters
Non-Essential Code
Filters
Similarities FiltersSimilarities Filters
24. RQ1: (Detectability) How many warnings
can be
detected using our technique?
24
RQ2: (Confirmed Bugs) How many warnings from
our technique are confirmed as bugs by developers?
RQ3: (Comparison)
1) How many confirmed bugs can also be detected in FindBugs,
JLint and PMD, &
2) How many bugs are missing which can be found in FindBugs,
JLint and PMD??
29. 29
JFreeChart
JStudyPlanner
Thanks for the feedback. I agree with your suggestion and will fix these cases…
- David Gilbert (Project Leader)
Thank you very much for your message. This is very valuable to me… Once again your
research is very helpful. I’ll do all the checks in service objects to handle
NullPointerExceptions.
- Oleg Lukin (Project Owner)
31. RQ3: (Comparison)
2) How many bugs are missing which can be found in FindBugs, JLint
and PMD?
31
3
32. LIMITATIONS AND THREATS TO
VALIDITY
• Data Type Insensitive
• Code Terms outside Code Blocks
• Evaluation of warnings from other Static Analysis tools
32
33. • New way to debug your code
• Find bugs within well maintained open source code
• Locates and explains the bug
• Provide the crowd’s solution with explanation.
33
Key Takeaways