code as a crime scene
play

Code as a Crime Scene @AdamTornhill Empear AB - PowerPoint PPT Presentation

Treat Your Code as a Crime Scene @AdamTornhill Empear AB http://www.adamtornhill.com/ Understanding Code @AdamTornhill Cyclomatic Complexity @AdamTornhill Syntactic complexity metrics cannot capture the whole picture of software


  1. Treat Your Code as a Crime Scene @AdamTornhill Empear AB http://www.adamtornhill.com/

  2. Understanding Code

  3. @AdamTornhill

  4. Cyclomatic Complexity @AdamTornhill

  5. “Syntactic complexity metrics cannot capture the whole picture of software complexity” (Herraiz & Hassan) “The use of metrics to manage software projects has not even reached a state of infancy” (Glass) @AdamTornhill

  6. Intuition Doesn’t Scale

  7. Forensic Psychology

  8. g n i l fi o r P r e d n e f f O l a c i h p a r g o e G - n o i t c u d o r t n I s e t u n i M 2 a

  9. Profiling the Ripper

  10. How can we use this in Code ?

  11. A geography of code @AdamTornhill Code City, http://www.inf.usi.ch/phd/wettel/codecity.html

  12. Spatial Movement in Code When? Who? [0a05fba] Adam Tornhill 2013-09-17 Added an identity analysis as debug aid 
 5 1 README.md 
 5 5 src/code_maat/analysis/authors.clj 
 3 4 src/code_maat/app/app.clj 
 1 1 src/code_maat/core.clj 
 18 1 test/code_maat/end_to_end/scenario_tests.clj Where! @AdamTornhill

  13. Geographical profiling of Code @AdamTornhill

  14. Geographical profiling of Code Hotspot @AdamTornhill

  15. Case Study 400.000 Lines of Code 89 Software Developers 18 Months 18 258 Commits to the codebase @AdamTornhill

  16. Hotspot Hotspot From: https://pragprog.com/book/atcrime/code-as-a-crime-scene

  17. Hotspots and Defects 7 out of 8 most defect dense parts 4 % of the Code , 72 % of all defects !

  18. Improve 4 % of your code , get rid of most defects @AdamTornhill

  19. Evolution of a Program Time

  20. Complexity Trend method-to-ir.c Complexity 2010 Time 2014

  21. Software Development is a social activity @AdamTornhill

  22. e ? i L e Doesn’t d o C

  23. Temporal Coupling Commit #1 Commit #2 Commit #3 FuelInjector.cs Diagnostics.cs Combustion.cs Time @AdamTornhill

  24. Physical coupling Logical coupling ? @AdamTornhill

  25. Temporal Coupling @AdamTornhill

  26. Conway’s Law Legacy Code ? and

  27. @AdamTornhill

  28. A Perfect World Team #1 Team #2 Team #3 @AdamTornhill

  29. Team #2 Team #1 Team #4 Team #3 @AdamTornhill

  30. Team #1 Team #2 Team #4 Team #3 @AdamTornhill

  31. Align Your Architecture and Organisation

  32. y t i l a u Q Number of Programmers

  33. Fractal Figures @AdamTornhill Idea from: Fractal Figures: Visualizing Development Effort for CVS Entities (D’Ambros, Lanza, & Gall)

  34. Identify Main developers Main Developer “Knowledge Owner” @AdamTornhill

  35. Your map as a Guide @AdamTornhill

  36. Team #1 Team #2 Team #3 @AdamTornhill

  37. Social Networks in Code @AdamTornhill

  38. Loss of Knowledge @AdamTornhill

  39. Abandoned subsystem @AdamTornhill

  40. Code <3 Forensics @AdamTornhill

  41. The Book: https://pragprog.com/book/atcrime/your-code-as-a-crime-scene Read More: http://www.adamtornhill.com/ @AdamTornhill adam.tornhill@empear.com Empear AB

Recommend


More recommend