Mobile/Fennec/Android/Static analysis: Difference between revisions
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 | * '''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
- example checks? `lint --show`
- in automation? Treeherder tier 2 "Unit" job
- config? mobile/android/app/lint.xml
- open issues? Run locally for a complete list.
- meta bug? meta bug
- If you fix all issues for a warning, modify lint.xml to change your warning into an error!
Facebook Infer
Currently detects NullPointerExceptions and resource leaks in Android applications.
It's currently unknown how to run locally.
- example checks? Infer docs
- in automation? updated daily – planned move to Task Cluster. Use infer-filter to get the issues we care about from the daily update link.
- config? N/A
- open issues? See the automation link
- meta bug? meta bug
checkstyle
Checks code style
./mach gradle app:checkstyle
- example checks? Google's style guide
- in automation? In progress
- config? mobile/android/app/checkstyle.xml
- open issues? Issues we care about are blocking the meta
- meta bug? meta bug
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
- example checks? http://eslint.org/docs/rules/
- in automation? Treeherder tier 1 "ES" job
- config? mobile/*.eslintrc & root .eslintignore
- open issues? Open a .eslintrc and enable checks.
- meta bug? meta bug
- If you fix all issues for a warning, modify the appropriate .eslintrc to change your warning into an error!