get em before they get you
TRANSCRIPT
![Page 1: Get em before they get You](https://reader038.vdocuments.us/reader038/viewer/2022100808/546cc324af7959e91e8b5c9c/html5/thumbnails/1.jpg)
1www.jetbrains.com
Get 'embefore they get you
Václav Pech
Software Developer, Technology EvangelistJetBrains, s.r.o.
![Page 2: Get em before they get You](https://reader038.vdocuments.us/reader038/viewer/2022100808/546cc324af7959e91e8b5c9c/html5/thumbnails/2.jpg)
2www.jetbrains.com
Agenda
Static Code Analysis
Duplicate Detection
Stacktrace Analysis
Dataflow Analysis
Dependency Analysis
DSM
![Page 3: Get em before they get You](https://reader038.vdocuments.us/reader038/viewer/2022100808/546cc324af7959e91e8b5c9c/html5/thumbnails/3.jpg)
3www.jetbrains.com
Static Code Analysis
Searches AST for bug patterns
On demand
On the fly
![Page 4: Get em before they get You](https://reader038.vdocuments.us/reader038/viewer/2022100808/546cc324af7959e91e8b5c9c/html5/thumbnails/4.jpg)
4www.jetbrains.com
Abstract Syntax Tree
![Page 5: Get em before they get You](https://reader038.vdocuments.us/reader038/viewer/2022100808/546cc324af7959e91e8b5c9c/html5/thumbnails/5.jpg)
5www.jetbrains.com
A quick peek into the sources
![Page 6: Get em before they get You](https://reader038.vdocuments.us/reader038/viewer/2022100808/546cc324af7959e91e8b5c9c/html5/thumbnails/6.jpg)
6www.jetbrains.com
Advanced capabilities
Quick fixesProfilesSuppressing false positivesSpell-checkerCommand-line and CI integration
![Page 7: Get em before they get You](https://reader038.vdocuments.us/reader038/viewer/2022100808/546cc324af7959e91e8b5c9c/html5/thumbnails/7.jpg)
7www.jetbrains.com
There’s more than Java out there
JavaScriptCSS, HTML, XMLGWT, StrutsEE, ME
![Page 8: Get em before they get You](https://reader038.vdocuments.us/reader038/viewer/2022100808/546cc324af7959e91e8b5c9c/html5/thumbnails/8.jpg)
8www.jetbrains.com
722
![Page 9: Get em before they get You](https://reader038.vdocuments.us/reader038/viewer/2022100808/546cc324af7959e91e8b5c9c/html5/thumbnails/9.jpg)
9www.jetbrains.com
![Page 10: Get em before they get You](https://reader038.vdocuments.us/reader038/viewer/2022100808/546cc324af7959e91e8b5c9c/html5/thumbnails/10.jpg)
10www.jetbrains.com
Create your own bug patterns
Define
an AST sub-tree to search for
an AST sub-tree to replace it with
![Page 11: Get em before they get You](https://reader038.vdocuments.us/reader038/viewer/2022100808/546cc324af7959e91e8b5c9c/html5/thumbnails/11.jpg)
11www.jetbrains.com
Helper annotations - JSR 305 & 308
@Nullable, @NotNull, @Nls, @NonNls
@PropertyKey, @Pattern, @Language
@ThreadSafe, @GuardedBy
@Immutable
![Page 12: Get em before they get You](https://reader038.vdocuments.us/reader038/viewer/2022100808/546cc324af7959e91e8b5c9c/html5/thumbnails/12.jpg)
12www.jetbrains.com
@Pattern
![Page 13: Get em before they get You](https://reader038.vdocuments.us/reader038/viewer/2022100808/546cc324af7959e91e8b5c9c/html5/thumbnails/13.jpg)
13www.jetbrains.com
Language injection
![Page 14: Get em before they get You](https://reader038.vdocuments.us/reader038/viewer/2022100808/546cc324af7959e91e8b5c9c/html5/thumbnails/14.jpg)
14www.jetbrains.com
Stacktrace Analysis
![Page 15: Get em before they get You](https://reader038.vdocuments.us/reader038/viewer/2022100808/546cc324af7959e91e8b5c9c/html5/thumbnails/15.jpg)
15www.jetbrains.com
Dataflow Analysis
From / To here
![Page 16: Get em before they get You](https://reader038.vdocuments.us/reader038/viewer/2022100808/546cc324af7959e91e8b5c9c/html5/thumbnails/16.jpg)
16www.jetbrains.com
Duplicate detection
![Page 17: Get em before they get You](https://reader038.vdocuments.us/reader038/viewer/2022100808/546cc324af7959e91e8b5c9c/html5/thumbnails/17.jpg)
17www.jetbrains.com
Dependency Structure Matrix
![Page 18: Get em before they get You](https://reader038.vdocuments.us/reader038/viewer/2022100808/546cc324af7959e91e8b5c9c/html5/thumbnails/18.jpg)
18www.jetbrains.com
Summary
CustomizeUse permanentlyRun continuously
So that you can sleep better!
![Page 19: Get em before they get You](https://reader038.vdocuments.us/reader038/viewer/2022100808/546cc324af7959e91e8b5c9c/html5/thumbnails/19.jpg)
19www.jetbrains.com
Questions