Mobile/Fennec/Android/Static analysis: Difference between revisions

From MozillaWiki
< Mobile‎ | Fennec‎ | Android
Jump to navigation Jump to search
Line 16: Line 16:


* '''example checks?''' [http://fbinfer.com/docs/infer-bug-types.html Infer docs]
* '''example checks?''' [http://fbinfer.com/docs/infer-bug-types.html Infer docs]
* '''in automation?''' [https://people.mozilla.org/~sledru/reports/fennec-infer/bugs.txt updated daily] – planned move [https://bugzilla.mozilla.org/show_bug.cgi?id=1258469 to Task Cluster]. Use [https://github.com/mcomella/infer-filter infer-filter] to get the issues we care about from the above link.
* '''in automation?''' [https://people.mozilla.org/~sledru/reports/fennec-infer/bugs.txt updated daily] – planned move [https://bugzilla.mozilla.org/show_bug.cgi?id=1258469 to Task Cluster]. Use [https://github.com/mcomella/infer-filter infer-filter] to get the issues we care about from the daily update link.
* '''config?''' N/A
* '''config?''' N/A
* '''open issues?''' See the automation link
* '''open issues?''' See the automation link

Revision as of 16:14, 8 April 2016

Android Lint

Catches various errors & optimizations specifically related to Android code and resources

./mach gradle app:lint

Facebook Infer

Currently detects NullPointerExceptions and resource leaks in Android applications.

It's currently unknown how to run locally.

checkstyle

Checks code style

./mach gradle app:checkstyle

Coverity

Cloud-based static analysis that catches many miscellaneous Java errors, e.g. null dereference & dead code

https://scan.coverity.com/projects/firefox-mobile

  • example checks? N/A
  • in automation? See above link
  • config? Configured online
  • open issues? See online
  • meta bug? meta bug
  • You must be added as a member of the Coverity project in order to interact with the dashboard – talk to :Sylvestre
  • You can sign up for email notifications (via the online interface) when new Coverity defects are found

eslint

Checks for Javascript errors (e.g. syntax errors, almost like a compiled language! :D)

./mach eslint --setup  # run once, or if the command breaks for some reason
./mach eslint mobile/android