Do crosscutting concerns cause defects
This presentation is the property of its rightful owner.
Sponsored Links
1 / 17

Do Crosscutting concerns cause defects? PowerPoint PPT Presentation


  • 83 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

Do Crosscutting concerns cause defects?

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

[email protected]

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


Concern metrics

Concern Metrics


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

[email protected]

EEL 6883 – Software Engineering II

Spring 2009

Questions?


  • Login