About the Book
Please note that the content of this book primarily consists of articles available from Wikipedia or other free sources online. Pages: 188. Not illustrated. Chapters: Lint, Data-Flow Analysis, Parasoft, Clang, List of Tools for Static Code Analysis, Definite Assignment Analysis, Veracode, Aliasing, Use-Define Chain, Linear Code Sequence and Jump, Grammatech, Shape Analysis, Alias Analysis, Ndepend, Semmlecode, Live Variable Analysis, Coverity, Pattern Insight, Jtest, Frontendart, Fortify Software, Cscope, Automated Code Review, Soatest, Sourceinventory, Splint, Dms Software Reengineering Toolkit, Sourceaudit, Reaching Definition, Ldra Testbed, Software Mining, Checkstyle, Pointer Analysis, Klocwork, Findbugs, Pmd, Yasca, Esc/java, Red Lizard Software, Fxcop, Sparse, Axivion Bauhaus Suite, Lattix, Inc., Soot, Codeit.right, Sofcheck Inspector, Daikon, Sotoarc, Flowchart4j, Qa-C, Understand, Rough Auditing Tool for Security, Pc-Lint, Hammurapi, Stylecop, Structure101, Jslint, Checking. Excerpt: Data-flow analysis is a technique for gathering information about the possible set of values calculated at various points in a computer program. A program's control flow graph (CFG) is used to determine those parts of a program to which a particular value assigned to a variable might propagate. The information gathered is often used by compilers when optimizing a program. A canonical example of a data-flow analysis is reaching definitions. A simple way to perform dataflow analysis of programs is to set up dataflow equations for each node of the control flow graph and solve them by repeatedly calculating the output from the input locally at each node until the whole system stabilizes, i.e., it reaches a fixpoint. This general approach was developed by Gary Kildall while teaching at the Naval Postgraduate School. Data flow analysis attempts to obtain particular information at each point in a procedure. Usually, it is enough to obtain this information at the boundaries of basic...