SlideShare uma empresa Scribd logo
1 de 33
STATIC ANALYSIS TOOLS 
LET’S BEGIN…
What is Static Analysis? 
2 
Static aannaallyyssiiss iiss tthhee aannaallyyssiiss ooff 
ccoommppuutteerr ssooffttwwaarree tthhaatt iiss ppeerrffoorrmmeedd 
wwiitthhoouutt aaccttuuaallllyy eexxeeccuuttiinngg,, oorr 
rruunnnniinngg,, tthhaatt ssooffttwwaarree.. SSttaattiicc aannaallyyssiiss 
ttoooollss llooookk aatt aapppplliiccaattiioonnss iinn aa nnoonn-- 
rruunnttiimmee eennvviirroonnmmeenntt.. TThhiiss mmeetthhoodd ooff 
tteessttiinngg hhaass ddiissttiinncctt aaddvvaannttaaggeess iinn tthhaatt 
iitt ccaann eevvaalluuaattee bbootthh wweebb aanndd nnoonn--wweebb 
aapppplliiccaattiioonnss aanndd tthhrroouugghh aaddvvaanncceedd 
mmooddeelliinngg,, ccaann ddeetteecctt ffllaawwss iinn tthhee 
ssooffttwwaarree’’ss iinnppuuttss aanndd oouuttppuuttss tthhaatt 
ccaannnnoott bbee sseeeenn tthhrroouugghh ddyynnaammiicc wweebb 
ssccaannnniinngg aalloonnee.. IInn tthhee ppaasstt tthhiiss 
tteecchhnniiqquuee rreeqquuiirreedd ssoouurrccee ccooddee wwhhiicchh 
iiss nnoott oonnllyy uunnpprraaccttiiccaall aass ssoouurrccee ccooddee 
oofftteenn iiss uunnaavvaaiillaabbllee bbuutt aallssoo 
iinnssuuffffiicciieenntt..
Features of Static 
Analysis Tools: 
To calculate metrics such aass ccyycclloommaattiicc ccoommpplleexxiittyy oorr 
nneessttiinngg lleevveellss ((wwhhiicchh ccaann hheellpp ttoo iiddeennttiiffyy wwhheerree mmoorree 
tteessttiinngg mmaayy bbee nneeeeddeedd dduuee ttoo iinnccrreeaasseedd rriisskk)).. 
TToo eennffoorrccee ccooddiinngg ssttaannddaarrddss.. 
TToo aannaallyyssee ssttrruuccttuurreess aanndd ddeeppeennddeenncciieess.. 
HHeellpp iinn ccooddee uunnddeerrssttaannddiinngg.. 
TToo iiddeennttiiffyy aannoommaalliieess oorr ddeeffeeccttss iinn tthhee ccooddee.. 
3
Delivering Software 
Security… 
Enterprise security is highly focused on the application llaayyeerr ttooddaayy,, aanndd 
ffoorr ggoooodd rreeaassoonn.. BBeeccaauussee tthhee nneettwwoorrkk ppeerriimmeetteerr hhaass bbeeeenn ssuucccceessssffuullllyy 
sseeccuurreedd ttoo aa ggrreeaatt ddeeggrreeee,, mmoosstt mmaalliicciioouuss aattttaacckkss aarree nnooww ddiirreecctteedd aatt 
aapppplliiccaattiioonnss.. TToo aaddddrreessss tthhiiss tthhrreeaatt,, eenntteerrpprriisseess mmuusstt tteesstt aapppplliiccaattiioonnss ffoorr 
ffllaawwss oorr tthhrreeaattss bbeeffoorree pprrooccuurriinngg oorr iimmpplleemmeennttiinngg tthheemm.. SSttaattiicc aannaallyyssiiss iiss 
oonnee ooff tthhee lleeaaddiinngg tteessttiinngg tteecchhnniiqquueess.. AA ssttaattiicc aannaallyyssiiss ttooooll rreevviieewwss 
pprrooggrraamm ccooddee,, sseeaarrcchhiinngg ffoorr aapppplliiccaattiioonn ccooddiinngg ffllaawwss,, bbaacckk ddoooorrss,, oorr 
ootthheerr mmaalliicciioouuss ccooddee tthhaatt ccoouulldd ggiivvee hhaacckkeerrss aacccceessss ttoo ccrriittiiccaall ccoommppaannyy 
ddaattaa oorr ccuussttoommeerr iinnffoorrmmaattiioonn.. BBuutt mmoosstt ssttaattiicc aannaallyyssiiss ttoooollss oonnllyy ccaann ssccaann 
ssoouurrccee ccooddee,, wwhhiicchh iiss pprroobblleemmaattiicc.. MMaannyy aapppplliiccaattiioonnss iinntteeggrraattee ccooddee ffrroomm 
tthhiirrdd--ppaarrttyy lliibbrraarriieess,, ooffffsshhoorree ssooffttwwaarree,, aanndd ccoommmmeerrcciiaall ooffff--tthhee--sshheellff 
((CCOOTTSS)) aapppplliiccaattiioonnss -- aanndd ssoouurrccee ccooddee ffoorr tthheessee aapppplliiccaattiioonnss aarree oofftteenn 
uunnaavvaaiillaabbllee ffoorr ssccaannnniinngg.. 
4
“Multi Language” 
Analysis Tools: 
This pprreesseennttaattiioonn wwiillll bbrriieeff yyoouu 
tthhrroouugghh tthhee ““mmuullttii ––llaanngguuaaggee”” 
ssttaattiicc aannaallyyssiiss ttoooollss,, ii..ee.. aann aannaallyyssiiss 
ttooooll uusseedd ttoo tteesstt mmoorree tthhaann oonnee 
pprrooggrraammmmiinngg llaanngguuaaggeess.. 
5
6 
Axivion 
Bauhaus Suite 
Created in response to the problem of softwarerot, the project 
aims to analyse, and recover the means and methods developed 
for legacy software by understanding the software'sarchitecture. 
As part of its research, the project develops software tools (such 
as the Bauhaus Toolkit ) for software architecture, software 
maintenance and reengineering and program understanding. 
The Bauhaus Toolkit includes a static code analysis tool for C, 
C++, C#, Java and Ada code. It comprises various analyses such 
as architecture checking, interface analysis, and clone detection. 
Bauhaus was originally derived from the older Rigi reverse 
engineering environment, which was expanded by Bauhaus due 
to the Rigi's limitations. It is among the most notable visualization 
tools in the field. The Bauhaus tool suite aids the analysis of 
source code by creating abstractions (representations) of the 
code in an intermediate language as well as through a resource 
flow graph (RFG).The RFG is a hierarchal graph with typed nodes 
and edges, which are structured in various views.
Black Duck Suite 
Black Duck SSooffttwwaarree mmaaiinnttaaiinnss aa KKnnoowwlleeddggeebbaassee ooff ooppeenn 
ssoouurrccee aanndd tthhiirrdd ppaarrttyy ccoommppoonneennttss -- mmoosstt ooff wwhhiicchh aarree 
aavvaaiillaabbllee oonn tthhee IInntteerrnneett.. EEaacchh ccoommppoonneenntt iiss 
cchhaarraacctteerriizzeedd bbyy mmeettaaddaattaa ssuucchh aass lliicceennssee,, llaanngguuaaggee,, 
vveerrssiioonn,, aauutthhoorr,, aanndd kknnoowwnn sseeccuurriittyy vvuullnneerraabbiilliittiieess.. 
BBllaacckk DDuucckk pprroodduuccttss uussee tthhiiss iinnffoorrmmaattiioonn ttoo ffaacciilliittaattee 
sseeaarrcchh,, sseelleeccttiioonn,, aapppprroovvaall,, aauuddiittiinngg aanndd ttrraacckkiinngg ooff 
ssooffttwwaarree ccoommppoonneennttss.. BBllaacckk DDuucckk SSooffttwwaarree aallssoo 
mmaaiinnttaaiinnss tthhee ooppeenn ssoouurrccee sseeaarrcchh eennggiinnee OOhhlloohh CCooddee,,aa 
ffrreeee rreessoouurrccee ffoorr ssooffttwwaarree ddeevveellooppeerrss,, aanndd OOppeenn HHuubb,, aa 
ffrreeee ppuubblliicc ddiirreeccttoorryy ooff ooppeenn ssoouurrccee pprroojjeeccttss aanndd 
ccoonnttrriibbuuttoorrss.. 
BBllaacckk DDuucckk SSooffttwwaarree mmaaiinnttaaiinnss tthhee OOppeenn SSoouurrccee DDeelliivveerrss 
iinndduussttrryy bblloogg oonn tthhee aaddooppttiioonn aanndd eennaabblleemmeenntt ooff OOSSSS,, 
aanndd tthhee OOppeenn SSoouurrccee RReessoouurrccee CCeenntteerr ((OOSSRRCC)).. 
7
CAST Application 
Intelligence 
Program 
8 
The CAST Application Intelligence 
Platform (AIP) is an automated 
system for measuring the quality 
and size of business applications. 
It is made by CAST, based in 
Meudon in France. The AIP 
inspects the source code, identifies 
and tracks quality issues, and 
provides the data to monitor 
development performance.
Cigital 
Cigital SecureAssist identifies 
security bug. within the IDE and 
provides custom guidance to 
developers in reducing defects in 
future development. Build Secure 
eLibrary is an online portal 
containing a suite of software 
security training classes. Enterprise 
Security Portal tracks identified 
security bugs and checks for 
omissions to ensure a thorough 
analysis of the software. They also 
do research, for example, in a 2009 
study, they found that poker games 
such as Texas Hold 'em involve 
considerable skill. 
9
ConCAT 
ConQAT analyses are usually executed on a 
command line in batch mode. Beside the 
application in software quality audits it is also 
often used integrated into a nightly build of a 
system. ConQAT implements processors (so 
called Scopes) to read data from different 
sources, such as source code or binary code files 
as well as from issue trackers or 
version managementsystems.Lexer processors 
and other pre-processing operations are 
available. ConQAT implements algorithms for 
detecting redundancy, architecture analysis etc. 
in own processors/blocks. Furthermore, it 
integrates established tools, like FindBugs, 
FxCop etc. using processors that read their 
output formats. Although ConQAT supports 
different output formats (e.g. XML), usually 
generated HTML files are used to present the 
analysis results. Visualizations like different 
types of diagrams, treemaps, architecture 
diagrams etc. 
10
DMS Toolkit 
11 
DMS has been used to implement aa wwiiddee vvaarriieettyy ooff 
pprraaccttiiccaall ttoooollss,, iinncclluuddee ddoommaaiinn--ssppeecciiffiicc llaanngguuaaggeess ((tteesstt 
ccoovveerraaggee aanndd pprrooffiilliinngg ttoooollss,, cclloonnee ddeetteeccttiioonn,, llaanngguuaaggee 
mmiiggrraattiioonn ttoooollss,, CC++++ ccoommppoonneenntt rreeeennggiinneeeerriinngg..,,aanndd ffoorr 
rreesseeaarrcchh iinnttoo ddiiffffiiccuulltt ttooppiiccss ssuucchh aass rreeffaaccttoorriinngg CC++++ 
rreelliiaabbllyy.. 
TThhee ttoooollkkiitt pprroovviiddeess mmeeaannss ffoorr ddeeffiinniinngg llaanngguuaaggee 
ggrraammmmaarrss aanndd wwiillll pprroodduuccee ppaarrsseerrss wwhhiicchh aauuttoommaattiiccaallllyy 
ccoonnssttrruucctt aabbssttrraacctt ssyynnttaaxx ttrreeeess ((AASSTTss)),, aanndd pprreettttyypprriinntteerrss 
ttoo ccoonnvveerrtt oorriiggiinnaall oorr mmooddiiffiieedd AASSTTss bbaacckk iinnttoo ccoommpplliiaabbllee 
ssoouurrccee tteexxtt.. TThhee ppaarrssee ttrreeeess ccaappttuurree,, aanndd tthhee pprreettttyypprriinntteerrss 
rreeggeenneerraattee,, ccoommpplleettee ddeettaaiill aabboouutt tthhee oorriiggiinnaall ssoouurrccee 
pprrooggrraamm,, iinncclluuddiinngg ssoouurrccee ppoossiittiioonn,, ccoommmmeennttss,, rraaddiixx aanndd 
ffoorrmmaatt ooff nnuummbbeerrss,, eettcc..,, ttoo eennssuurree tthhaatt rreeggeenneerraatteedd ssoouurrccee 
tteexxtt iiss aass rreeccooggnniizzaabbllee ttoo aa pprrooggrraammmmeerr aass tthhee oorriiggiinnaall tteexxtt 
mmoodduulloo aannyy aapppplliieedd ttrraannssffoorrmmaattiioonnss..
Fortify Software 
FFoorrttiiffyy SSooffttwwaarree'' kknnoowwnn nnooww aass FFoorrttiiffyy 
wwaass aa CCaalliiffoorrnniiaa--bbaasseedd ssooffttwwaarree 
sseeccuurriittyy vveennddoorr,, ffoouunnddeedd iinn 22000033 
aanndd aaccqquuiirreedd bbyy HHeewwlleetttt--PPaacckkaarrdd 
iinn 22001100..FFoorrttiiffyy iiss nnooww ppaarrtt ooff 
HHPP EEnntteerrpprriissee SSeeccuurriittyy PPrroodduuccttss iinn 
tthhee HHPP SSooffttwwaarree bbuussiinneessss,, pprroovviiddiinngg 
aapppplliiccaattiioonn sseeccuurriittyy pprroodduuccttss aanndd 
sseerrvviicceess ffoorr eenntteerrpprriissee ccuussttoommeerrss ttoo 
aasssseessss,, aassssuurree aanndd pprrootteecctt eenntteerrpprriissee 
ssooffttwwaarree aanndd aapppplliiccaattiioonnss ffrroomm 
sseeccuurriittyy vvuullnneerraabbiilliittiieess.. 
FFoorrttiiffyy ccrreeaatteedd aa SSeeccuurriittyy RReesseeaarrcchh 
GGrroouupp wwhhiicchh mmaaiinnttaaiinneedd tthhee JJaavvaa 
OOppeenn RReevviieeww pprroojjeecctt aanndd tthhee 
VVuullnnccaatt ttaaxxoonnoommyy ooff sseeccuurriittyy 
vvuullnneerraabbiilliittiieess iinn aaddddiittiioonn ttoo tthhee 
sseeccuurriittyy rruulleess ffoorr FFoorrttiiffyy''ss aannaallyyssiiss 
ssooffttwwaarree.. 
12
IBM Security AppScan 
13 
IIBBMM SSeeccuurriittyy AAppppSSccaann pprreevviioouussllyy kknnoowwnn aass IIBBMM RRaattiioonnaall 
AAppppSSccaann iiss aa ffaammiillyy ooff wweebb sseeccuurriittyy tteessttiinngg aanndd 
mmoonniittoorriinngg ttoooollss ffrroomm tthhee RRaattiioonnaall SSooffttwwaarree ddiivviissiioonn ooff 
IIBBMM.. AAppppSSccaann iiss iinntteennddeedd ttoo tteesstt WWeebb aapppplliiccaattiioonnss ffoorr 
sseeccuurriittyy vvuullnneerraabbiilliittiieess dduurriinngg tthhee ddeevveellooppmmeenntt pprroocceessss,, 
wwhheenn iitt iiss lleeaasstt eexxppeennssiivvee ttoo ffiixx ssuucchh pprroobblleemmss.. TThhee pprroodduucctt 
lleeaarrnnss tthhee bbeehhaavviioouurr ooff eeaacchh aapppplliiccaattiioonn,, wwhheetthheerr aann ooffff-- 
tthhee--sshheellff aapppplliiccaattiioonn oorr iinntteerrnnaallllyy ddeevveellooppeedd,, aanndd 
ddeevveellooppss aa pprrooggrraamm iinntteennddeedd ttoo tteesstt aallll ooff iittss ffuunnccttiioonnss ffoorr 
bbootthh ccoommmmoonn aanndd aapppplliiccaattiioonn--ssppeecciiffiicc vvuullnneerraabbiilliittiieess..
Klocwork 
14 
KKllooccwwoorrkk iiss aa ssooffttwwaarree ccoommppaannyy wwiitthh 
hheeaaddqquuaarrtteerrss iinn BBuurrlliinnggttoonn,, MMAA aanndd RR&&DD 
bbaasseedd iinn OOttttaawwaa,, OONN,, CCaannaaddaa.. KKllooccwwoorrkk 
wwaass ffoouunnddeedd iinn 22000011 aass aa ssppiinn--oouutt ooff 
NNoorrtteell NNeettwwoorrkkss aanndd hhaass oovveerr 11,,000000 
ccuussttoommeerrss[[11]] wwhhoo uussee iittss 
ssooffttwwaarree ddeevveellooppmmeenntt ttoooollss.. KKllooccwwoorrkk ssaayyss 
tthheeiirr ttooooll hheellpp ""ddeevveellooppeerrss ccrreeaattee mmoorree 
sseeccuurree aanndd rreelliiaabbllee ssooffttwwaarree bbyy aannaallyyzziinngg 
ssoouurrccee ccooddee oonn--tthhee--ffllyy,, ssiimmpplliiffyyiinngg ppeeeerr ccooddee 
rreevviieewwss,, aanndd eexxtteennddiinngg tthhee lliiffee ooff ccoommpplleexx 
ssooffttwwaarree..”” 
KKllooccwwoorrkk iiss aa ssttaattiicc ccooddee aannaallyyssiiss ttooooll uusseedd ttoo 
iiddeennttiiffyy sseeccuurriittyy,, ssaaffeettyy aanndd rreelliiaabbiilliittyy iissssuueess 
iinn CC,, CC++++,, JJaavvaa aanndd CC## ccooddee.. TThhee pprroodduucctt 
iinncclluuddeess nnuummeerroouuss ddeesskkttoopp pplluugg--iinnss ffoorr 
ddeevveellooppeerrss,, mmeettrriiccss aanndd rreeppoorrttiinngg..
LDRA Testlab 
STATIC ANALYSIS initiates LDRA Testbed activity by undertaking lexical and syntactic aannaallyyssiiss ooff tthhee ssoouurrccee 
ccooddee ffoorr aa ssiinnggllee ffiillee oorr aa ccoommpplleettee ssyysstteemm.. 
TThhee eennffoorrcceemmeenntt ooff pprrooggrraammmmiinngg ssttaannddaarrddss ((oorr ccooddiinngg ssttaannddaarrddss)) iiss ccoommmmoonnllyy rreeggaarrddeedd aass ggoooodd pprraaccttiiccee.. TThhee 
aaddhheerreennccee ttoo ssuucchh ssttaannddaarrddss ccaann bbee aauuttoommaattiiccaallllyy cchheecckkeedd bbyy pprroodduuccttss lliikkee LLDDRRAA TTeessttbbeedd.. MMaaiinn SSttaattiicc AAnnaallyyssiiss 
sseeaarrcchheess tthhee ssoouurrccee ccooddee ffoorr aannyy PPrrooggrraammmmiinngg SSttaannddaarrddss VViioollaattiioonnss,, bbyy cchheecckkiinngg tthhee ssoouurrccee ffiillee((ss)) aaggaaiinnsstt tthhee 
ssuuppeerrsseett ssuupppplliieedd wwiitthh LLDDRRAA TTeessttbbeedd,, TThhiiss ssyysstteemm ccaann bbee ccoonnffiigguurreedd ffoorr:: 
UUsseerr ddeeffiinnaabbllee ffiilltteerrss –– sswwiittcchh ssttaannddaarrddss oonn oorr ooffff 
CChhaannggee ssttaannddaarrddss ffrroomm mmaannddaattoorryy ttoo ooppttiioonnaall oorr vviiccee--vveerrssaa.. 
UUssee aannnnoottaattiioonnss ttoo sswwiittcchh ooffff ssttaannddaarrddss ffoorr ssppeecciiffiicc iinnssttaanncceess ooff vviioollaattiioonnss.. 
LLDDRRAA TTeessttbbeedd rreeppoorrttss vviioollaattiioonnss ooff tthhee cchhoosseenn sseett ooff ssttaannddaarrddss iinn bbootthh tteexxttuuaall rreeppoorrttss aanndd aass aannnnoottaattiioonnss ttoo 
ggrraapphhiiccaall ddiissppllaayyss.. 
15
MALPAS 
16 
The MALPAS toolset comprises five specific analysis tools that address various properties of a program. The input to the analysers needs to be wwrriitttteenn iinn MMAALLPPAASS 
IInntteerrmmeeddiiaattee LLaanngguuaaggee ((IILL));; tthhiiss ccaann bbee hhaanndd--wwrriitttteenn oorr pprroodduucceedd bbyy aann aauuttoommaatteedd ttrraannssllaattiioonn ttooooll ffrroomm tthhee oorriiggiinnaall ssoouurrccee ccooddee.. AAuuttoommaattiicc ttrraannssllaattoorrss eexxiisstt ffoorr 
ccoommmmoonn hhiigghh--lleevveell pprrooggrraammmmiinngg llaanngguuaaggeess ssuucchh aass AAddaa,, CC aanndd PPaassccaall,, aass wweellll aass aasssseemmbblleerr llaanngguuaaggeess ssuucchh aass IInntteell 8800**8866,, PPoowweerrPPCC aanndd 6688000000.. TThhee IILL tteexxtt iiss 
iinnppuutt iinnttoo MMAALLPPAASS vviiaa tthhee ""IILL RReeaaddeerr"",, wwhhiicchh ccoonnssttrruuccttss aa ddiirreecctteedd ggrraapphh aanndd aassssoocciiaatteedd sseemmaannttiiccss ffoorr tthhee pprrooggrraamm uunnddeerr aannaallyyssiiss.. TThhee ggrraapphh iiss rreedduucceedd uussiinngg aa 
sseerriieess ooff ggrraapphh rreedduuccttiioonn tteecchhnniiqquueess.. 
TThhee MMAALLPPAASS ttoooollsseett ccoonnssiissttss ooff 55 aannaallyysseerrss:: 
CCoonnttrrooll FFllooww AAnnaallyysseerr.. TThhiiss eexxaammiinneess tthhee pprrooggrraamm ssttrruuccttuurree,, iiddeennttiiffyyiinngg kkeeyy ffeeaattuurreess:: EEnnttrryy//EExxiitt ppooiinnttss,, LLooooppss,, BBrraanncchheess aanndd uunnrreeaacchhaabbllee ccooddee.. IItt pprroovviiddeess aa 
ssuummmmaarryy rreeppoorrtt ddrraawwiinngg aatttteennttiioonn ttoo uunnddeessiirraabbllee ccoonnssttrruuccttss aanndd aann iinnddiiccaattiioonn ooff tthhee ccoommpplleexxiittyy ooff tthhee pprrooggrraamm ssttrruuccttuurree.. 
DDaattaa UUssee AAnnaallyysseerr.. TThhiiss sseeppaarraatteess tthhee vvaarriiaabblleess aanndd ppaarraammeetteerrss uusseedd bbyy tthhee pprrooggrraamm iinnttoo ddiissttiinncctt ccllaasssseess ddeeppeennddiinngg uuppoonn tthheeiirr uussee.. ((ii..ee.. DDaattaa tthhaatt iiss rreeaadd bbeeffoorree 
bbeeiinngg wwrriitttteenn,, DDaattaa tthhaatt iiss wwrriitttteenn wwiitthhoouutt bbeeiinngg rreeaadd oorr DDaattaa tthhaatt iiss wwrriitttteenn ttwwiiccee wwiitthhoouutt aann iinntteerrvveenniinngg rreeaadd)).. TThhee rreeppoorrtt ccaann iiddeennttiiffyy eerrrroorrss ssuucchh aass uunniinniittiiaalliizzeedd 
ddaattaa aanndd ffuunnccttiioonn oouuttppuuttss nnoott wwrriitttteenn oonn aallll ppaatthhss.. 
IInnffoorrmmaattiioonn FFllooww AAnnaallyysseerr.. TThhiiss iiddeennttiiffiieess tthhee ddaattaa aanndd bbrraanncchh ddeeppeennddeenncciieess ffoorr eeaacchh oouuttppuutt vvaarriiaabbllee oorr ppaarraammeetteerr.. UUnnwwaanntteedd oorr uunneexxppeecctteedd ddeeppeennddeenncciieess ccaann 
bbee rreevveeaalleedd ffoorr aallll ppaatthhss tthhrroouugghh tthhee ccooddee.. IInnffoorrmmaattiioonn iiss aallssoo pprroovviiddeedd rreeggaarrddiinngg uunnuusseedd vvaarriiaabblleess aanndd rreedduunnddaanntt ssttaatteemmeennttss.. 
SSeemmaannttiicc AAnnaallyysseerr ((aallssoo kknnoowwnn aass ssyymmbboolliicc eexxeeccuuttiioonn)).. TThhiiss rreevveeaallss tthhee eexxaacctt ffuunnccttiioonnaall rreellaattiioonnsshhiipp bbeettwweeeenn aallll iinnppuuttss aanndd oouuttppuuttss oovveerr aallll sseemmaannttiiccaallllyy--ffeeaassiibbllee 
ppaatthhss tthhrroouugghh tthhee ccooddee.. 
CCoommpplliiaannccee AAnnaallyysseerr.. TThhiiss ccoommppaarreess tthhee mmaatthheemmaattiiccaall bbeehhaavviioouurr ooff tthhee ccooddee wwiitthh iittss ffoorrmmaall IILL ssppeecciiffiiccaattiioonn,, ddeettaaiilliinngg wwhheerree oonnee ddiiffffeerrss ffrroomm tthhee ootthheerr.. TThhee IILL 
ssppeecciiffiiccaattiioonn iiss wwrriitttteenn aass PPrreeccoonnddiittiioonnss aanndd PPoossttccoonnddiittiioonnss,, aass wweellll aass ooppttiioonnaall ccooddee aasssseerrttiioonnss.. CCoommpplliiaannccee aannaallyyssiiss ccaann bbee uusseedd ttoo ggaaiinn aa vveerryy hhiigghh lleevveell ooff 
ccoonnffiiddeennccee iinn tthhee ffuunnccttiioonnaall ccoorrrreeccttnneessss ooff tthhee ccooddee iinn rreellaattiioonn ttoo iittss ssppeecciiffiiccaattiioonn..
MOOSE 
M The philosophy of Moose is to enable the analyst to produce new dedicated analysis tools, and to customize the flow of analysis. While Moooossee iiss mmaaiinnllyy uusseedd iinn 
ssooffttwwaarree aannaallyyssiiss,, iitt iiss bbuuiilltt ttoo wwoorrkk ffoorr aannyy ddaattaa.. 
TToo aacchhiieevvee tthhiiss iitt ooffffeerrss mmuullttiippllee mmeecchhaanniissmmss aanndd ffrraammeewwoorrkkss:: 
IImmppoorrttiinngg aanndd mmeettaa--mmeettaa--mmooddeelliinngg iiss aacchhiieevveedd tthhrroouugghh aa ggeenneerriicc mmeettaa--ddeessccrriibbeedd eennggiinnee..AAnnyy mmeettaa--mmooddeell iiss ddeessccrriibbeedd iinn tteerrmmss ooff aa sseellff--ddeessccrriibbeedd 
mmeettaa--mmeettaa--mmooddeell,, aanndd bbaasseedd oonn tthhiiss ddeessccrriippttiioonn,, tthhee iimmppoorrtt//eexxppoorrtt iiss pprroovviiddeedd tthhrroouugghh tthhee MMSSEE ffiillee ffoorrmmaatt.. TThhrroouugghh tthhiiss ffiillee ffoorrmmaatt,, MMoooossee ccaann 
eexxcchhaannggee ddaattaa wwiitthh eexxtteerrnnaall ttoooollss.. 
FFoorr ppaarrssiinngg,, MMoooossee pprroovviiddeess aa nnoovveell ffrraammeewwoorrkk tthhaatt mmaakkeess uussee ooff sseevveerraall ppaarrssiinngg tteecchhnnoollooggiieess aanndd tthhaatt pprroovviiddeess aa fflluueenntt iinntteerrffaaccee ffoorr eeaassyy 
ccoonnssttrruuccttiioonn.. 
SSooffttwwaarree aannaallyyssiiss iiss ssppeecciiffiiccaallllyy ssuuppppoorrtteedd tthhrroouugghh tthhee FFAAMMIIXX ffaammiillyy ooff mmeettaa--mmooddeellss.. TThhee ccoorree ooff FFAAMMIIXX iiss aa llaanngguuaaggee iinnddeeppeennddeenntt mmeettaa--mmooddeell tthhaatt iiss 
ssiimmiillaarr ttoo UUMMLL bbuutt iitt iiss ffooccuusseedd oonn aannaallyyssiiss.. FFuurrtthheerrmmoorree,, iitt pprroovviiddeess rriicchh iinntteerrffaaccee ffoorr qquueerryyiinngg mmooddeellss.. 
VViissuuaalliizzaattiioonn iiss ssuuppppoorrtteedd tthhrroouugghh ttwwoo ddiiffffeerreenntt eennggiinneess:: oonnee ffoorr eexxpprreessssiinngg ggrraapphh vviissuuaalliizzaattiioonnss,,aanndd oonnee ffoorr eexxpprreessssiinngg cchhaarrttss.. TThheeyy bbootthh pprroovviiddee aa 
fflluueenntt iinntteerrffaaccee ffoorr eeaassyy ccoonnssttrruuccttiioonn.. 
BBrroowwssiinngg iiss aann iimmppoorrttaanntt pprriinncciippllee iinn MMoooossee,, aanndd iitt iiss ssuuppppoorrtteedd iinn mmuullttiippllee wwaayyss aass wweellll.. AA ggeenneerriicc iinntteerrffaaccee eennaabblleess tthhee aannaallyysstt ttoo bbrroowwssee aannyy mmooddeell.. 
TToo bbee aabbllee ttoo ssppeecciiffyy ssppeecciiffiicc bbrroowwsseerrss,, MMoooossee ooffffeerrss aa ggeenneerriicc eennggiinnee tthhaatt eeaasseess tthhee ssppeecciiffiiccaattiioonn tthhrroouugghh aa ssppeecciiffiicc fflluueenntt iinntteerrffaaccee.. 
17
PARASOFT 
Parasoft develops automated defect prevention technologies tthhaatt ssuuppppoorrtt tthhee 
AAuuttoommaatteedd DDeeffeecctt PPrreevveennttiioonn mmeetthhooddoollooggyy ddeevveellooppeedd bbyy AAddaammKKoollaawwaa..TThheessee 
tteecchhnnoollooggiieess aauuttoommaattee aa nnuummbbeerr ooff ddeeffeecctt pprreevveennttiioonn pprraaccttiicceess ffoorr JJaavvaa,, CC aanndd CC++++,, 
aanndd ..NNEETT.. TThhee ssttaattiicc ccooddee aannaallyyssiiss pprraaccttiiccee iiddeennttiiffiieess ccooddiinngg iissssuueess tthhaatt lleeaadd ttoo sseeccuurriittyy,, 
rreelliiaabbiilliittyy,, ppeerrffoorrmmaannccee,, aanndd mmaaiinnttaaiinnaabbiilliittyy iissssuueess llaatteerr oonn.. IInn 11999966,, PPaarraassoofftt 
ssuubbmmiitttteedd aa ppaatteenntt aapppplliiccaattiioonn ffoorr tthheeiirr rruullee--bbaasseedd ssttaattiicc ccooddee aannaallyyssiiss.. SSiinnccee tthheenn,, tthhee 
oorriiggiinnaall ssttaattiicc aannaallyyssiiss tteecchhnnoollooggyy hhaass bbeeeenn eexxtteennddeedd ttoo iinncclluuddee sseeccuurriittyy ssttaattiicc aannaallyyssiiss,, 
ddaattaa ffllooww aannaallyyssiiss,, aanndd ssooffttwwaarreemmeettrriiccss..IInn 11999966,, PPaarraassoofftt ssuubbmmiitttteedd ppaatteenntt 
aapppplliiccaattiioonnss ffoorr tteecchhnnoollooggyy tthhaatt aauuttoommaattiiccaallllyy ggeenneerraatteess uunniitt tteesstt ccaasseess..SSiinnccee tthheenn,, tthhee 
oorriiggiinnaall uunniitt tteessttiinngg tteecchhnnoollooggyy hhaass bbeeeenn eexxtteennddeedd ttoo iinncclluuddee ccooddee ccoovveerraaggee aannaallyyssiiss,, 
rreeggrreessssiioonn tteessttiinngg,, aanndd ttrraacceeaabbiilliittyy..TThhee ppeeeerr ccooddee rreevviieeww pprraaccttiiccee iinnvvoollvveess mmaannuuaallllyy 
iinnssppeeccttiinngg ssoouurrccee ccooddee ttoo eexxaammiinnee aallggoorriitthhmmss,, rreevviieeww ddeessiiggnn,, aanndd sseeaarrcchh ffoorr ssuubbttllee 
eerrrroorrss tthhaatt aauuttoommaatteedd ttoooollss ccaannnnoott ddeetteecctt.. 
18
COPY/PASTE 
DETECTOR(CPD) 
PPMMDD iiss aa ssttaattiicc rruullee--sseett bbaasseedd JJaavvaa ssoouurrccee ccooddee aannaallyyzzeerr tthhaatt iiddeennttiiffiieess ppootteennttiiaall pprroobblleemmss lliikkee:: 
PPoossssiibbllee bbuuggss——EEmmppttyy ttrryy//ccaattcchh//ffiinnaallllyy//sswwiittcchh bblloocckkss.. 
DDeeaadd ccooddee——UUnnuusseedd llooccaall vvaarriiaabblleess,, ppaarraammeetteerrss aanndd pprriivvaattee mmeetthhooddss.. 
EEmmppttyy iiff//wwhhiillee ssttaatteemmeennttss.. 
OOvveerrccoommpplliiccaatteedd eexxpprreessssiioonnss——UUnnnneecceessssaarryy iiff ssttaatteemmeennttss,, ffoorr llooooppss tthhaatt ccoouulldd bbee wwhhiillee llooooppss.. 
SSuubbooppttiimmaall ccooddee——WWaasstteeffuull SSttrriinngg//SSttrriinnggBBuuffffeerr uussaaggee.. 
CCllaasssseess wwiitthh hhiigghh CCyycclloommaattiiccCCoommpplleexxiittyy mmeeaassuurreemmeennttss.. 
DDuupplliiccaattee ccooddee——CCooppiieedd//ppaasstteedd ccooddee ccaann mmeeaann ccooppiieedd//ppaasstteedd bbuuggss,, aanndd ddeeccrreeaasseess 
mmaaiinnttaaiinnaabbiilliittyy.. 
19
Polyspace 
PPoollyyssppaaccee iiss aa ssttaattiicc ccooddee aannaallyyssiiss ttooooll ffoorr llaarrggee--ssccaallee aannaallyyssiiss bbyy 
aabbssttrraacctt iinntteerrpprreettaattiioonn ttoo ddeetteecctt,, oorr pprroovvee tthhee aabbsseennccee ooff,, cceerrttaaiinn rruunn--ttiimmee eerrrroorrss iinn 
ssoouurrccee ccooddee ffoorr tthhee CC,, CC++++,, aanndd AAddaa pprrooggrraammmmiinngg llaanngguuaaggeess.. TThhee ttooooll aallssoo cchheecckkss 
ssoouurrccee ccooddee ffoorr aaddhheerreennccee ttoo aapppprroopprriiaattee ccooddee ssttaannddaarrddss.. 
TThhee pprroodduucctt ffaammiillyy ccoonnssiissttss ooff PPoollyyssppaaccee CCooddee PPrroovveerr aanndd PPoollyyssppaaccee BBuugg FFiinnddeerr.. 
TThhee CCooddee PPrroovveerr mmoodduullee aannnnoottaatteess ssoouurrccee ccooddee wwiitthh aa ccoolloorr--ccooddiinngg sscchheemmee ttoo 
iinnddiiccaattee tthhee ssttaattuuss ooff eeaacchh eelleemmeenntt iinn tthhee ccooddee..IItt uusseess ffoorrmmaall mmeetthhooddss--bbaasseedd ssttaattiicc 
ccooddee aannaallyyssiiss ttoo vveerriiffyy pprrooggrraamm eexxeeccuuttiioonn aatt tthhee llaanngguuaaggee lleevveell.. TThhee ttooooll cchheecckkss 
eeaacchh ccooddee iinnssttrruuccttiioonn bbyy ttaakkiinngg iinnttoo aaccccoouunntt aallll ppoossssiibbllee vvaalluueess ooff eevveerryy vvaarriiaabbllee aatt 
eevveerryy ppooiinntt iinn tthhee ccooddee,, pprroovviiddiinngg aa ffoorrmmaall ddiiaaggnnoossttiicc ffoorr eeaacchh ooppeerraattiioonn iinn tthhee 
ccooddee uunnddeerr bbootthh nnoorrmmaall aanndd aabbnnoorrmmaall uussaaggee ccoonnddiittiioonnss.. 
20
Pretty Diff 
PPrreettttyy DDiiffff iiss aa llaanngguuaaggee--aawwaarree ddaattaaccoommppaarriissoonn uuttiilliittyy iimmpplleemmeenntteedd iinn 
JJaavvaaSSccrriipptt.. TThhee oonnlliinnee uuttiilliittyy iiss ccaappaabbllee ooff ssoouurrccee ccooddee bbeeaauuttiiffiiccaattiioonn,, 
mmiinniiffiiccaattiioonn,, aanndd ccoommppaarriissoonn ooff ttwwoo ppiieecceess ooff iinnppuutt tteexxtt.. IItt ooppeerraatteess bbyy 
rreemmoovviinngg ccooddee ccoommmmeennttss ffrroomm ssuuppppoorrtteedd llaanngguuaaggeess aanndd tthheenn ppeerrffoorrmmss aa 
pprreettttyy--pprriinntt ooppeerraattiioonn pprriioorr ttoo eexxeeccuuttiinngg tthhee ddiiffff aallggoorriitthhmm.. AAnn 
aabbbbrreevviiaatteedd lliisstt ooff uunniitt tteessttss iiss pprroovviiddeedd..TThhee ddooccuummeennttaattiioonn ccllaaiimmss tthhee 
JJaavvaaSSccrriipptt pprreettttyy--pprriinntt ooppeerraattiioonn ccoonnffoorrmmss ttoo tthhee rreeqquuiirreemmeennttss ooff JJSSLLiinntt.. 
AAss PPrreettttyy DDiiffff iiss wwrriitttteenn eennttiirreellyy iinn JJaavvaaSSccrriipptt,, tthhee aapppplliiccaattiioonn eexxeeccuutteess iinn aa 
wweebb bbrroowwsseerr oorr oonn ccoommmmaanndd lliinnee uussiinngg aa ssttaanndd aalloonnee JJaavvaaSSccrriipptt 
iinntteerrpprreetteerr,, ssuucchh aass NNooddee..jjss oorr wwiitthh WWSSHH pprroovviiddeedd aa ..wwssff ffiillee.. AA NNPPMM 
ppaacckkaaggee iiss pprroovviiddeedd ffoorr uussee wwiitthh NNooddee..jjss.. 
TThhee ssoouurrccee ccooddee iiss ppuubblliisshheedd aatt tthhee PPrreettttyy DDiiffff GGiittHHuubb rreeppoossiittoorryy.. 
21
SonarQube 
FFEEAATTUURREESS-- 
SSuuppppoorrttss 2255++ llaanngguuaaggeess:: JJaavvaa,, CC//CC++++,, OObbjjeeccttiivvee--CC,, CC##,, PPHHPP,, FFlleexx,, GGrroooovvyy,, JJaavvaaSSccrriipptt,, PPyytthhoonn,, PPLL//SSQQLL,, CCOOBBOOLL,, 
CCaann aallssoo bbee uusseedd iinn AAnnddrrooiidd ddeevveellooppmmeenntt.. 
OOffffeerrss rreeppoorrttss oonn dduupplliiccaatteedd ccooddee,, ccooddiinngg ssttaannddaarrddss,, uunniitt tteessttss,, ccooddee ccoovveerraaggee,, ccoommpplleexx ccooddee,, ppootteennttiiaall bbuuggss,, 
ccoommmmeennttss aanndd ddeessiiggnn aanndd aarrcchhiitteeccttuurree.. 
RReeccoorrddss mmeettrriiccss hhiissttoorryy aanndd pprroovviiddeess eevvoolluuttiioonn ggrraapphhss ((""ttiimmee mmaacchhiinnee"")) aanndd ddiiffffeerreennttiiaall vviieewwss.. 
IInntteeggrraatteess wwiitthh eexxtteerrnnaall ttoooollss:: JJIIRRAA,, MMaannttiiss,, LLDDAAPP,, FFoorrttiiffyy,, 
IImmpplleemmeennttss tthhee SSQQAALLEE mmeetthhooddoollooggyy ttoo ccoommppuuttee tteecchhnniiccaall ddeebbtt.. 
SSuuppppoorrttss TToommccaatt.. HHoowweevveerr,, eenndd ooff ssuuppppoorrtt ttoo TToommccaatt iiss ppllaannnneedd ffoorr SSoonnaarrQQuubbee 44..11.. TThhee ssttaannddaalloonnee mmooddee iiss nnooww tthhee 
oonnllyy mmooddee tthhaatt iiss ssuuppppoorrtteedd.. TThhee ssttaannddaalloonnee mmooddee eemmbbeeddss aa TToommccaatt sseerrvveerr.. 
22
Sotoarc 
SSoottooaarrcc iiss aa ccoommmmeerrcciiaall ssttaattiicc ccooddee aannaallyyssiiss ttooooll ffoorr 
ssooffttwwaarree aarrcchhiitteeccttss.. IItt ggrraapphhiiccaallllyy vviissuuaalliizzeess tthhee ssttaattiicc 
ssttrruuccttuurree ooff ssooffttwwaarree ssyysstteemmss wwrriitttteenn iinn JJaavvaa,, CC## oorr iinn 
CC++++ ccooddee.. TThhee ccooddee ssttrruuccttuurree iiss ddiissppllaayyeedd aass 
hhiieerraarrcchhiieess ((ttrreeeess)) ooff mmoodduulleess,, ppaacckkaaggeess aanndd ffiilleess.. 
BBeessiiddeess tthhee uusseerr ccaann ddeessccrriibbee bbyy ggrraapphhiiccaall mmeeaannss tthhee 
ssppeecciiffiieedd ssooffttwwaarree aarrcchhiitteeccttuurree ooff aa ssooffttwwaarree ssyysstteemm.. 
BByy ddooiinngg ssoo tthhee ttooooll iiss iimmmmeeddiiaatteellyy ccoommppaarriinngg tthhiiss 
iinntteennddeedd aarrcchhiitteeccttuurree wwiitthh tthhee iimmpplleemmeenntteedd ccooddee 
ssttrruuccttuurree aanndd iiss hhiigghhlliigghhttiinngg aallll aarrcchhiitteeccttuurree vviioollaattiioonnss 
((ii..ee.. aallll ccooddee rreeffeerreenncceess aanndd ddeeppeennddeenncciieess wwhhiicchh ddoo 
nnoott ccoorrrreessppoonndd ttoo tthhee iinntteennddeedd aarrcchhiitteeccttuurree..)) 
23
SQuORE 
SSQQuuOORREE iiss aa bbuussiinneessss iinntteelllliiggeennccee aanndd ssttaattiicc ccooddee aannaallyyssiiss ttooooll ffoorr 
ssooffttwwaarree pprroojjeeccttss.. IItt ggaatthheerrss iinnffoorrmmaattiioonn ffrroomm ddiiffffeerreenntt aarrtteeffaaccttss 
ttyyppeess ((ee..gg.. ssoouurrccee ccooddee,, tteesstt rreessuullttss,, bbuugg ttrraacckkiinngg ssyysstteemm)) aanndd ttoooollss 
((rreeaaddss oouuttppuuttss ooff CChheecckkssttyyllee,, PPMMDD,, FFiinnddBBuuggss,, PPoollyyssppaaccee,, CCoovveerriittyy oorr 
SSoonnaarrQQuubbee)) aanndd ppuubblliisshheess aa ssuummmmaarriisseedd vviieeww ooff tthhee pprroojjeecctt qquuaalliittyy 
oorr pprrooggrreessss.. 
TThhee qquuaalliittyy mmooddeell uusseedd ffoorr aannaallyyssiiss iiss ffuullllyy ccuussttoommiissaabbllee,, aanndd mmaannyy 
ddiiffffeerreenntt qquuaalliittyy mmooddeellss hhaavvee bbeeeenn iimmpplleemmeenntteedd:: SSQQAALLEE,, 
IISSOO99112266 mmaaiinnttaaiinnaabbiilliittyy,, 
EEuurrooppeeaann CCooooppeerraattiioonn ffoorr SSppaaccee SSttaannddaarrddiizzaattiioonn oorr 
HHIISS AAuuttoommoottiivvee ggrroouupp.. IItt iiss uusseedd iinn tthhee iinndduussttrryy aanndd aaccaaddeemmiicc 
rreesseeaarrcchh ffoorr ssooffttwwaarree eennggiinneeeerriinngg aanndd ddaattaa mmiinniinngg rreellaatteedd ccoonncceerrnnss.. 
24
Veracode 
25 
Veracode offers security assessments ooff aapppplliiccaattiioonnss 
tthhrroouugghh aa vvaarriieettyy ooff tteecchhnnoollooggiieess,, iinncclluuddiinngg 
ssttaattiicc ccooddee aannaallyyssiiss oonn ccoommppiilleedd bbiinnaarryyeexxeeccuuttaabblleess oorr 
bbyytteeccooddee;; ddyynnaammiicc wweebb aapppplliiccaattiioonn aannaallyyssiiss;; aanndd 
mmaannuuaall ppeenneettrraattiioonn tteessttiinngg aanndd ssoouurrccee ccooddee rreevviieeww.. 
TThhee ccaappaabbiilliittiieess aarree ddeelliivveerreedd tthhrroouugghh aa 
ssooffttwwaarree aass aa sseerrvviiccee ppllaattffoorrmm aanndd aarree ssoolldd bbyy 
ssuubbssccrriippttiioonn.. UUssiinngg tthhee VVeerraaccooddee ppllaattffoorrmm,, uusseerrss ccaann 
ddeetteecctt aanndd ttrriiaaggee ffllaawwss,, ggeett aa sseeccuurriittyy rraattiinngg,, aanndd 
rreevviieeww ffiinnddiinnggss aanndd mmeettrriiccss aabboouutt tthheeiirr aapppplliiccaattiioonnss.. 
VVeerraaccooddee ssuuppppoorrttss aannaallyyssiiss ooff bbiinnaarriieess,, bbyytteeccooddee,, 
aanndd ootthheerr aapppplliiccaattiioonn ffoorrmmaattss iinn aa vvaarriieettyy ooff 
ddiiffffeerreenntt llaanngguuaaggeess,, ppllaattffoorrmmss,, aanndd ccoommppiilleerrss,, 
iinncclluuddiinngg CC,, CC++++,, JJaavvaa,, ..NNEETT bbyytteeccooddee,, PPHHPP,, 
CCoollddFFuussiioonn,, RRuubbyy oonn RRaaiillss,, WWiinnddoowwss MMoobbiillee,, 
BBllaacckkBBeerrrryy,, AAnnddrrooiidd,, aanndd iiOOSS..
Yasca 
YYaassccaa iiss aann ooppeenn ssoouurrccee pprrooggrraamm 
wwhhiicchh llooookkss ffoorr sseeccuurriittyy vvuullnneerraabbiilliittiieess,, 
ccooddee--qquuaalliittyy,, ppeerrffoorrmmaannccee,, aanndd 
ccoonnffoorrmmaannccee ttoo bbeesstt pprraaccttiicceess iinn 
pprrooggrraamm ssoouurrccee ccooddee.. IItt lleevveerraaggeess 
eexxtteerrnnaall ooppeenn ssoouurrccee pprrooggrraammss,, ssuucchh aass 
FFiinnddBBuuggss,, PPMMDD,, JJLLiinntt,, JJaavvaaSSccrriipptt LLiinntt,, 
PPHHPPLLiinntt,, CCppppcchheecckk,, CCllaammAAVV,, PPiixxyy,, aanndd 
RRAATTSS ttoo ssccaann ssppeecciiffiicc ffiillee ttyyppeess,,aanndd 
aallssoo ccoonnttaaiinnss mmaannyy ccuussttoomm ssccaannnneerrss 
ddeevveellooppeedd ffoorr YYaassccaa.. IItt iiss aa ccoommmmaanndd-- 
lliinnee ttooooll tthhaatt ggeenneerraatteess rreeppoorrttss iinn HHTTMMLL,, 
CCSSVV,, XXMMLL,, MMyySSQQLL,, SSQQLLiittee,, aanndd ootthheerr 
ffoorrmmaattss.. IItt iiss lliisstteedd aass aann iinnaaccttiivvee pprroojjeecctt 
aatt tthhee wweellll--kknnoowwnn OOWWAASSPP sseeccuurriittyy 
pprroojjeecctt,,aanndd aallssoo iinn aa ggoovveerrnnmmeenntt 
ssooffttwwaarree sseeccuurriittyy ttoooollss rreevviieeww aatt tthhee UU..SS 
DDeeppaarrttmmeenntt ooff HHoommeellaanndd SSeeccuurriittyy wweebb 
ssiittee.. 
26
Code Analysis 
(Veracode) 
27
Get on demand code 
review 
28 
a Veracode is the world's best automated, on-demand, apppplliiccaattiioonn sseeccuurriittyy 
tteessttiinngg aanndd ccooddee rreevviieeww ssoolluuttiioonn.. FFoouunnddeedd bbyy eexxppeerrttss ffrroomm sseeccuurriittyy 
ccoommppaanniieess ssuucchh aass GGuuaarrddeenntt,, SSyymmaanntteecc,, @@ssttaakkee,, aanndd VVeerriiSSiiggnn,, aanndd bbuuiilltt oonn 
aa SSooffttwwaarree--aass--aa--SSeerrvviiccee mmooddeell -- VVeerraaccooddee ssoolluuttiioonnss ddeelliivveerr aapppplliiccaattiioonn 
sseeccuurriittyy aanndd aauuttoommaatteedd ccooddee rreevviieeww sseerrvviicceess ffoorr eenntteerrpprriisseess tthhaatt wwaanntt ttoo 
ccoosstt--eeffffiicciieennttllyy tteesstt ssooffttwwaarree sseeccuurriittyy bbyy iiddeennttiiffyyiinngg ffllaawwss iinn aapppplliiccaattiioonnss.. 
VVeerraaccooddee hheellppss ddeevveellooppeerrss ccrreeaattee sseeccuurree ssooffttwwaarree bbyy ssccaannnniinngg ccoommppiilleedd 
ccooddee ((aallssoo ccaalllleedd ““bbiinnaarryy”” oorr ““bbyyttee”” ccooddee)) iinnsstteeaadd ooff ssoouurrccee ccooddee.. TThhiiss 
iinnnnoovvaattiivvee aapppprrooaacchh eennaabblleess ddeeeeppeerr aanndd mmoorree ccoommpprreehheennssiivvee aapppplliiccaattiioonn 
sseeccuurriittyy aassssuurraannccee,, ssiinnccee VVeerraaccooddee ccaann ccooddee rreevviieeww bbootthh iinntteerrnnaallllyy 
ddeevveellooppeedd ssooffttwwaarree aass wweellll aass tthhiirrdd--ppaarrttyy aapppplliiccaattiioonnss tthhaatt mmiigghhtt 
ootthheerrwwiissee bbee ooffff--lliimmiittss ffoorr rreevviieeww bbeeccaauussee ooff pprroopprriieettaarryy iissssuueess..
Static Code Analysis 
Veracode offers the industry’s most comprehensive aauuttoommaatteedd ssttaattiicc 
aannaallyyssiiss ttoooollss,, mmaakkiinngg yyoouurr aapppplliiccaattiioonn ddeevveellooppmmeenntt ffaasstteerr aanndd mmoorree 
rreelliiaabbllee tthhaann eevveerr bbeeffoorree.. VVeerraaccooddee ssccaannss bbiinnaarryy ccooddee -- ccoommppiilleedd oorr 
““bbyyttee”” ccooddee -- aalllloowwiinngg eenntteerrpprriisseess ttoo ssccaann 110000 ppeerrcceenntt ooff aann 
aapppplliiccaattiioonn,, eevveenn wwhheenn ssoouurrccee iiss nnoott aavvaaiillaabbllee ffoorr pprraaccttiiccaall oorr 
pprroopprriieettaarryy ccoonnssiiddeerraattiioonnss.. VVeerraaccooddee iiss bbuuiilltt oonn tthhee ssooffttwwaarree--aass--aa-- 
sseerrvviiccee mmooddeell,, aalllloowwiinngg oorrggaanniizzaattiioonnss ttoo aacccceessss aanndd ssccaallee sseeccuurriittyy 
tteessttiinngg wwiitthhoouutt tthhee nneeeedd ffoorr ccaappiittaall eexxppeennssee oorr iinnvveessttmmeenntt.. TThheerree iiss nnoo 
vvuullnneerraabbiilliittyy aasssseessssmmeenntt ssooffttwwaarree oorr hhaarrddwwaarree ttoo ppuurrcchhaassee aanndd nnoo 
sseeccuurriittyy ppeerrssoonnnneell ttoo ttrraaiinn.. DDeevveellooppeerrss oorr ssooffttwwaarree pprrooccuurreemmeenntt 
ppeerrssoonnnneell ssuubbmmiitt ccooddee tthhrroouugghh aann oonnlliinnee ppllaattffoorrmm,, aanndd rreessuullttss aarree 
rreettuurrnneedd wwiitthhiinn 2244 hhoouurrss.. VVeerraaccooddee''ss aauuttoommaatteedd ffoorrmmaatt ggrreeaattllyy 
rreedduucceess tthhee aammoouunntt ooff eeffffoorrtt aanndd rreessoouurrcceess nneeeeddeedd ttoo ppeerrffoorrmm ssttaattiicc 
aannaallyyssiiss,, wwhhiillee ggrreeaattllyy iinnccrreeaassiinngg tthhee aaccccuurraaccyy ooff tteesstt rreessuullttss.. 
29
Source Code Analysis 
Veracode provides a truly ccoommpprreehheennssiivvee ssooffttwwaarree sseeccuurriittyy 
tteessttiinngg ssoolluuttiioonn.. IInn aaddddiittiioonn ttoo ssoouurrccee ccooddee aannaallyyssiiss,, 
VVeerraaccooddee ooffffeerrss ddyynnaammiicc aapppplliiccaattiioonn sseeccuurriittyy tteessttiinngg aanndd 
mmaannuuaall ppeenneettrraattiioonn tteessttiinngg ttoo pprroovviiddee ccoommpprreehheennssiivvee tteessttiinngg 
iinn aann aallll--iinn--oonnee ssoolluuttiioonn.. DDyynnaammiicc aapppplliiccaattiioonn sseeccuurriittyy tteessttiinngg 
iiss aakkiinn ttoo aann aauuttoommaatteedd ppeenneettrraattiioonn tteesstt.. WWiitthh ggrreeaatteerr ccooddee 
ccoovveerraaggee aanndd mmoorree aaccccuurraattee rreessuullttss,, VVeerraaccooddee hheellppss 
eenntteerrpprriisseess aacchhiieevvee bbeetttteerr aapppplliiccaattiioonn sseeccuurriittyy iinn lleessss ttiimmee 
aanndd mmoorree ccoosstt--eeffffeeccttiivveellyy.. TThhiiss iinn ttuurrnn aalllloowwss ddeevveellooppmmeenntt 
tteeaammss aanndd ssooffttwwaarree pprrooccuurreemmeenntt tteeaammss ttoo mmeeeett ddeeaaddlliinneess 
mmoorree eeaassiillyy,, aanndd ttoo eevveenn aacccceelleerraattee ssppeeeedd ttoo mmaarrkkeett.. LLeeaarrnn 
mmoorree aabboouutt ssoouurrccee ccooddee aannaallyyssiiss wwiitthh VVeerraaccooddee,, aass wweellll aass 
wweebb aapppplliiccaattiioonn sseeccuurriittyy,, PPCCII ccoommpplliiaannccee,, aanndd mmoorree.. 
30
Static Analysis Tools 
31 
Veracode offers the industry’s most comprehensive aauuttoommaatteedd ssttaattiicc aannaallyyssiiss 
ttoooollss,, mmaakkiinngg yyoouurr aapppplliiccaattiioonn ddeevveellooppmmeenntt ffaasstteerr aanndd mmoorree rreelliiaabbllee tthhaann 
eevveerr bbeeffoorree.. VVeerraaccooddee ssccaannss bbiinnaarryy ccooddee -- ccoommppiilleedd oorr ““bbyyttee”” ccooddee -- aalllloowwiinngg 
eenntteerrpprriisseess ttoo ssccaann 110000 ppeerrcceenntt ooff aann aapppplliiccaattiioonn,, eevveenn wwhheenn ssoouurrccee iiss nnoott 
aavvaaiillaabbllee ffoorr pprraaccttiiccaall oorr pprroopprriieettaarryy ccoonnssiiddeerraattiioonnss.. VVeerraaccooddee iiss bbuuiilltt oonn tthhee 
ssooffttwwaarree--aass--aa--sseerrvviiccee mmooddeell,, aalllloowwiinngg oorrggaanniizzaattiioonnss ttoo aacccceessss aanndd ssccaallee 
sseeccuurriittyy tteessttiinngg wwiitthhoouutt tthhee nneeeedd ffoorr ccaappiittaall eexxppeennssee oorr iinnvveessttmmeenntt.. TThheerree iiss 
nnoo vvuullnneerraabbiilliittyy aasssseessssmmeenntt ssooffttwwaarree oorr hhaarrddwwaarree ttoo ppuurrcchhaassee aanndd nnoo 
sseeccuurriittyy ppeerrssoonnnneell ttoo ttrraaiinn.. DDeevveellooppeerrss oorr ssooffttwwaarree pprrooccuurreemmeenntt ppeerrssoonnnneell 
ssuubbmmiitt ccooddee tthhrroouugghh aann oonnlliinnee ppllaattffoorrmm,, aanndd rreessuullttss aarree rreettuurrnneedd wwiitthhiinn 2244 
hhoouurrss.. VVeerraaccooddee''ss aauuttoommaatteedd ffoorrmmaatt ggrreeaattllyy rreedduucceess tthhee aammoouunntt ooff eeffffoorrtt 
aanndd rreessoouurrcceess nneeeeddeedd ttoo ppeerrffoorrmm ssttaattiicc aannaallyyssiiss,, wwhhiillee ggrreeaattllyy iinnccrreeaassiinngg tthhee 
aaccccuurraaccyy ooff tteesstt rreessuullttss..
Web Application 
Security 
32 
The founders of Veracode believe web application security sshhoouulldd bbee ssiimmppllee aanndd 
ccoosstt--eeffffiicciieenntt.. VVeerraaccooddee ddeelliivveerr aann aauuttoommaatteedd,, aapppplliiccaattiioonn sseeccuurriittyy tteessttiinngg ssoolluuttiioonn 
tthhaatt mmaakkeess ddyynnaammiicc aannaallyyssiiss aavvaaiillaabbllee aass aann oonn--ddeemmaanndd sseerrvviiccee.. DDyynnaammiicc 
aannaallyyssiiss iiss aa ""bbllaacckk--bbooxx"" tteessttiinngg tteecchhnniiqquuee tthhaatt aannaallyyzzeess wweebb aapppplliiccaattiioonnss ffoorr 
ffllaawwss aanndd vvuullnneerraabbiilliittiieess ssuucchh aass CCrroossss--ssiittee SSccrriippttiinngg ((XXSSSS)) tthhaatt ccoouulldd ssuubbjjeecctt tthhee 
eenntteerrpprriissee ttoo aattttaacckk.. BBeeccaauussee VVeerraaccooddee iiss ooffffeerreedd aass aa ssooffttwwaarree--aass--aa--sseerrvviiccee 
mmooddeell,, eenntteerrpprriisseess ccaann aacccceessss ddyynnaammiicc aannaallyyssiiss aass nneeeeddeedd aanndd ssccaallee tteessttiinngg 
eeffffoorrttlleessssllyy ttoo mmeeeett tthhee ddeemmaannddss ooff aaggggrreessssiivvee ssooffttwwaarree ddeevveellooppmmeenntt ddeeaaddlliinneess.. 
TThheerree iiss nnoo wweebb aapppplliiccaattiioonn sseeccuurriittyy ssooffttwwaarree ttoo bbuuyy,, aanndd nnoo hhaarrddwwaarree ttoo iinnvveesstt iinn.. 
NNoo wweebb aapppplliiccaattiioonn tteessttiinngg eexxppeerrttss nneeeedd bbee aaddddeedd ttoo tthhee ppaayyrroollll -- VVeerraaccooddee 
eemmppllooyyss aa tteeaamm ooff wwoorrlldd--ccllaassss eexxppeerrttss wwhhoo ccoonnttiinnuuaallllyy rreeffiinnee tteessttiinngg 
mmeetthhooddoollooggiieess.. CCoommppaanniieess ccaann aacccceessss ddyynnaammiicc aannaallyyssiiss tthhrroouugghh aann oonnlliinnee ppoorrttaall 
aanndd qquuiicckkllyy ggeett wweebb tteessttiinngg rreessuullttss.. WWeebb aapppplliiccaattiioonn sseeccuurriittyy tteessttiinngg rreessuullttss aarree 
pprriioorriittiizzeedd iinn aa FFiixx--FFiirrsstt AAnnaallyyssiiss tthhaatt iiddeennttiiffiieess ffllaawwss tthhaatt nneeeedd rreemmeeddiiaattiioonn mmoosstt 
uurrggeennttllyy aass wweellll aass oonneess tthhaatt ccaann bbee ffiixxeedd mmoosstt qquuiicckkllyy -- ssoo ddeevveellooppeerrss ccaann 
ooppttiimmiizzee tthheeiirr eeffffoorrttss,, ssaavviinngg aaddddiittiioonnaall rreessoouurrcceess ffoorr tthhee eenntteerrpprriissee..
Source Code Security 
Analyser 
33 
c Veracode's service is the industry's leading source cooddee sseeccuurriittyy aannaallyyzzeerr.. 
WWhheetthheerr yyoouu aarree aannaallyyzziinngg aapppplliiccaattiioonnss ddeevveellooppeedd iinntteerrnnaallllyy oorr bbyy tthhiirrdd 
ppaarrttiieess,, VVeerraaccooddee eennaabblleess yyoouu ttoo qquuiicckkllyy aanndd ccoosstt--eeffffeeccttiivveellyy ssccaann ssooffttwwaarree 
ffoorr ffllaawwss aanndd ggeett aaccttiioonnaabbllee ssoouurrccee ccooddee aannaallyyssiiss rreessuullttss.. OOffffeerriinngg aann 
iinnddeeppeennddeenntt aanndd ttrruusstteedd aannaallyyssiiss ooff tthhee sseeccuurriittyy ooff yyoouurr aapppplliiccaattiioonnss,, 
VVeerraaccooddee eennaabblleess yyoouu ttoo bbeetttteerr pprrootteecctt yyoouurr eenntteerrpprriissee wwiitthhoouutt ssaaccrriiffiicciinngg 
pprroodduuccttiivviittyy oorr pprrooffiittaabbiilliittyy.. UUssiinngg aann oonn--ddeemmaanndd,, SSooffttwwaarree--aass--aa--SSeerrvviiccee 
ssoouurrccee ccooddee aannaallyyssiiss ttooooll aalllloowwss yyoouu ttoo mmoorree eeaassiillyy ccoonnttrrooll ccoossttss,, ppaayyiinngg oonnllyy 
ffoorr tthhee sseerrvviicceess yyoouu nneeeedd.. AAnndd bbeeccaauussee VVeerraaccooddee ssccaannss aatt tthhee bbiinnaarryy lleevveell,, 
rreevviieewwiinngg ccoommppiilleedd oorr ""bbyyttee"" ccooddee rraatthheerr tthhaann ssoouurrccee ccooddee,, yyoouu ggeett tthhee mmoosstt 
aaccccuurraattee aanndd ccoommpprreehheennssiivvee aannaallyyssiiss aavvaaiillaabbllee.. AAllll aapppplliiccaattiioonnss,, rreeggaarrddlleessss 
ooff tthheeiirr oorriiggiinn,, ccaann bbee ssccaannnneedd aanndd rreevviieewweedd bbyy VVeerraaccooddee.. VVeerraaccooddee ccaann eevveenn 
aasssseessss tthhiirrdd--ppaarrttyy ssooffttwwaarree aatt tthhee bbiinnaarryy lleevveell,, wwiitthhoouutt rreeqquurriinngg aacccceessss ttoo 
ssoouurrccee ccooddee.. VVeerraaccooddee iiss ssiimmppllyy tthhee mmoosstt eeffffeeccttiivvee ssoolluuttiioonn ffoorr ssoouurrccee ccooddee 
aannaallyyssiiss iinn tthhee iinndduussttrryy ttooddaayy..

Mais conteúdo relacionado

Mais procurados (8)

Dental materials
Dental materialsDental materials
Dental materials
 
Quantum Teaching
Quantum TeachingQuantum Teaching
Quantum Teaching
 
Who
WhoWho
Who
 
Western civilization
Western civilizationWestern civilization
Western civilization
 
Negotiation skills
Negotiation skillsNegotiation skills
Negotiation skills
 
Jarvis Pain Assessment
Jarvis Pain AssessmentJarvis Pain Assessment
Jarvis Pain Assessment
 
Chapter 8 Erosional Forces
Chapter 8 Erosional ForcesChapter 8 Erosional Forces
Chapter 8 Erosional Forces
 
Chapter5
Chapter5Chapter5
Chapter5
 

Semelhante a Static analysis tools

Cc1 cancer derma
Cc1 cancer dermaCc1 cancer derma
Cc1 cancer dermaAhmed Amer
 
Creating the Startup The Accounting Panorama
Creating the Startup The Accounting PanoramaCreating the Startup The Accounting Panorama
Creating the Startup The Accounting PanoramaSteve Lines
 
Space mouse And Space Mouse Pro
Space mouse And Space Mouse ProSpace mouse And Space Mouse Pro
Space mouse And Space Mouse ProVishakha Agarwal
 
Chapter 2 - Assignment Analyzing Transactions
Chapter 2 - Assignment Analyzing Transactions Chapter 2 - Assignment Analyzing Transactions
Chapter 2 - Assignment Analyzing Transactions cwood
 
Smart city project of PM Narendra Modi,Govt of india
  Smart city project of  PM Narendra Modi,Govt of india  Smart city project of  PM Narendra Modi,Govt of india
Smart city project of PM Narendra Modi,Govt of indiasanjeeev bahadur, m.tech,mba
 
Hardware and operating sytems
Hardware and operating sytemsHardware and operating sytems
Hardware and operating sytemsspooler85
 
Chapter 1 notes abs 10/29
Chapter 1 notes abs 10/29Chapter 1 notes abs 10/29
Chapter 1 notes abs 10/29cwood
 
1 pigmentation
1 pigmentation1 pigmentation
1 pigmentationAhmed Amer
 
Fundamentos del Computador -Tarea 1- Ramis Collado
Fundamentos del Computador -Tarea 1- Ramis Collado Fundamentos del Computador -Tarea 1- Ramis Collado
Fundamentos del Computador -Tarea 1- Ramis Collado Ramis Collado Ramirez
 
Java debugging tools
Java debugging toolsJava debugging tools
Java debugging toolsAman Ahmed
 
Adaptive rendering e ASP.NET 2.0 CSS Friendly Control Adapters 1.0
Adaptive rendering e ASP.NET 2.0 CSS Friendly Control Adapters 1.0Adaptive rendering e ASP.NET 2.0 CSS Friendly Control Adapters 1.0
Adaptive rendering e ASP.NET 2.0 CSS Friendly Control Adapters 1.0DotNetMarche
 
Implant parts/dental implant courses by Indian dental academy
Implant parts/dental implant courses by Indian dental academyImplant parts/dental implant courses by Indian dental academy
Implant parts/dental implant courses by Indian dental academyIndian dental academy
 

Semelhante a Static analysis tools (20)

Cc1 cancer derma
Cc1 cancer dermaCc1 cancer derma
Cc1 cancer derma
 
Team+work
Team+workTeam+work
Team+work
 
Creating the Startup The Accounting Panorama
Creating the Startup The Accounting PanoramaCreating the Startup The Accounting Panorama
Creating the Startup The Accounting Panorama
 
Space mouse And Space Mouse Pro
Space mouse And Space Mouse ProSpace mouse And Space Mouse Pro
Space mouse And Space Mouse Pro
 
Quantum Teaching AZKA Syifa Budi
Quantum Teaching AZKA Syifa BudiQuantum Teaching AZKA Syifa Budi
Quantum Teaching AZKA Syifa Budi
 
Piper book review
Piper book reviewPiper book review
Piper book review
 
Chapter 2 - Assignment Analyzing Transactions
Chapter 2 - Assignment Analyzing Transactions Chapter 2 - Assignment Analyzing Transactions
Chapter 2 - Assignment Analyzing Transactions
 
Smart city project of PM Narendra Modi,Govt of india
  Smart city project of  PM Narendra Modi,Govt of india  Smart city project of  PM Narendra Modi,Govt of india
Smart city project of PM Narendra Modi,Govt of india
 
Hardware and operating sytems
Hardware and operating sytemsHardware and operating sytems
Hardware and operating sytems
 
Arquitectura del-ordenador
Arquitectura del-ordenadorArquitectura del-ordenador
Arquitectura del-ordenador
 
Chapter 1 notes abs 10/29
Chapter 1 notes abs 10/29Chapter 1 notes abs 10/29
Chapter 1 notes abs 10/29
 
Omar's CV.2
Omar's CV.2Omar's CV.2
Omar's CV.2
 
Omar's CV.
Omar's CV.Omar's CV.
Omar's CV.
 
Omar's CV.2
Omar's CV.2Omar's CV.2
Omar's CV.2
 
Lectec e-brochure
Lectec e-brochureLectec e-brochure
Lectec e-brochure
 
1 pigmentation
1 pigmentation1 pigmentation
1 pigmentation
 
Fundamentos del Computador -Tarea 1- Ramis Collado
Fundamentos del Computador -Tarea 1- Ramis Collado Fundamentos del Computador -Tarea 1- Ramis Collado
Fundamentos del Computador -Tarea 1- Ramis Collado
 
Java debugging tools
Java debugging toolsJava debugging tools
Java debugging tools
 
Adaptive rendering e ASP.NET 2.0 CSS Friendly Control Adapters 1.0
Adaptive rendering e ASP.NET 2.0 CSS Friendly Control Adapters 1.0Adaptive rendering e ASP.NET 2.0 CSS Friendly Control Adapters 1.0
Adaptive rendering e ASP.NET 2.0 CSS Friendly Control Adapters 1.0
 
Implant parts/dental implant courses by Indian dental academy
Implant parts/dental implant courses by Indian dental academyImplant parts/dental implant courses by Indian dental academy
Implant parts/dental implant courses by Indian dental academy
 

Static analysis tools

  • 1. STATIC ANALYSIS TOOLS LET’S BEGIN…
  • 2. What is Static Analysis? 2 Static aannaallyyssiiss iiss tthhee aannaallyyssiiss ooff ccoommppuutteerr ssooffttwwaarree tthhaatt iiss ppeerrffoorrmmeedd wwiitthhoouutt aaccttuuaallllyy eexxeeccuuttiinngg,, oorr rruunnnniinngg,, tthhaatt ssooffttwwaarree.. SSttaattiicc aannaallyyssiiss ttoooollss llooookk aatt aapppplliiccaattiioonnss iinn aa nnoonn-- rruunnttiimmee eennvviirroonnmmeenntt.. TThhiiss mmeetthhoodd ooff tteessttiinngg hhaass ddiissttiinncctt aaddvvaannttaaggeess iinn tthhaatt iitt ccaann eevvaalluuaattee bbootthh wweebb aanndd nnoonn--wweebb aapppplliiccaattiioonnss aanndd tthhrroouugghh aaddvvaanncceedd mmooddeelliinngg,, ccaann ddeetteecctt ffllaawwss iinn tthhee ssooffttwwaarree’’ss iinnppuuttss aanndd oouuttppuuttss tthhaatt ccaannnnoott bbee sseeeenn tthhrroouugghh ddyynnaammiicc wweebb ssccaannnniinngg aalloonnee.. IInn tthhee ppaasstt tthhiiss tteecchhnniiqquuee rreeqquuiirreedd ssoouurrccee ccooddee wwhhiicchh iiss nnoott oonnllyy uunnpprraaccttiiccaall aass ssoouurrccee ccooddee oofftteenn iiss uunnaavvaaiillaabbllee bbuutt aallssoo iinnssuuffffiicciieenntt..
  • 3. Features of Static Analysis Tools: To calculate metrics such aass ccyycclloommaattiicc ccoommpplleexxiittyy oorr nneessttiinngg lleevveellss ((wwhhiicchh ccaann hheellpp ttoo iiddeennttiiffyy wwhheerree mmoorree tteessttiinngg mmaayy bbee nneeeeddeedd dduuee ttoo iinnccrreeaasseedd rriisskk)).. TToo eennffoorrccee ccooddiinngg ssttaannddaarrddss.. TToo aannaallyyssee ssttrruuccttuurreess aanndd ddeeppeennddeenncciieess.. HHeellpp iinn ccooddee uunnddeerrssttaannddiinngg.. TToo iiddeennttiiffyy aannoommaalliieess oorr ddeeffeeccttss iinn tthhee ccooddee.. 3
  • 4. Delivering Software Security… Enterprise security is highly focused on the application llaayyeerr ttooddaayy,, aanndd ffoorr ggoooodd rreeaassoonn.. BBeeccaauussee tthhee nneettwwoorrkk ppeerriimmeetteerr hhaass bbeeeenn ssuucccceessssffuullllyy sseeccuurreedd ttoo aa ggrreeaatt ddeeggrreeee,, mmoosstt mmaalliicciioouuss aattttaacckkss aarree nnooww ddiirreecctteedd aatt aapppplliiccaattiioonnss.. TToo aaddddrreessss tthhiiss tthhrreeaatt,, eenntteerrpprriisseess mmuusstt tteesstt aapppplliiccaattiioonnss ffoorr ffllaawwss oorr tthhrreeaattss bbeeffoorree pprrooccuurriinngg oorr iimmpplleemmeennttiinngg tthheemm.. SSttaattiicc aannaallyyssiiss iiss oonnee ooff tthhee lleeaaddiinngg tteessttiinngg tteecchhnniiqquueess.. AA ssttaattiicc aannaallyyssiiss ttooooll rreevviieewwss pprrooggrraamm ccooddee,, sseeaarrcchhiinngg ffoorr aapppplliiccaattiioonn ccooddiinngg ffllaawwss,, bbaacckk ddoooorrss,, oorr ootthheerr mmaalliicciioouuss ccooddee tthhaatt ccoouulldd ggiivvee hhaacckkeerrss aacccceessss ttoo ccrriittiiccaall ccoommppaannyy ddaattaa oorr ccuussttoommeerr iinnffoorrmmaattiioonn.. BBuutt mmoosstt ssttaattiicc aannaallyyssiiss ttoooollss oonnllyy ccaann ssccaann ssoouurrccee ccooddee,, wwhhiicchh iiss pprroobblleemmaattiicc.. MMaannyy aapppplliiccaattiioonnss iinntteeggrraattee ccooddee ffrroomm tthhiirrdd--ppaarrttyy lliibbrraarriieess,, ooffffsshhoorree ssooffttwwaarree,, aanndd ccoommmmeerrcciiaall ooffff--tthhee--sshheellff ((CCOOTTSS)) aapppplliiccaattiioonnss -- aanndd ssoouurrccee ccooddee ffoorr tthheessee aapppplliiccaattiioonnss aarree oofftteenn uunnaavvaaiillaabbllee ffoorr ssccaannnniinngg.. 4
  • 5. “Multi Language” Analysis Tools: This pprreesseennttaattiioonn wwiillll bbrriieeff yyoouu tthhrroouugghh tthhee ““mmuullttii ––llaanngguuaaggee”” ssttaattiicc aannaallyyssiiss ttoooollss,, ii..ee.. aann aannaallyyssiiss ttooooll uusseedd ttoo tteesstt mmoorree tthhaann oonnee pprrooggrraammmmiinngg llaanngguuaaggeess.. 5
  • 6. 6 Axivion Bauhaus Suite Created in response to the problem of softwarerot, the project aims to analyse, and recover the means and methods developed for legacy software by understanding the software'sarchitecture. As part of its research, the project develops software tools (such as the Bauhaus Toolkit ) for software architecture, software maintenance and reengineering and program understanding. The Bauhaus Toolkit includes a static code analysis tool for C, C++, C#, Java and Ada code. It comprises various analyses such as architecture checking, interface analysis, and clone detection. Bauhaus was originally derived from the older Rigi reverse engineering environment, which was expanded by Bauhaus due to the Rigi's limitations. It is among the most notable visualization tools in the field. The Bauhaus tool suite aids the analysis of source code by creating abstractions (representations) of the code in an intermediate language as well as through a resource flow graph (RFG).The RFG is a hierarchal graph with typed nodes and edges, which are structured in various views.
  • 7. Black Duck Suite Black Duck SSooffttwwaarree mmaaiinnttaaiinnss aa KKnnoowwlleeddggeebbaassee ooff ooppeenn ssoouurrccee aanndd tthhiirrdd ppaarrttyy ccoommppoonneennttss -- mmoosstt ooff wwhhiicchh aarree aavvaaiillaabbllee oonn tthhee IInntteerrnneett.. EEaacchh ccoommppoonneenntt iiss cchhaarraacctteerriizzeedd bbyy mmeettaaddaattaa ssuucchh aass lliicceennssee,, llaanngguuaaggee,, vveerrssiioonn,, aauutthhoorr,, aanndd kknnoowwnn sseeccuurriittyy vvuullnneerraabbiilliittiieess.. BBllaacckk DDuucckk pprroodduuccttss uussee tthhiiss iinnffoorrmmaattiioonn ttoo ffaacciilliittaattee sseeaarrcchh,, sseelleeccttiioonn,, aapppprroovvaall,, aauuddiittiinngg aanndd ttrraacckkiinngg ooff ssooffttwwaarree ccoommppoonneennttss.. BBllaacckk DDuucckk SSooffttwwaarree aallssoo mmaaiinnttaaiinnss tthhee ooppeenn ssoouurrccee sseeaarrcchh eennggiinnee OOhhlloohh CCooddee,,aa ffrreeee rreessoouurrccee ffoorr ssooffttwwaarree ddeevveellooppeerrss,, aanndd OOppeenn HHuubb,, aa ffrreeee ppuubblliicc ddiirreeccttoorryy ooff ooppeenn ssoouurrccee pprroojjeeccttss aanndd ccoonnttrriibbuuttoorrss.. BBllaacckk DDuucckk SSooffttwwaarree mmaaiinnttaaiinnss tthhee OOppeenn SSoouurrccee DDeelliivveerrss iinndduussttrryy bblloogg oonn tthhee aaddooppttiioonn aanndd eennaabblleemmeenntt ooff OOSSSS,, aanndd tthhee OOppeenn SSoouurrccee RReessoouurrccee CCeenntteerr ((OOSSRRCC)).. 7
  • 8. CAST Application Intelligence Program 8 The CAST Application Intelligence Platform (AIP) is an automated system for measuring the quality and size of business applications. It is made by CAST, based in Meudon in France. The AIP inspects the source code, identifies and tracks quality issues, and provides the data to monitor development performance.
  • 9. Cigital Cigital SecureAssist identifies security bug. within the IDE and provides custom guidance to developers in reducing defects in future development. Build Secure eLibrary is an online portal containing a suite of software security training classes. Enterprise Security Portal tracks identified security bugs and checks for omissions to ensure a thorough analysis of the software. They also do research, for example, in a 2009 study, they found that poker games such as Texas Hold 'em involve considerable skill. 9
  • 10. ConCAT ConQAT analyses are usually executed on a command line in batch mode. Beside the application in software quality audits it is also often used integrated into a nightly build of a system. ConQAT implements processors (so called Scopes) to read data from different sources, such as source code or binary code files as well as from issue trackers or version managementsystems.Lexer processors and other pre-processing operations are available. ConQAT implements algorithms for detecting redundancy, architecture analysis etc. in own processors/blocks. Furthermore, it integrates established tools, like FindBugs, FxCop etc. using processors that read their output formats. Although ConQAT supports different output formats (e.g. XML), usually generated HTML files are used to present the analysis results. Visualizations like different types of diagrams, treemaps, architecture diagrams etc. 10
  • 11. DMS Toolkit 11 DMS has been used to implement aa wwiiddee vvaarriieettyy ooff pprraaccttiiccaall ttoooollss,, iinncclluuddee ddoommaaiinn--ssppeecciiffiicc llaanngguuaaggeess ((tteesstt ccoovveerraaggee aanndd pprrooffiilliinngg ttoooollss,, cclloonnee ddeetteeccttiioonn,, llaanngguuaaggee mmiiggrraattiioonn ttoooollss,, CC++++ ccoommppoonneenntt rreeeennggiinneeeerriinngg..,,aanndd ffoorr rreesseeaarrcchh iinnttoo ddiiffffiiccuulltt ttooppiiccss ssuucchh aass rreeffaaccttoorriinngg CC++++ rreelliiaabbllyy.. TThhee ttoooollkkiitt pprroovviiddeess mmeeaannss ffoorr ddeeffiinniinngg llaanngguuaaggee ggrraammmmaarrss aanndd wwiillll pprroodduuccee ppaarrsseerrss wwhhiicchh aauuttoommaattiiccaallllyy ccoonnssttrruucctt aabbssttrraacctt ssyynnttaaxx ttrreeeess ((AASSTTss)),, aanndd pprreettttyypprriinntteerrss ttoo ccoonnvveerrtt oorriiggiinnaall oorr mmooddiiffiieedd AASSTTss bbaacckk iinnttoo ccoommpplliiaabbllee ssoouurrccee tteexxtt.. TThhee ppaarrssee ttrreeeess ccaappttuurree,, aanndd tthhee pprreettttyypprriinntteerrss rreeggeenneerraattee,, ccoommpplleettee ddeettaaiill aabboouutt tthhee oorriiggiinnaall ssoouurrccee pprrooggrraamm,, iinncclluuddiinngg ssoouurrccee ppoossiittiioonn,, ccoommmmeennttss,, rraaddiixx aanndd ffoorrmmaatt ooff nnuummbbeerrss,, eettcc..,, ttoo eennssuurree tthhaatt rreeggeenneerraatteedd ssoouurrccee tteexxtt iiss aass rreeccooggnniizzaabbllee ttoo aa pprrooggrraammmmeerr aass tthhee oorriiggiinnaall tteexxtt mmoodduulloo aannyy aapppplliieedd ttrraannssffoorrmmaattiioonnss..
  • 12. Fortify Software FFoorrttiiffyy SSooffttwwaarree'' kknnoowwnn nnooww aass FFoorrttiiffyy wwaass aa CCaalliiffoorrnniiaa--bbaasseedd ssooffttwwaarree sseeccuurriittyy vveennddoorr,, ffoouunnddeedd iinn 22000033 aanndd aaccqquuiirreedd bbyy HHeewwlleetttt--PPaacckkaarrdd iinn 22001100..FFoorrttiiffyy iiss nnooww ppaarrtt ooff HHPP EEnntteerrpprriissee SSeeccuurriittyy PPrroodduuccttss iinn tthhee HHPP SSooffttwwaarree bbuussiinneessss,, pprroovviiddiinngg aapppplliiccaattiioonn sseeccuurriittyy pprroodduuccttss aanndd sseerrvviicceess ffoorr eenntteerrpprriissee ccuussttoommeerrss ttoo aasssseessss,, aassssuurree aanndd pprrootteecctt eenntteerrpprriissee ssooffttwwaarree aanndd aapppplliiccaattiioonnss ffrroomm sseeccuurriittyy vvuullnneerraabbiilliittiieess.. FFoorrttiiffyy ccrreeaatteedd aa SSeeccuurriittyy RReesseeaarrcchh GGrroouupp wwhhiicchh mmaaiinnttaaiinneedd tthhee JJaavvaa OOppeenn RReevviieeww pprroojjeecctt aanndd tthhee VVuullnnccaatt ttaaxxoonnoommyy ooff sseeccuurriittyy vvuullnneerraabbiilliittiieess iinn aaddddiittiioonn ttoo tthhee sseeccuurriittyy rruulleess ffoorr FFoorrttiiffyy''ss aannaallyyssiiss ssooffttwwaarree.. 12
  • 13. IBM Security AppScan 13 IIBBMM SSeeccuurriittyy AAppppSSccaann pprreevviioouussllyy kknnoowwnn aass IIBBMM RRaattiioonnaall AAppppSSccaann iiss aa ffaammiillyy ooff wweebb sseeccuurriittyy tteessttiinngg aanndd mmoonniittoorriinngg ttoooollss ffrroomm tthhee RRaattiioonnaall SSooffttwwaarree ddiivviissiioonn ooff IIBBMM.. AAppppSSccaann iiss iinntteennddeedd ttoo tteesstt WWeebb aapppplliiccaattiioonnss ffoorr sseeccuurriittyy vvuullnneerraabbiilliittiieess dduurriinngg tthhee ddeevveellooppmmeenntt pprroocceessss,, wwhheenn iitt iiss lleeaasstt eexxppeennssiivvee ttoo ffiixx ssuucchh pprroobblleemmss.. TThhee pprroodduucctt lleeaarrnnss tthhee bbeehhaavviioouurr ooff eeaacchh aapppplliiccaattiioonn,, wwhheetthheerr aann ooffff-- tthhee--sshheellff aapppplliiccaattiioonn oorr iinntteerrnnaallllyy ddeevveellooppeedd,, aanndd ddeevveellooppss aa pprrooggrraamm iinntteennddeedd ttoo tteesstt aallll ooff iittss ffuunnccttiioonnss ffoorr bbootthh ccoommmmoonn aanndd aapppplliiccaattiioonn--ssppeecciiffiicc vvuullnneerraabbiilliittiieess..
  • 14. Klocwork 14 KKllooccwwoorrkk iiss aa ssooffttwwaarree ccoommppaannyy wwiitthh hheeaaddqquuaarrtteerrss iinn BBuurrlliinnggttoonn,, MMAA aanndd RR&&DD bbaasseedd iinn OOttttaawwaa,, OONN,, CCaannaaddaa.. KKllooccwwoorrkk wwaass ffoouunnddeedd iinn 22000011 aass aa ssppiinn--oouutt ooff NNoorrtteell NNeettwwoorrkkss aanndd hhaass oovveerr 11,,000000 ccuussttoommeerrss[[11]] wwhhoo uussee iittss ssooffttwwaarree ddeevveellooppmmeenntt ttoooollss.. KKllooccwwoorrkk ssaayyss tthheeiirr ttooooll hheellpp ""ddeevveellooppeerrss ccrreeaattee mmoorree sseeccuurree aanndd rreelliiaabbllee ssooffttwwaarree bbyy aannaallyyzziinngg ssoouurrccee ccooddee oonn--tthhee--ffllyy,, ssiimmpplliiffyyiinngg ppeeeerr ccooddee rreevviieewwss,, aanndd eexxtteennddiinngg tthhee lliiffee ooff ccoommpplleexx ssooffttwwaarree..”” KKllooccwwoorrkk iiss aa ssttaattiicc ccooddee aannaallyyssiiss ttooooll uusseedd ttoo iiddeennttiiffyy sseeccuurriittyy,, ssaaffeettyy aanndd rreelliiaabbiilliittyy iissssuueess iinn CC,, CC++++,, JJaavvaa aanndd CC## ccooddee.. TThhee pprroodduucctt iinncclluuddeess nnuummeerroouuss ddeesskkttoopp pplluugg--iinnss ffoorr ddeevveellooppeerrss,, mmeettrriiccss aanndd rreeppoorrttiinngg..
  • 15. LDRA Testlab STATIC ANALYSIS initiates LDRA Testbed activity by undertaking lexical and syntactic aannaallyyssiiss ooff tthhee ssoouurrccee ccooddee ffoorr aa ssiinnggllee ffiillee oorr aa ccoommpplleettee ssyysstteemm.. TThhee eennffoorrcceemmeenntt ooff pprrooggrraammmmiinngg ssttaannddaarrddss ((oorr ccooddiinngg ssttaannddaarrddss)) iiss ccoommmmoonnllyy rreeggaarrddeedd aass ggoooodd pprraaccttiiccee.. TThhee aaddhheerreennccee ttoo ssuucchh ssttaannddaarrddss ccaann bbee aauuttoommaattiiccaallllyy cchheecckkeedd bbyy pprroodduuccttss lliikkee LLDDRRAA TTeessttbbeedd.. MMaaiinn SSttaattiicc AAnnaallyyssiiss sseeaarrcchheess tthhee ssoouurrccee ccooddee ffoorr aannyy PPrrooggrraammmmiinngg SSttaannddaarrddss VViioollaattiioonnss,, bbyy cchheecckkiinngg tthhee ssoouurrccee ffiillee((ss)) aaggaaiinnsstt tthhee ssuuppeerrsseett ssuupppplliieedd wwiitthh LLDDRRAA TTeessttbbeedd,, TThhiiss ssyysstteemm ccaann bbee ccoonnffiigguurreedd ffoorr:: UUsseerr ddeeffiinnaabbllee ffiilltteerrss –– sswwiittcchh ssttaannddaarrddss oonn oorr ooffff CChhaannggee ssttaannddaarrddss ffrroomm mmaannddaattoorryy ttoo ooppttiioonnaall oorr vviiccee--vveerrssaa.. UUssee aannnnoottaattiioonnss ttoo sswwiittcchh ooffff ssttaannddaarrddss ffoorr ssppeecciiffiicc iinnssttaanncceess ooff vviioollaattiioonnss.. LLDDRRAA TTeessttbbeedd rreeppoorrttss vviioollaattiioonnss ooff tthhee cchhoosseenn sseett ooff ssttaannddaarrddss iinn bbootthh tteexxttuuaall rreeppoorrttss aanndd aass aannnnoottaattiioonnss ttoo ggrraapphhiiccaall ddiissppllaayyss.. 15
  • 16. MALPAS 16 The MALPAS toolset comprises five specific analysis tools that address various properties of a program. The input to the analysers needs to be wwrriitttteenn iinn MMAALLPPAASS IInntteerrmmeeddiiaattee LLaanngguuaaggee ((IILL));; tthhiiss ccaann bbee hhaanndd--wwrriitttteenn oorr pprroodduucceedd bbyy aann aauuttoommaatteedd ttrraannssllaattiioonn ttooooll ffrroomm tthhee oorriiggiinnaall ssoouurrccee ccooddee.. AAuuttoommaattiicc ttrraannssllaattoorrss eexxiisstt ffoorr ccoommmmoonn hhiigghh--lleevveell pprrooggrraammmmiinngg llaanngguuaaggeess ssuucchh aass AAddaa,, CC aanndd PPaassccaall,, aass wweellll aass aasssseemmbblleerr llaanngguuaaggeess ssuucchh aass IInntteell 8800**8866,, PPoowweerrPPCC aanndd 6688000000.. TThhee IILL tteexxtt iiss iinnppuutt iinnttoo MMAALLPPAASS vviiaa tthhee ""IILL RReeaaddeerr"",, wwhhiicchh ccoonnssttrruuccttss aa ddiirreecctteedd ggrraapphh aanndd aassssoocciiaatteedd sseemmaannttiiccss ffoorr tthhee pprrooggrraamm uunnddeerr aannaallyyssiiss.. TThhee ggrraapphh iiss rreedduucceedd uussiinngg aa sseerriieess ooff ggrraapphh rreedduuccttiioonn tteecchhnniiqquueess.. TThhee MMAALLPPAASS ttoooollsseett ccoonnssiissttss ooff 55 aannaallyysseerrss:: CCoonnttrrooll FFllooww AAnnaallyysseerr.. TThhiiss eexxaammiinneess tthhee pprrooggrraamm ssttrruuccttuurree,, iiddeennttiiffyyiinngg kkeeyy ffeeaattuurreess:: EEnnttrryy//EExxiitt ppooiinnttss,, LLooooppss,, BBrraanncchheess aanndd uunnrreeaacchhaabbllee ccooddee.. IItt pprroovviiddeess aa ssuummmmaarryy rreeppoorrtt ddrraawwiinngg aatttteennttiioonn ttoo uunnddeessiirraabbllee ccoonnssttrruuccttss aanndd aann iinnddiiccaattiioonn ooff tthhee ccoommpplleexxiittyy ooff tthhee pprrooggrraamm ssttrruuccttuurree.. DDaattaa UUssee AAnnaallyysseerr.. TThhiiss sseeppaarraatteess tthhee vvaarriiaabblleess aanndd ppaarraammeetteerrss uusseedd bbyy tthhee pprrooggrraamm iinnttoo ddiissttiinncctt ccllaasssseess ddeeppeennddiinngg uuppoonn tthheeiirr uussee.. ((ii..ee.. DDaattaa tthhaatt iiss rreeaadd bbeeffoorree bbeeiinngg wwrriitttteenn,, DDaattaa tthhaatt iiss wwrriitttteenn wwiitthhoouutt bbeeiinngg rreeaadd oorr DDaattaa tthhaatt iiss wwrriitttteenn ttwwiiccee wwiitthhoouutt aann iinntteerrvveenniinngg rreeaadd)).. TThhee rreeppoorrtt ccaann iiddeennttiiffyy eerrrroorrss ssuucchh aass uunniinniittiiaalliizzeedd ddaattaa aanndd ffuunnccttiioonn oouuttppuuttss nnoott wwrriitttteenn oonn aallll ppaatthhss.. IInnffoorrmmaattiioonn FFllooww AAnnaallyysseerr.. TThhiiss iiddeennttiiffiieess tthhee ddaattaa aanndd bbrraanncchh ddeeppeennddeenncciieess ffoorr eeaacchh oouuttppuutt vvaarriiaabbllee oorr ppaarraammeetteerr.. UUnnwwaanntteedd oorr uunneexxppeecctteedd ddeeppeennddeenncciieess ccaann bbee rreevveeaalleedd ffoorr aallll ppaatthhss tthhrroouugghh tthhee ccooddee.. IInnffoorrmmaattiioonn iiss aallssoo pprroovviiddeedd rreeggaarrddiinngg uunnuusseedd vvaarriiaabblleess aanndd rreedduunnddaanntt ssttaatteemmeennttss.. SSeemmaannttiicc AAnnaallyysseerr ((aallssoo kknnoowwnn aass ssyymmbboolliicc eexxeeccuuttiioonn)).. TThhiiss rreevveeaallss tthhee eexxaacctt ffuunnccttiioonnaall rreellaattiioonnsshhiipp bbeettwweeeenn aallll iinnppuuttss aanndd oouuttppuuttss oovveerr aallll sseemmaannttiiccaallllyy--ffeeaassiibbllee ppaatthhss tthhrroouugghh tthhee ccooddee.. CCoommpplliiaannccee AAnnaallyysseerr.. TThhiiss ccoommppaarreess tthhee mmaatthheemmaattiiccaall bbeehhaavviioouurr ooff tthhee ccooddee wwiitthh iittss ffoorrmmaall IILL ssppeecciiffiiccaattiioonn,, ddeettaaiilliinngg wwhheerree oonnee ddiiffffeerrss ffrroomm tthhee ootthheerr.. TThhee IILL ssppeecciiffiiccaattiioonn iiss wwrriitttteenn aass PPrreeccoonnddiittiioonnss aanndd PPoossttccoonnddiittiioonnss,, aass wweellll aass ooppttiioonnaall ccooddee aasssseerrttiioonnss.. CCoommpplliiaannccee aannaallyyssiiss ccaann bbee uusseedd ttoo ggaaiinn aa vveerryy hhiigghh lleevveell ooff ccoonnffiiddeennccee iinn tthhee ffuunnccttiioonnaall ccoorrrreeccttnneessss ooff tthhee ccooddee iinn rreellaattiioonn ttoo iittss ssppeecciiffiiccaattiioonn..
  • 17. MOOSE M The philosophy of Moose is to enable the analyst to produce new dedicated analysis tools, and to customize the flow of analysis. While Moooossee iiss mmaaiinnllyy uusseedd iinn ssooffttwwaarree aannaallyyssiiss,, iitt iiss bbuuiilltt ttoo wwoorrkk ffoorr aannyy ddaattaa.. TToo aacchhiieevvee tthhiiss iitt ooffffeerrss mmuullttiippllee mmeecchhaanniissmmss aanndd ffrraammeewwoorrkkss:: IImmppoorrttiinngg aanndd mmeettaa--mmeettaa--mmooddeelliinngg iiss aacchhiieevveedd tthhrroouugghh aa ggeenneerriicc mmeettaa--ddeessccrriibbeedd eennggiinnee..AAnnyy mmeettaa--mmooddeell iiss ddeessccrriibbeedd iinn tteerrmmss ooff aa sseellff--ddeessccrriibbeedd mmeettaa--mmeettaa--mmooddeell,, aanndd bbaasseedd oonn tthhiiss ddeessccrriippttiioonn,, tthhee iimmppoorrtt//eexxppoorrtt iiss pprroovviiddeedd tthhrroouugghh tthhee MMSSEE ffiillee ffoorrmmaatt.. TThhrroouugghh tthhiiss ffiillee ffoorrmmaatt,, MMoooossee ccaann eexxcchhaannggee ddaattaa wwiitthh eexxtteerrnnaall ttoooollss.. FFoorr ppaarrssiinngg,, MMoooossee pprroovviiddeess aa nnoovveell ffrraammeewwoorrkk tthhaatt mmaakkeess uussee ooff sseevveerraall ppaarrssiinngg tteecchhnnoollooggiieess aanndd tthhaatt pprroovviiddeess aa fflluueenntt iinntteerrffaaccee ffoorr eeaassyy ccoonnssttrruuccttiioonn.. SSooffttwwaarree aannaallyyssiiss iiss ssppeecciiffiiccaallllyy ssuuppppoorrtteedd tthhrroouugghh tthhee FFAAMMIIXX ffaammiillyy ooff mmeettaa--mmooddeellss.. TThhee ccoorree ooff FFAAMMIIXX iiss aa llaanngguuaaggee iinnddeeppeennddeenntt mmeettaa--mmooddeell tthhaatt iiss ssiimmiillaarr ttoo UUMMLL bbuutt iitt iiss ffooccuusseedd oonn aannaallyyssiiss.. FFuurrtthheerrmmoorree,, iitt pprroovviiddeess rriicchh iinntteerrffaaccee ffoorr qquueerryyiinngg mmooddeellss.. VViissuuaalliizzaattiioonn iiss ssuuppppoorrtteedd tthhrroouugghh ttwwoo ddiiffffeerreenntt eennggiinneess:: oonnee ffoorr eexxpprreessssiinngg ggrraapphh vviissuuaalliizzaattiioonnss,,aanndd oonnee ffoorr eexxpprreessssiinngg cchhaarrttss.. TThheeyy bbootthh pprroovviiddee aa fflluueenntt iinntteerrffaaccee ffoorr eeaassyy ccoonnssttrruuccttiioonn.. BBrroowwssiinngg iiss aann iimmppoorrttaanntt pprriinncciippllee iinn MMoooossee,, aanndd iitt iiss ssuuppppoorrtteedd iinn mmuullttiippllee wwaayyss aass wweellll.. AA ggeenneerriicc iinntteerrffaaccee eennaabblleess tthhee aannaallyysstt ttoo bbrroowwssee aannyy mmooddeell.. TToo bbee aabbllee ttoo ssppeecciiffyy ssppeecciiffiicc bbrroowwsseerrss,, MMoooossee ooffffeerrss aa ggeenneerriicc eennggiinnee tthhaatt eeaasseess tthhee ssppeecciiffiiccaattiioonn tthhrroouugghh aa ssppeecciiffiicc fflluueenntt iinntteerrffaaccee.. 17
  • 18. PARASOFT Parasoft develops automated defect prevention technologies tthhaatt ssuuppppoorrtt tthhee AAuuttoommaatteedd DDeeffeecctt PPrreevveennttiioonn mmeetthhooddoollooggyy ddeevveellooppeedd bbyy AAddaammKKoollaawwaa..TThheessee tteecchhnnoollooggiieess aauuttoommaattee aa nnuummbbeerr ooff ddeeffeecctt pprreevveennttiioonn pprraaccttiicceess ffoorr JJaavvaa,, CC aanndd CC++++,, aanndd ..NNEETT.. TThhee ssttaattiicc ccooddee aannaallyyssiiss pprraaccttiiccee iiddeennttiiffiieess ccooddiinngg iissssuueess tthhaatt lleeaadd ttoo sseeccuurriittyy,, rreelliiaabbiilliittyy,, ppeerrffoorrmmaannccee,, aanndd mmaaiinnttaaiinnaabbiilliittyy iissssuueess llaatteerr oonn.. IInn 11999966,, PPaarraassoofftt ssuubbmmiitttteedd aa ppaatteenntt aapppplliiccaattiioonn ffoorr tthheeiirr rruullee--bbaasseedd ssttaattiicc ccooddee aannaallyyssiiss.. SSiinnccee tthheenn,, tthhee oorriiggiinnaall ssttaattiicc aannaallyyssiiss tteecchhnnoollooggyy hhaass bbeeeenn eexxtteennddeedd ttoo iinncclluuddee sseeccuurriittyy ssttaattiicc aannaallyyssiiss,, ddaattaa ffllooww aannaallyyssiiss,, aanndd ssooffttwwaarreemmeettrriiccss..IInn 11999966,, PPaarraassoofftt ssuubbmmiitttteedd ppaatteenntt aapppplliiccaattiioonnss ffoorr tteecchhnnoollooggyy tthhaatt aauuttoommaattiiccaallllyy ggeenneerraatteess uunniitt tteesstt ccaasseess..SSiinnccee tthheenn,, tthhee oorriiggiinnaall uunniitt tteessttiinngg tteecchhnnoollooggyy hhaass bbeeeenn eexxtteennddeedd ttoo iinncclluuddee ccooddee ccoovveerraaggee aannaallyyssiiss,, rreeggrreessssiioonn tteessttiinngg,, aanndd ttrraacceeaabbiilliittyy..TThhee ppeeeerr ccooddee rreevviieeww pprraaccttiiccee iinnvvoollvveess mmaannuuaallllyy iinnssppeeccttiinngg ssoouurrccee ccooddee ttoo eexxaammiinnee aallggoorriitthhmmss,, rreevviieeww ddeessiiggnn,, aanndd sseeaarrcchh ffoorr ssuubbttllee eerrrroorrss tthhaatt aauuttoommaatteedd ttoooollss ccaannnnoott ddeetteecctt.. 18
  • 19. COPY/PASTE DETECTOR(CPD) PPMMDD iiss aa ssttaattiicc rruullee--sseett bbaasseedd JJaavvaa ssoouurrccee ccooddee aannaallyyzzeerr tthhaatt iiddeennttiiffiieess ppootteennttiiaall pprroobblleemmss lliikkee:: PPoossssiibbllee bbuuggss——EEmmppttyy ttrryy//ccaattcchh//ffiinnaallllyy//sswwiittcchh bblloocckkss.. DDeeaadd ccooddee——UUnnuusseedd llooccaall vvaarriiaabblleess,, ppaarraammeetteerrss aanndd pprriivvaattee mmeetthhooddss.. EEmmppttyy iiff//wwhhiillee ssttaatteemmeennttss.. OOvveerrccoommpplliiccaatteedd eexxpprreessssiioonnss——UUnnnneecceessssaarryy iiff ssttaatteemmeennttss,, ffoorr llooooppss tthhaatt ccoouulldd bbee wwhhiillee llooooppss.. SSuubbooppttiimmaall ccooddee——WWaasstteeffuull SSttrriinngg//SSttrriinnggBBuuffffeerr uussaaggee.. CCllaasssseess wwiitthh hhiigghh CCyycclloommaattiiccCCoommpplleexxiittyy mmeeaassuurreemmeennttss.. DDuupplliiccaattee ccooddee——CCooppiieedd//ppaasstteedd ccooddee ccaann mmeeaann ccooppiieedd//ppaasstteedd bbuuggss,, aanndd ddeeccrreeaasseess mmaaiinnttaaiinnaabbiilliittyy.. 19
  • 20. Polyspace PPoollyyssppaaccee iiss aa ssttaattiicc ccooddee aannaallyyssiiss ttooooll ffoorr llaarrggee--ssccaallee aannaallyyssiiss bbyy aabbssttrraacctt iinntteerrpprreettaattiioonn ttoo ddeetteecctt,, oorr pprroovvee tthhee aabbsseennccee ooff,, cceerrttaaiinn rruunn--ttiimmee eerrrroorrss iinn ssoouurrccee ccooddee ffoorr tthhee CC,, CC++++,, aanndd AAddaa pprrooggrraammmmiinngg llaanngguuaaggeess.. TThhee ttooooll aallssoo cchheecckkss ssoouurrccee ccooddee ffoorr aaddhheerreennccee ttoo aapppprroopprriiaattee ccooddee ssttaannddaarrddss.. TThhee pprroodduucctt ffaammiillyy ccoonnssiissttss ooff PPoollyyssppaaccee CCooddee PPrroovveerr aanndd PPoollyyssppaaccee BBuugg FFiinnddeerr.. TThhee CCooddee PPrroovveerr mmoodduullee aannnnoottaatteess ssoouurrccee ccooddee wwiitthh aa ccoolloorr--ccooddiinngg sscchheemmee ttoo iinnddiiccaattee tthhee ssttaattuuss ooff eeaacchh eelleemmeenntt iinn tthhee ccooddee..IItt uusseess ffoorrmmaall mmeetthhooddss--bbaasseedd ssttaattiicc ccooddee aannaallyyssiiss ttoo vveerriiffyy pprrooggrraamm eexxeeccuuttiioonn aatt tthhee llaanngguuaaggee lleevveell.. TThhee ttooooll cchheecckkss eeaacchh ccooddee iinnssttrruuccttiioonn bbyy ttaakkiinngg iinnttoo aaccccoouunntt aallll ppoossssiibbllee vvaalluueess ooff eevveerryy vvaarriiaabbllee aatt eevveerryy ppooiinntt iinn tthhee ccooddee,, pprroovviiddiinngg aa ffoorrmmaall ddiiaaggnnoossttiicc ffoorr eeaacchh ooppeerraattiioonn iinn tthhee ccooddee uunnddeerr bbootthh nnoorrmmaall aanndd aabbnnoorrmmaall uussaaggee ccoonnddiittiioonnss.. 20
  • 21. Pretty Diff PPrreettttyy DDiiffff iiss aa llaanngguuaaggee--aawwaarree ddaattaaccoommppaarriissoonn uuttiilliittyy iimmpplleemmeenntteedd iinn JJaavvaaSSccrriipptt.. TThhee oonnlliinnee uuttiilliittyy iiss ccaappaabbllee ooff ssoouurrccee ccooddee bbeeaauuttiiffiiccaattiioonn,, mmiinniiffiiccaattiioonn,, aanndd ccoommppaarriissoonn ooff ttwwoo ppiieecceess ooff iinnppuutt tteexxtt.. IItt ooppeerraatteess bbyy rreemmoovviinngg ccooddee ccoommmmeennttss ffrroomm ssuuppppoorrtteedd llaanngguuaaggeess aanndd tthheenn ppeerrffoorrmmss aa pprreettttyy--pprriinntt ooppeerraattiioonn pprriioorr ttoo eexxeeccuuttiinngg tthhee ddiiffff aallggoorriitthhmm.. AAnn aabbbbrreevviiaatteedd lliisstt ooff uunniitt tteessttss iiss pprroovviiddeedd..TThhee ddooccuummeennttaattiioonn ccllaaiimmss tthhee JJaavvaaSSccrriipptt pprreettttyy--pprriinntt ooppeerraattiioonn ccoonnffoorrmmss ttoo tthhee rreeqquuiirreemmeennttss ooff JJSSLLiinntt.. AAss PPrreettttyy DDiiffff iiss wwrriitttteenn eennttiirreellyy iinn JJaavvaaSSccrriipptt,, tthhee aapppplliiccaattiioonn eexxeeccuutteess iinn aa wweebb bbrroowwsseerr oorr oonn ccoommmmaanndd lliinnee uussiinngg aa ssttaanndd aalloonnee JJaavvaaSSccrriipptt iinntteerrpprreetteerr,, ssuucchh aass NNooddee..jjss oorr wwiitthh WWSSHH pprroovviiddeedd aa ..wwssff ffiillee.. AA NNPPMM ppaacckkaaggee iiss pprroovviiddeedd ffoorr uussee wwiitthh NNooddee..jjss.. TThhee ssoouurrccee ccooddee iiss ppuubblliisshheedd aatt tthhee PPrreettttyy DDiiffff GGiittHHuubb rreeppoossiittoorryy.. 21
  • 22. SonarQube FFEEAATTUURREESS-- SSuuppppoorrttss 2255++ llaanngguuaaggeess:: JJaavvaa,, CC//CC++++,, OObbjjeeccttiivvee--CC,, CC##,, PPHHPP,, FFlleexx,, GGrroooovvyy,, JJaavvaaSSccrriipptt,, PPyytthhoonn,, PPLL//SSQQLL,, CCOOBBOOLL,, CCaann aallssoo bbee uusseedd iinn AAnnddrrooiidd ddeevveellooppmmeenntt.. OOffffeerrss rreeppoorrttss oonn dduupplliiccaatteedd ccooddee,, ccooddiinngg ssttaannddaarrddss,, uunniitt tteessttss,, ccooddee ccoovveerraaggee,, ccoommpplleexx ccooddee,, ppootteennttiiaall bbuuggss,, ccoommmmeennttss aanndd ddeessiiggnn aanndd aarrcchhiitteeccttuurree.. RReeccoorrddss mmeettrriiccss hhiissttoorryy aanndd pprroovviiddeess eevvoolluuttiioonn ggrraapphhss ((""ttiimmee mmaacchhiinnee"")) aanndd ddiiffffeerreennttiiaall vviieewwss.. IInntteeggrraatteess wwiitthh eexxtteerrnnaall ttoooollss:: JJIIRRAA,, MMaannttiiss,, LLDDAAPP,, FFoorrttiiffyy,, IImmpplleemmeennttss tthhee SSQQAALLEE mmeetthhooddoollooggyy ttoo ccoommppuuttee tteecchhnniiccaall ddeebbtt.. SSuuppppoorrttss TToommccaatt.. HHoowweevveerr,, eenndd ooff ssuuppppoorrtt ttoo TToommccaatt iiss ppllaannnneedd ffoorr SSoonnaarrQQuubbee 44..11.. TThhee ssttaannddaalloonnee mmooddee iiss nnooww tthhee oonnllyy mmooddee tthhaatt iiss ssuuppppoorrtteedd.. TThhee ssttaannddaalloonnee mmooddee eemmbbeeddss aa TToommccaatt sseerrvveerr.. 22
  • 23. Sotoarc SSoottooaarrcc iiss aa ccoommmmeerrcciiaall ssttaattiicc ccooddee aannaallyyssiiss ttooooll ffoorr ssooffttwwaarree aarrcchhiitteeccttss.. IItt ggrraapphhiiccaallllyy vviissuuaalliizzeess tthhee ssttaattiicc ssttrruuccttuurree ooff ssooffttwwaarree ssyysstteemmss wwrriitttteenn iinn JJaavvaa,, CC## oorr iinn CC++++ ccooddee.. TThhee ccooddee ssttrruuccttuurree iiss ddiissppllaayyeedd aass hhiieerraarrcchhiieess ((ttrreeeess)) ooff mmoodduulleess,, ppaacckkaaggeess aanndd ffiilleess.. BBeessiiddeess tthhee uusseerr ccaann ddeessccrriibbee bbyy ggrraapphhiiccaall mmeeaannss tthhee ssppeecciiffiieedd ssooffttwwaarree aarrcchhiitteeccttuurree ooff aa ssooffttwwaarree ssyysstteemm.. BByy ddooiinngg ssoo tthhee ttooooll iiss iimmmmeeddiiaatteellyy ccoommppaarriinngg tthhiiss iinntteennddeedd aarrcchhiitteeccttuurree wwiitthh tthhee iimmpplleemmeenntteedd ccooddee ssttrruuccttuurree aanndd iiss hhiigghhlliigghhttiinngg aallll aarrcchhiitteeccttuurree vviioollaattiioonnss ((ii..ee.. aallll ccooddee rreeffeerreenncceess aanndd ddeeppeennddeenncciieess wwhhiicchh ddoo nnoott ccoorrrreessppoonndd ttoo tthhee iinntteennddeedd aarrcchhiitteeccttuurree..)) 23
  • 24. SQuORE SSQQuuOORREE iiss aa bbuussiinneessss iinntteelllliiggeennccee aanndd ssttaattiicc ccooddee aannaallyyssiiss ttooooll ffoorr ssooffttwwaarree pprroojjeeccttss.. IItt ggaatthheerrss iinnffoorrmmaattiioonn ffrroomm ddiiffffeerreenntt aarrtteeffaaccttss ttyyppeess ((ee..gg.. ssoouurrccee ccooddee,, tteesstt rreessuullttss,, bbuugg ttrraacckkiinngg ssyysstteemm)) aanndd ttoooollss ((rreeaaddss oouuttppuuttss ooff CChheecckkssttyyllee,, PPMMDD,, FFiinnddBBuuggss,, PPoollyyssppaaccee,, CCoovveerriittyy oorr SSoonnaarrQQuubbee)) aanndd ppuubblliisshheess aa ssuummmmaarriisseedd vviieeww ooff tthhee pprroojjeecctt qquuaalliittyy oorr pprrooggrreessss.. TThhee qquuaalliittyy mmooddeell uusseedd ffoorr aannaallyyssiiss iiss ffuullllyy ccuussttoommiissaabbllee,, aanndd mmaannyy ddiiffffeerreenntt qquuaalliittyy mmooddeellss hhaavvee bbeeeenn iimmpplleemmeenntteedd:: SSQQAALLEE,, IISSOO99112266 mmaaiinnttaaiinnaabbiilliittyy,, EEuurrooppeeaann CCooooppeerraattiioonn ffoorr SSppaaccee SSttaannddaarrddiizzaattiioonn oorr HHIISS AAuuttoommoottiivvee ggrroouupp.. IItt iiss uusseedd iinn tthhee iinndduussttrryy aanndd aaccaaddeemmiicc rreesseeaarrcchh ffoorr ssooffttwwaarree eennggiinneeeerriinngg aanndd ddaattaa mmiinniinngg rreellaatteedd ccoonncceerrnnss.. 24
  • 25. Veracode 25 Veracode offers security assessments ooff aapppplliiccaattiioonnss tthhrroouugghh aa vvaarriieettyy ooff tteecchhnnoollooggiieess,, iinncclluuddiinngg ssttaattiicc ccooddee aannaallyyssiiss oonn ccoommppiilleedd bbiinnaarryyeexxeeccuuttaabblleess oorr bbyytteeccooddee;; ddyynnaammiicc wweebb aapppplliiccaattiioonn aannaallyyssiiss;; aanndd mmaannuuaall ppeenneettrraattiioonn tteessttiinngg aanndd ssoouurrccee ccooddee rreevviieeww.. TThhee ccaappaabbiilliittiieess aarree ddeelliivveerreedd tthhrroouugghh aa ssooffttwwaarree aass aa sseerrvviiccee ppllaattffoorrmm aanndd aarree ssoolldd bbyy ssuubbssccrriippttiioonn.. UUssiinngg tthhee VVeerraaccooddee ppllaattffoorrmm,, uusseerrss ccaann ddeetteecctt aanndd ttrriiaaggee ffllaawwss,, ggeett aa sseeccuurriittyy rraattiinngg,, aanndd rreevviieeww ffiinnddiinnggss aanndd mmeettrriiccss aabboouutt tthheeiirr aapppplliiccaattiioonnss.. VVeerraaccooddee ssuuppppoorrttss aannaallyyssiiss ooff bbiinnaarriieess,, bbyytteeccooddee,, aanndd ootthheerr aapppplliiccaattiioonn ffoorrmmaattss iinn aa vvaarriieettyy ooff ddiiffffeerreenntt llaanngguuaaggeess,, ppllaattffoorrmmss,, aanndd ccoommppiilleerrss,, iinncclluuddiinngg CC,, CC++++,, JJaavvaa,, ..NNEETT bbyytteeccooddee,, PPHHPP,, CCoollddFFuussiioonn,, RRuubbyy oonn RRaaiillss,, WWiinnddoowwss MMoobbiillee,, BBllaacckkBBeerrrryy,, AAnnddrrooiidd,, aanndd iiOOSS..
  • 26. Yasca YYaassccaa iiss aann ooppeenn ssoouurrccee pprrooggrraamm wwhhiicchh llooookkss ffoorr sseeccuurriittyy vvuullnneerraabbiilliittiieess,, ccooddee--qquuaalliittyy,, ppeerrffoorrmmaannccee,, aanndd ccoonnffoorrmmaannccee ttoo bbeesstt pprraaccttiicceess iinn pprrooggrraamm ssoouurrccee ccooddee.. IItt lleevveerraaggeess eexxtteerrnnaall ooppeenn ssoouurrccee pprrooggrraammss,, ssuucchh aass FFiinnddBBuuggss,, PPMMDD,, JJLLiinntt,, JJaavvaaSSccrriipptt LLiinntt,, PPHHPPLLiinntt,, CCppppcchheecckk,, CCllaammAAVV,, PPiixxyy,, aanndd RRAATTSS ttoo ssccaann ssppeecciiffiicc ffiillee ttyyppeess,,aanndd aallssoo ccoonnttaaiinnss mmaannyy ccuussttoomm ssccaannnneerrss ddeevveellooppeedd ffoorr YYaassccaa.. IItt iiss aa ccoommmmaanndd-- lliinnee ttooooll tthhaatt ggeenneerraatteess rreeppoorrttss iinn HHTTMMLL,, CCSSVV,, XXMMLL,, MMyySSQQLL,, SSQQLLiittee,, aanndd ootthheerr ffoorrmmaattss.. IItt iiss lliisstteedd aass aann iinnaaccttiivvee pprroojjeecctt aatt tthhee wweellll--kknnoowwnn OOWWAASSPP sseeccuurriittyy pprroojjeecctt,,aanndd aallssoo iinn aa ggoovveerrnnmmeenntt ssooffttwwaarree sseeccuurriittyy ttoooollss rreevviieeww aatt tthhee UU..SS DDeeppaarrttmmeenntt ooff HHoommeellaanndd SSeeccuurriittyy wweebb ssiittee.. 26
  • 28. Get on demand code review 28 a Veracode is the world's best automated, on-demand, apppplliiccaattiioonn sseeccuurriittyy tteessttiinngg aanndd ccooddee rreevviieeww ssoolluuttiioonn.. FFoouunnddeedd bbyy eexxppeerrttss ffrroomm sseeccuurriittyy ccoommppaanniieess ssuucchh aass GGuuaarrddeenntt,, SSyymmaanntteecc,, @@ssttaakkee,, aanndd VVeerriiSSiiggnn,, aanndd bbuuiilltt oonn aa SSooffttwwaarree--aass--aa--SSeerrvviiccee mmooddeell -- VVeerraaccooddee ssoolluuttiioonnss ddeelliivveerr aapppplliiccaattiioonn sseeccuurriittyy aanndd aauuttoommaatteedd ccooddee rreevviieeww sseerrvviicceess ffoorr eenntteerrpprriisseess tthhaatt wwaanntt ttoo ccoosstt--eeffffiicciieennttllyy tteesstt ssooffttwwaarree sseeccuurriittyy bbyy iiddeennttiiffyyiinngg ffllaawwss iinn aapppplliiccaattiioonnss.. VVeerraaccooddee hheellppss ddeevveellooppeerrss ccrreeaattee sseeccuurree ssooffttwwaarree bbyy ssccaannnniinngg ccoommppiilleedd ccooddee ((aallssoo ccaalllleedd ““bbiinnaarryy”” oorr ““bbyyttee”” ccooddee)) iinnsstteeaadd ooff ssoouurrccee ccooddee.. TThhiiss iinnnnoovvaattiivvee aapppprrooaacchh eennaabblleess ddeeeeppeerr aanndd mmoorree ccoommpprreehheennssiivvee aapppplliiccaattiioonn sseeccuurriittyy aassssuurraannccee,, ssiinnccee VVeerraaccooddee ccaann ccooddee rreevviieeww bbootthh iinntteerrnnaallllyy ddeevveellooppeedd ssooffttwwaarree aass wweellll aass tthhiirrdd--ppaarrttyy aapppplliiccaattiioonnss tthhaatt mmiigghhtt ootthheerrwwiissee bbee ooffff--lliimmiittss ffoorr rreevviieeww bbeeccaauussee ooff pprroopprriieettaarryy iissssuueess..
  • 29. Static Code Analysis Veracode offers the industry’s most comprehensive aauuttoommaatteedd ssttaattiicc aannaallyyssiiss ttoooollss,, mmaakkiinngg yyoouurr aapppplliiccaattiioonn ddeevveellooppmmeenntt ffaasstteerr aanndd mmoorree rreelliiaabbllee tthhaann eevveerr bbeeffoorree.. VVeerraaccooddee ssccaannss bbiinnaarryy ccooddee -- ccoommppiilleedd oorr ““bbyyttee”” ccooddee -- aalllloowwiinngg eenntteerrpprriisseess ttoo ssccaann 110000 ppeerrcceenntt ooff aann aapppplliiccaattiioonn,, eevveenn wwhheenn ssoouurrccee iiss nnoott aavvaaiillaabbllee ffoorr pprraaccttiiccaall oorr pprroopprriieettaarryy ccoonnssiiddeerraattiioonnss.. VVeerraaccooddee iiss bbuuiilltt oonn tthhee ssooffttwwaarree--aass--aa-- sseerrvviiccee mmooddeell,, aalllloowwiinngg oorrggaanniizzaattiioonnss ttoo aacccceessss aanndd ssccaallee sseeccuurriittyy tteessttiinngg wwiitthhoouutt tthhee nneeeedd ffoorr ccaappiittaall eexxppeennssee oorr iinnvveessttmmeenntt.. TThheerree iiss nnoo vvuullnneerraabbiilliittyy aasssseessssmmeenntt ssooffttwwaarree oorr hhaarrddwwaarree ttoo ppuurrcchhaassee aanndd nnoo sseeccuurriittyy ppeerrssoonnnneell ttoo ttrraaiinn.. DDeevveellooppeerrss oorr ssooffttwwaarree pprrooccuurreemmeenntt ppeerrssoonnnneell ssuubbmmiitt ccooddee tthhrroouugghh aann oonnlliinnee ppllaattffoorrmm,, aanndd rreessuullttss aarree rreettuurrnneedd wwiitthhiinn 2244 hhoouurrss.. VVeerraaccooddee''ss aauuttoommaatteedd ffoorrmmaatt ggrreeaattllyy rreedduucceess tthhee aammoouunntt ooff eeffffoorrtt aanndd rreessoouurrcceess nneeeeddeedd ttoo ppeerrffoorrmm ssttaattiicc aannaallyyssiiss,, wwhhiillee ggrreeaattllyy iinnccrreeaassiinngg tthhee aaccccuurraaccyy ooff tteesstt rreessuullttss.. 29
  • 30. Source Code Analysis Veracode provides a truly ccoommpprreehheennssiivvee ssooffttwwaarree sseeccuurriittyy tteessttiinngg ssoolluuttiioonn.. IInn aaddddiittiioonn ttoo ssoouurrccee ccooddee aannaallyyssiiss,, VVeerraaccooddee ooffffeerrss ddyynnaammiicc aapppplliiccaattiioonn sseeccuurriittyy tteessttiinngg aanndd mmaannuuaall ppeenneettrraattiioonn tteessttiinngg ttoo pprroovviiddee ccoommpprreehheennssiivvee tteessttiinngg iinn aann aallll--iinn--oonnee ssoolluuttiioonn.. DDyynnaammiicc aapppplliiccaattiioonn sseeccuurriittyy tteessttiinngg iiss aakkiinn ttoo aann aauuttoommaatteedd ppeenneettrraattiioonn tteesstt.. WWiitthh ggrreeaatteerr ccooddee ccoovveerraaggee aanndd mmoorree aaccccuurraattee rreessuullttss,, VVeerraaccooddee hheellppss eenntteerrpprriisseess aacchhiieevvee bbeetttteerr aapppplliiccaattiioonn sseeccuurriittyy iinn lleessss ttiimmee aanndd mmoorree ccoosstt--eeffffeeccttiivveellyy.. TThhiiss iinn ttuurrnn aalllloowwss ddeevveellooppmmeenntt tteeaammss aanndd ssooffttwwaarree pprrooccuurreemmeenntt tteeaammss ttoo mmeeeett ddeeaaddlliinneess mmoorree eeaassiillyy,, aanndd ttoo eevveenn aacccceelleerraattee ssppeeeedd ttoo mmaarrkkeett.. LLeeaarrnn mmoorree aabboouutt ssoouurrccee ccooddee aannaallyyssiiss wwiitthh VVeerraaccooddee,, aass wweellll aass wweebb aapppplliiccaattiioonn sseeccuurriittyy,, PPCCII ccoommpplliiaannccee,, aanndd mmoorree.. 30
  • 31. Static Analysis Tools 31 Veracode offers the industry’s most comprehensive aauuttoommaatteedd ssttaattiicc aannaallyyssiiss ttoooollss,, mmaakkiinngg yyoouurr aapppplliiccaattiioonn ddeevveellooppmmeenntt ffaasstteerr aanndd mmoorree rreelliiaabbllee tthhaann eevveerr bbeeffoorree.. VVeerraaccooddee ssccaannss bbiinnaarryy ccooddee -- ccoommppiilleedd oorr ““bbyyttee”” ccooddee -- aalllloowwiinngg eenntteerrpprriisseess ttoo ssccaann 110000 ppeerrcceenntt ooff aann aapppplliiccaattiioonn,, eevveenn wwhheenn ssoouurrccee iiss nnoott aavvaaiillaabbllee ffoorr pprraaccttiiccaall oorr pprroopprriieettaarryy ccoonnssiiddeerraattiioonnss.. VVeerraaccooddee iiss bbuuiilltt oonn tthhee ssooffttwwaarree--aass--aa--sseerrvviiccee mmooddeell,, aalllloowwiinngg oorrggaanniizzaattiioonnss ttoo aacccceessss aanndd ssccaallee sseeccuurriittyy tteessttiinngg wwiitthhoouutt tthhee nneeeedd ffoorr ccaappiittaall eexxppeennssee oorr iinnvveessttmmeenntt.. TThheerree iiss nnoo vvuullnneerraabbiilliittyy aasssseessssmmeenntt ssooffttwwaarree oorr hhaarrddwwaarree ttoo ppuurrcchhaassee aanndd nnoo sseeccuurriittyy ppeerrssoonnnneell ttoo ttrraaiinn.. DDeevveellooppeerrss oorr ssooffttwwaarree pprrooccuurreemmeenntt ppeerrssoonnnneell ssuubbmmiitt ccooddee tthhrroouugghh aann oonnlliinnee ppllaattffoorrmm,, aanndd rreessuullttss aarree rreettuurrnneedd wwiitthhiinn 2244 hhoouurrss.. VVeerraaccooddee''ss aauuttoommaatteedd ffoorrmmaatt ggrreeaattllyy rreedduucceess tthhee aammoouunntt ooff eeffffoorrtt aanndd rreessoouurrcceess nneeeeddeedd ttoo ppeerrffoorrmm ssttaattiicc aannaallyyssiiss,, wwhhiillee ggrreeaattllyy iinnccrreeaassiinngg tthhee aaccccuurraaccyy ooff tteesstt rreessuullttss..
  • 32. Web Application Security 32 The founders of Veracode believe web application security sshhoouulldd bbee ssiimmppllee aanndd ccoosstt--eeffffiicciieenntt.. VVeerraaccooddee ddeelliivveerr aann aauuttoommaatteedd,, aapppplliiccaattiioonn sseeccuurriittyy tteessttiinngg ssoolluuttiioonn tthhaatt mmaakkeess ddyynnaammiicc aannaallyyssiiss aavvaaiillaabbllee aass aann oonn--ddeemmaanndd sseerrvviiccee.. DDyynnaammiicc aannaallyyssiiss iiss aa ""bbllaacckk--bbooxx"" tteessttiinngg tteecchhnniiqquuee tthhaatt aannaallyyzzeess wweebb aapppplliiccaattiioonnss ffoorr ffllaawwss aanndd vvuullnneerraabbiilliittiieess ssuucchh aass CCrroossss--ssiittee SSccrriippttiinngg ((XXSSSS)) tthhaatt ccoouulldd ssuubbjjeecctt tthhee eenntteerrpprriissee ttoo aattttaacckk.. BBeeccaauussee VVeerraaccooddee iiss ooffffeerreedd aass aa ssooffttwwaarree--aass--aa--sseerrvviiccee mmooddeell,, eenntteerrpprriisseess ccaann aacccceessss ddyynnaammiicc aannaallyyssiiss aass nneeeeddeedd aanndd ssccaallee tteessttiinngg eeffffoorrttlleessssllyy ttoo mmeeeett tthhee ddeemmaannddss ooff aaggggrreessssiivvee ssooffttwwaarree ddeevveellooppmmeenntt ddeeaaddlliinneess.. TThheerree iiss nnoo wweebb aapppplliiccaattiioonn sseeccuurriittyy ssooffttwwaarree ttoo bbuuyy,, aanndd nnoo hhaarrddwwaarree ttoo iinnvveesstt iinn.. NNoo wweebb aapppplliiccaattiioonn tteessttiinngg eexxppeerrttss nneeeedd bbee aaddddeedd ttoo tthhee ppaayyrroollll -- VVeerraaccooddee eemmppllooyyss aa tteeaamm ooff wwoorrlldd--ccllaassss eexxppeerrttss wwhhoo ccoonnttiinnuuaallllyy rreeffiinnee tteessttiinngg mmeetthhooddoollooggiieess.. CCoommppaanniieess ccaann aacccceessss ddyynnaammiicc aannaallyyssiiss tthhrroouugghh aann oonnlliinnee ppoorrttaall aanndd qquuiicckkllyy ggeett wweebb tteessttiinngg rreessuullttss.. WWeebb aapppplliiccaattiioonn sseeccuurriittyy tteessttiinngg rreessuullttss aarree pprriioorriittiizzeedd iinn aa FFiixx--FFiirrsstt AAnnaallyyssiiss tthhaatt iiddeennttiiffiieess ffllaawwss tthhaatt nneeeedd rreemmeeddiiaattiioonn mmoosstt uurrggeennttllyy aass wweellll aass oonneess tthhaatt ccaann bbee ffiixxeedd mmoosstt qquuiicckkllyy -- ssoo ddeevveellooppeerrss ccaann ooppttiimmiizzee tthheeiirr eeffffoorrttss,, ssaavviinngg aaddddiittiioonnaall rreessoouurrcceess ffoorr tthhee eenntteerrpprriissee..
  • 33. Source Code Security Analyser 33 c Veracode's service is the industry's leading source cooddee sseeccuurriittyy aannaallyyzzeerr.. WWhheetthheerr yyoouu aarree aannaallyyzziinngg aapppplliiccaattiioonnss ddeevveellooppeedd iinntteerrnnaallllyy oorr bbyy tthhiirrdd ppaarrttiieess,, VVeerraaccooddee eennaabblleess yyoouu ttoo qquuiicckkllyy aanndd ccoosstt--eeffffeeccttiivveellyy ssccaann ssooffttwwaarree ffoorr ffllaawwss aanndd ggeett aaccttiioonnaabbllee ssoouurrccee ccooddee aannaallyyssiiss rreessuullttss.. OOffffeerriinngg aann iinnddeeppeennddeenntt aanndd ttrruusstteedd aannaallyyssiiss ooff tthhee sseeccuurriittyy ooff yyoouurr aapppplliiccaattiioonnss,, VVeerraaccooddee eennaabblleess yyoouu ttoo bbeetttteerr pprrootteecctt yyoouurr eenntteerrpprriissee wwiitthhoouutt ssaaccrriiffiicciinngg pprroodduuccttiivviittyy oorr pprrooffiittaabbiilliittyy.. UUssiinngg aann oonn--ddeemmaanndd,, SSooffttwwaarree--aass--aa--SSeerrvviiccee ssoouurrccee ccooddee aannaallyyssiiss ttooooll aalllloowwss yyoouu ttoo mmoorree eeaassiillyy ccoonnttrrooll ccoossttss,, ppaayyiinngg oonnllyy ffoorr tthhee sseerrvviicceess yyoouu nneeeedd.. AAnndd bbeeccaauussee VVeerraaccooddee ssccaannss aatt tthhee bbiinnaarryy lleevveell,, rreevviieewwiinngg ccoommppiilleedd oorr ""bbyyttee"" ccooddee rraatthheerr tthhaann ssoouurrccee ccooddee,, yyoouu ggeett tthhee mmoosstt aaccccuurraattee aanndd ccoommpprreehheennssiivvee aannaallyyssiiss aavvaaiillaabbllee.. AAllll aapppplliiccaattiioonnss,, rreeggaarrddlleessss ooff tthheeiirr oorriiggiinn,, ccaann bbee ssccaannnneedd aanndd rreevviieewweedd bbyy VVeerraaccooddee.. VVeerraaccooddee ccaann eevveenn aasssseessss tthhiirrdd--ppaarrttyy ssooffttwwaarree aatt tthhee bbiinnaarryy lleevveell,, wwiitthhoouutt rreeqquurriinngg aacccceessss ttoo ssoouurrccee ccooddee.. VVeerraaccooddee iiss ssiimmppllyy tthhee mmoosstt eeffffeeccttiivvee ssoolluuttiioonn ffoorr ssoouurrccee ccooddee aannaallyyssiiss iinn tthhee iinndduussttrryy ttooddaayy..

Notas do Editor

  1. 1
  2. 7
  3. 8
  4. 9
  5. 10
  6. 11
  7. 12
  8. 13
  9. 14
  10. 15
  11. 16