• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
CSI 29 sept 2012

CSI 29 sept 2012



Presented by Smitha Thumbikkat and Milan Chandrahasn, Collabera Solutions at the Best Practices Sharing Event in 2012 conducted by the Computer Society of India held,in Bangalore

Presented by Smitha Thumbikkat and Milan Chandrahasn, Collabera Solutions at the Best Practices Sharing Event in 2012 conducted by the Computer Society of India held,in Bangalore



Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds


Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    CSI 29 sept 2012 CSI 29 sept 2012 Presentation Transcript

    • A New Paradigm in Software Quality Smitha T, Milan C Collabera Solutions 1 Bangalore
    • Fundamental challenge - measurability People Engineering 3
    • Genrich Altshuller scanned 400,000 patentdescriptions, and found that only 2% were reallynew. This means, 98% of all new problems canbe solved using previous experience/learning(s). 4
    • 1976 1955 1913 IndustrialRevolution 5
    • “. . . .Yo u r hands can’t Structural hit what application profile Codestructure Test case adequacy your eyes can’t s e e … . .” Requirements structure Muhammad Ali 6
    • Typical Lifecycle in Collabera System Design &Requirements Architecture Unit Testing /Functional Coding TestingRequirements & Architecture Continuous Integration & Iteration Releases Baseline 7
    • Can ‘defect prone’ tendency be isolated? 9
    • The problem of plenty…Cyclomatic % comment Lines Density of comment Violationscomplexity lines%Branch Java NCSS Public undocumented Complexity API distribution byStatements methodDepth of Npath Complexity Duplicated linesInheritance Duplicated blocks ComplexityCalls/method Class Fan Out distribution by class Complexity Number of childrenMethods / Class Afferent couplings Class Data Abstraction File dependencies toClass Coupling coupling Lack of cohesion cutMaintainability methodsIndex Boolean Expression Package dependencies complexity to cut 10
    • Influence ofSIT with engineering metrics Correlating complexity attribute II % Branches Block Depth % Branches Block Depth Cyclomatic Complexity Max Cyclomatic Complexity 11 Bridging the eagle’s eye and worm’s view Slide 11
    • Composite parameter analysis Study from European university Number of Class vs SIT defects 2% 1%1% 4%  Key parameters measured  Cyclomatic complexity/LOC  No. of methods/class  No. of Calls/method 92%  LOC/method8% of classes is contributing to 100% of SIT defects 12
    • Toxicity Analysis Correlates to AT & SIT defectsDetailed study of the data shows most of the SIT & AT defects are occurring amongst the top four Java classes shown in the sample data above which have highly toxic code with high method length 13
    • UC complexity v/s cyclomatic complexity 14
    • See code akin to a city map... 15
    • Developer’s Structural Analysis Kit Parameters Tools Process• Max /Avg. Cyclomatic • Source monitor • Integration to build tools Complexity • PMD • Prior to code review• Methods Per Class • Checkstyle • Analysis before release• Avg Statements Per • iPlasma & Code city Method • Sonar• % Branch statements• Max Block Depth• No. of Calls/method• LOC/method• Data abstraction coupling 16
    • Shifting to the better – Project level 17
    • Shifting to the better – Org level1816141210 Dec-108 Dec-116420 Max Code Methods per Statement Branches % Max Block Complexity Class per Method Depth 18
    • Improved Pre-SIT Detection Dec-09 Dec-11 Till Date 19
    • Shift in defect distributionRequirements & Code Review Unit Test System Test Post Release Design review Pre Post 20
    • Customer SatisfactionEngagement Planning Engagement Execution Engagement Results People Overall 2011 2010 21
    • Qualitative Benefits• Objective measures; language of developer• Improve ability to isolate and deal with the defective ones• Improved risk management and transparency 22
    • Future Study..• Profiling maintenance enhancements to be defect prone changes upfront• Profiling application security and performance than just maintainability and functional quality 23
    • Thank youMilan C (milanc@collabera.com )Smitha T – (smithat@collabera.com) 24