Difference between revisions of "Crap4J and other metric tools"

From CitconWiki
Jump to navigationJump to search
m (Reverted edits by Upinson (talk) to last revision by Simon.brandhof)
 
Line 30: Line 30:
 
* [http://squadlimber.com/chris/mostLikelyToBeBuggyTop10.txt mostLikelyToBeBuggy.py] (For Java: based on TODOs and comments. See the related article: [http://squadlimber.com/chris/2007/04/26/sloppy-code-equals-buggy-code/ Sloppy Code Equals Buggy Code?])
 
* [http://squadlimber.com/chris/mostLikelyToBeBuggyTop10.txt mostLikelyToBeBuggy.py] (For Java: based on TODOs and comments. See the related article: [http://squadlimber.com/chris/2007/04/26/sloppy-code-equals-buggy-code/ Sloppy Code Equals Buggy Code?])
 
* [http://sonar.hortis.ch/ Sonar] (open-source projects dashboard and quality control tool)
 
* [http://sonar.hortis.ch/ Sonar] (open-source projects dashboard and quality control tool)
[http://www.tertinggal.com/jasa-seo-murah.html Jasa SEO Murah]
 
[http://www.tertinggal.com/jasa-seo-murah.html Jasa SEO]
 
[http://www.tertinggal.com/jasa-iklan-google-adwords.html Jasa Google Adwords]
 
[http://www.tertinggal.com/jasa-iklan-google-adwords.html Jasa Adwords]
 
[http://www.tertinggal.com/jasa-iklan-google-adwords.html Google Adwords]
 
[http://www.pusatsepatuonline.com/sepatu-safety-kode-p101.html Sepatu Safety]
 
[http://www.pusatsepatuonline.com/sepatu-futsal-adidas-zebra-01.html Sepatu Futsal]
 
[http://www.pusatsepatuonline.com/ Sepatu]
 
[http://www.cheapes.info Cheapes]
 
[http://www.hostgator-coupon.co Hostgator Coupon]
 
[http://www.linkbooking.info Link Booking]
 
[http://www.televisoriofferte.info Televisori offerte]
 
[http://www.notebook-offerte.info Notebook Offerte]
 
[http://www.govr.info Govr]
 
[http://www.ezido.info Edo Ziedo]
 
[http://www.portatileapple.info Portatile Apple]
 
[http://www.rdanet.info RDAnet]
 
[http://www.lorks.info Lorks]
 
[http://www.karikaturmurah.com Karikatur]
 
[http://www.bisnismodalkecil.org Bisnis Modal Kecil]
 
[http://www.bisnisukm.biz Bisnis UKM]
 
[http://www.tertinggal.com Berita Terbaru]
 
[http://www.iklanbaris.cheapes.info Iklan Baris]
 
[http://www.jasaseomurah.rdanet.info Jasa SEO Murah]
 
[http://www.seoindonesia.govr.info SEO Indonesia]
 
[http://www.konsultanseo.pctabletprezzi.info Konsultan SEO]
 
[http://www.seo.linkbooking.info SEO]
 
[http://www.belajarseo.ezido.info Belajar SEO]
 
[http://penumbuhrambut.net Penumbuh Rambut]
 
[http://www.kursusseo.com Kursus SEO]
 
[http://www.jamtangancasio.net Jam Tangan Casio]
 
[http://www.grosirbajuterbaru.com/ Grosir Baju]
 
[http://cupu.web.id Bisnis Online]
 
[http://www.kerupukkulit.org/ Kerupuk Kulit]
 
[http://www.socialbookmark-id.com Social Bookmark]
 
[http://www.kumpulanpuisi.org Kumpulan Puisi]
 
[http://wbcwonogiri.blogspot.com/ WBC Wonogiri]
 
[http://www.tertinggal.com/jam-tangan-murah.html Jam Tangan Murah]
 
[http://www.tertinggal.com/jam-tangan-casio.html Jam Tangan Casio]
 
[http://www.tertinggal.com/penumbuh-rambut.html Penumbuh Rambut]
 
[http://www.tertinggal.com/kerupuk-kulit.html Kerupuk Kulit]
 
[http://www.tertinggal.com/alat-kantor.html Alat Kantor]
 
[http://www.tertinggal.com/jasa-seo.html Jasa SEO]
 
[http://www.tertinggal.com/model-jilbab-terbaru.html Model Jilbab Terbaru]
 
[https://www.jenggala.com/home.php?cat= Fine Tableware]
 
[http://puff-it-now.com/ Permanent Hair Removal]
 
[http://islandsdevelopment.com/ island investment development]
 
[http://www.rani-wi.com/ professional makeup artist]
 
[http://www.balivillabooking.com/ bali private villa]
 
[http://awanirentcar.com/ Rental Mobil di Jakarta]
 
[http://www.mahkotaproperty.com Jual Rumah Jakarta]
 
[http://www.contactlenstechnologist.com/ Contact Lens Technology]
 

Latest revision as of 05:27, 10 September 2012

In this session I was specifically interested in discussing metric tools that have a bias towards identifying bad code. Having a metric that "measures code health" is not the same as one that "finds code sickness", and I'm more interested (for the moment) in the later.

To start the discussion I introduced CRAP4J, a free tool that tries to identify code that, if you had to inherit it, you'd probably declare as crappy. The purpose of the crap score is act like a cholesterol test. If your cholesterol score is above 200 mg/dL you need to lower it; if a method crap score is above 30 you need to either write more tests or refactor it. This strong bias to action is what sets CRAP4J apart from other tools that can identify the same problems but require more effort on the part of the user to read the tea leaves.

After the discussion of crap we moved onto Dependometer which is being developed by ValTech. Their point was that circular dependencies are a serious code smell, a problem both for testing and maintenence more generally. They use this tool to perform architecture reviews very quickly. Apparently an Eclipse plug-in version is being developed.

Next mention was Panopticode which provides interesing visualizations for a whole set of metrics.

java2cdiff creates files that can be used by CodeCrawler, a language independent metrics/reverse-engineering tool. In the post-talk discussion and web browsing we found that there's now an Eclipse plug-in that provides similar views, X-Ray. This looks very cool!

JUCA is an interesting attempt to estimate coverage without actaully running the tests. I don't quite understand why you don't just run the tests with a coverage tool, but I'm sure there must be a reason. (?)

One good idea that came up was to use check-in velocity and to enforce code rules & refactor in those areas that have the highest velocity. StatSVN came up as a useful tool to measure check-in velocity.

It didn't come up during the session but the new Clover has a cloud of classes that identify very similar information to CRAP4J, the most complex + least tested code, as project risk. Size is complexity, color is coverage. I discuss it and other ways to visualize complexity in a project in this blog.

Available tools

  • Crap4J (Change Risk Analysis and Predictions software metric)
* Podcast on CRAP4J with Alberto Savoia and Andy Glover