Quality metrics: Nutritional Labels for Code G. Ann Campbell @GAnnCampbell GenevaJug
Why is this important? Software is Everywhere
Software is everywhere https://www.lifewire.com/the-8-best-smart-home-products-4034624
Software is everywhere https://www.lifewire.com/the-8-best-smart-home-products-4034624
Software is everywhere https://www.lifewire.com/the-8-best-smart-home-products-4034624
Software is everywhere http://www.makeuseof.com/tag/9-stupidest-smart-home-appliances/
Software is everywhere https://www.wareable.com/smart-home/best-smart-kitchen-devices
Software is everywhere http://www.makeuseof.com/tag/9-stupidest-smart-home-appliances/
Software is everywhere
Software is everywhere
Software is everywhere
Software is written by people People make mistakes
http://www.theverge.com/2017/1/10/14225716/apple-macbook-pro-consumer-reports-battery-life-issue-update-bug
http://www.sciencealert.com/a-bug-in-fmri-software-could-invalidate-decades-of-brain-research-scientists-discover
https://www.theregister.co.uk/2016/07/13/coding_error_costs_citigroup_7m/
https://www.bleepingcomputer.com/news/security/about-90-percent-of-smart-tvs-vulnerable-to-remote-hacking-via-rogue-tv-signals/
https://arstechnica.com/security/2017/04/wide-range-of-android-phones-vulnerable-to-device-hijacks-over-wi-fi/
https://techcrunch.com/2017/02/23/major-cloudflare-bug-leaked-sensitive-data-from-customers-websites/
http://www.softwaretestingnews.co.uk/hackers-exploit-software-bug-breach-canadian-government-agency-site/
http://www.bbc.com/news/technology-35167191
http://news.softpedia.com/news/medical-equipment-crashes-during-heart-procedure-because-of-antivirus-scan-503642.shtml
http://www.safetyresearch.net/blog/articles/toyota-unintended-acceleration-and-big-bowl-%E2%80%9Cspaghetti%E2%80%9D-code http://www.edn.com/design/automotive/4423428/Toyota-s-killer-firmware--Bad-design-and-its-consequences
Great. We’re doomed
Not necessarily...
Food is everywhere too
And it can be a minefield
Nutrition labels
Nutrition labels
Static analysis ● Analyze code without executing it ● Used to find ○ Bugs ○ Bad coding practices ○ Vulnerabilities (some) ● Easy to integrate into the build process ● Wikipedia lists 30+ static analysis tools
Full disclosure I work for SonarSource
SonarQube Quality Model https://next.sonarqube.com/sonarqube/projects
Nutrition Labels for Code Static Analysis D Reliability E Vulnerability B Maintainability
Nutrition Labels for Code https://sonarqube.com
Why ● Analyze : If you measure it you can improve it ● Publish : Positive peer pressure => more publishing ● Improve : Competition => Rising tide of improved quality
Will Consumers ‘Get it’? ● Not at first ● Simple format will help ● So will correlation in news coverage
Recap ● Software is everywhere ● Software quality is a black box ● Publishing static analysis results => glass box ● Glass box => better software
@GAnnCampbell
That’s all, Folks @GAnnCampbell
Recommend
More recommend