do crosscutting concerns cause defects n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Do Crosscutting concerns cause defects? PowerPoint Presentation
Download Presentation
Do Crosscutting concerns cause defects?

Loading in 2 Seconds...

play fullscreen
1 / 17

Do Crosscutting concerns cause defects? - PowerPoint PPT Presentation


  • 117 Views
  • Uploaded on

Marc Eaddy , Thomas Zimmermann, Kaitlin Sherwood, Vibhav Garg , Gail Murphy, Nachiappan Nagappan , Alfred Aho IEEE Transactions on Software Engineering July-Aug. 2008. Do Crosscutting concerns cause defects?. Reviewed By : Paul Varcholik University of Central Florida

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Do Crosscutting concerns cause defects?' - gyan


Download Now An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
do crosscutting concerns cause defects

Marc Eaddy, Thomas Zimmermann, Kaitlin Sherwood, VibhavGarg, Gail Murphy, NachiappanNagappan, Alfred Aho

IEEE Transactions on Software Engineering July-Aug. 2008

Do Crosscutting concerns cause defects?

Reviewed By:

Paul Varcholik

University of Central Florida

pvarchol@ist.ucf.edu

EEL 6883 – Software Engineering II

Spring 2009

what is crosscutting
What is Crosscutting?
  • Implementation, of a concern, that is scattered across the program
  • A concern is any consideration that can impact the implementation of a program.
    • Features from a feature list
    • Requirements
    • Design patterns and design elements for a UML design document
    • Low-level programming concerns
      • Language
      • Coding Style
      • Algorithms
research question
Research Question
  • How much does the amount that a concern is crosscutting affect the number of defects in a program?
  • Hypothesis

The more scattered a concern’s implementation is, the more defects it will have, regardless of the implementation size.

  • Examined through three extensive case studies
why might crosscutting concerns cause defects
Why Might Crosscutting Concerns Cause Defects?
  • A crosscutting concern is:
    • Harder to implement and modify
      • Multiple – possibly unrelated – locations in the code have to be found and updated simultaneously
    • Harder to understand
      • Developers must mentally untangle the code
why might crosscutting concerns cause defects1
Why Might Crosscutting Concerns Cause Defects?
  • Crosscutting first emerges when the developer creates – perhaps without realizing it – a concern implementation plan.
  • Maintainers may proceed without a full understanding of the scattered nature of the implementation.
prior work
Prior Work
  • Several empirical studies
  • Evidence that crosscutting concerns degrade code quality because they negatively impact internal quality metrics
    • Program size
    • Coupling
    • Separation of concerns (modularization)
additional terminology
Additional Terminology
  • A concern is scattered if it is related to multiple target elements.
  • A concern is tangled if both it and at least one other concern are related to the same target element.
model
Model
  • Concern – an item from a program’s non-executable specification
  • Program Elements
    • Classes
    • Fields
    • Methods
  • Defect – a software bug
methodology
Methodology
  • Reverse Engineer the concern-code mapping (subjective)
  • Mine thebug-code mapping
  • Infer the bug-concern mapping
case studies
Case Studies
  • Mylyn-Bugzilla
    • Eclipse plug-in
  • Rhino
    • JavaScipt/ECMAScript interpreter and compiler
  • iBATIS
    • Object-Relational mapping
spearman correlation coefficients
Spearman Correlation Coefficients

Range: -1.0 (a perfect negative correlation) to 1.0 (a perfect positive correlation)

conclusion
Conclusion
  • All three studies showed a moderate-to-strong correlation between the degree of scattering and the number of defects.

Concern scattering is correlated with defects.

  • But does it cause defects? Three criteria for causality:
    • Cause must precede the effect
    • A correlation must exist
    • The correlation must not be spurious
strengths
Strengths
  • Novel (appears to be first empirical study to examine crosscutting-defect correlation)
  • Well written
  • Solid statistical analysis
  • Technically sound methodology
  • Simple, but important, hypothesis
weaknesses
Weaknesses
  • Small study size (3 projects)
  • Human analyst for estimating concern-code mapping
  • Questionable techniques for identifying concerns(requirements)
  • Some misstatements in the paper
  • Do these results generalize? (e.g. across languages)
final thoughts
Final Thoughts
  • Study needs to be replicated
  • Can defects be reduced by reducing crosscutting?
  • Why does crosscutting occur?
    • Programming technology
    • Developer aptitude
    • Inherent complexity of the concern
questions

Do Crosscutting Concerns Cause Defects?

Marc Eaddy, Thomas Zimmermann, Kaitlin Sherwood, VibhavGarg, Gail Murphy, NachiappanNagappan, Alfred Aho

IEEE Transactions on Software Engineering July-Aug. 2008

Reviewed By:

Paul Varcholik

University of Central Florida

pvarchol@ist.ucf.edu

EEL 6883 – Software Engineering II

Spring 2009

Questions?