Contenu connexe Similaire à Static analysis tools (20) Static analysis tools2. 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..
Notes de l'éditeur 1
7
8
9
10
11
12
13
14
15
16