CSI 29 sept 2012

251 views
180 views

Published on

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

Published in: Entertainment & Humor
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
251
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

CSI 29 sept 2012

  1. 1. A New Paradigm in Software Quality Smitha T, Milan C Collabera Solutions 1 Bangalore
  2. 2. Fundamental challenge - measurability People Engineering 3
  3. 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
  4. 4. 1976 1955 1913 IndustrialRevolution 5
  5. 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
  6. 6. Typical Lifecycle in Collabera System Design &Requirements Architecture Unit Testing /Functional Coding TestingRequirements & Architecture Continuous Integration & Iteration Releases Baseline 7
  7. 7. Can ‘defect prone’ tendency be isolated? 9
  8. 8. 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
  9. 9. 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
  10. 10. 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
  11. 11. 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
  12. 12. UC complexity v/s cyclomatic complexity 2.3.47.2 2.3.41.2 2.3.42.2 2.3.43.2 2.3.44.2 2.3.13.22.3.15.2 2.3.48.2 2.3.11.2 2.3.23.2 2.3.20.2 2.3.1.2 2.3.19.2 2.3.20.2 2.3.30.2 2.3.32.2 2.3.37.22.3.16.2 2.3.25.2 2.3.49.2 2.3.38.2 2.3.33.2 2.3.36.2 2.3.4.2 2.3.5.2 2.3.26.2 2.3.2.2 2.3.50.22.3.17.2 2.3.39.2 2.3.34.2 2.3.52.2 2.3.6.2 2.3.9.2 2.3.27.2 2.3.7.2 2.3.45.22.3.18.2 2.3.40.2 2.3.35.2 2.3.12.2 2.3.10.2 2.3.53.2 2.3.10.12.3.22.2 2.3.46.2 14
  13. 13. See code akin to a city map... 15
  14. 14. 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
  15. 15. Shifting to the better – Project level 17
  16. 16. Shifting to the better – Org level1816141210 Dec-108 Dec-116420 Max Code Methods per Statement Branches % Max Block Complexity Class per Method Depth 18
  17. 17. Improved Pre-SIT Detection Dec-09 Dec-11 Till Date 19
  18. 18. Shift in defect distributionRequirements & Code Review Unit Test System Test Post Release Design review Pre Post 20
  19. 19. Customer SatisfactionEngagement Planning Engagement Execution Engagement Results People Overall 2011 2010 21
  20. 20. Qualitative Benefits• Objective measures; language of developer• Improve ability to isolate and deal with the defective ones• Improved risk management and transparency 22
  21. 21. Future Study..• Profiling maintenance enhancements to be defect prone changes upfront• Profiling application security and performance than just maintainability and functional quality 23
  22. 22. Thank youMilan C (milanc@collabera.com )Smitha T – (smithat@collabera.com) 24

×