Limit search to available items
Book Cover
Book

Title Mining software specifications : methodologies and applications / [edited by] David Lo ... [and others]
Published Boca Raton, FL : CRC Press, [2011]
©2011

Copies

Location Call no. Vol. Availability
 MELB  006.312 Loa/Mss  AVAILABLE
Description xvi, 442 pages : illustrations ; 25 cm
Series Chapman & Hall/CRC data mining and knowledge discovery series
Chapman & Hall/CRC data mining and knowledge discovery series.
Contents Contents note continued: 11.6.2.Merlin Findings -- 11.6.3.Running Times -- 11.7.Related Work -- 11.7.1.Securing Web Applications -- 11.7.2.Mining Specifications -- 11.8.Conclusions -- Acknowledgments -- Bibliography -- 12.Lightweight Mining of Object Usage / Andreas Zeller -- 12.1.Introduction -- 12.2.An Example -- 12.3.Creating Function Models -- 12.4.Obtaining Sequential Constraints -- 12.5.Finding Specifications -- 12.6.Discovering Violations -- 12.7.The Real World -- 12.8.Scaling to Multiple Projects -- 12.9.Conclusion and Future Work -- Bibliography
Contents note continued: 2.6.Comparing the Generated Models -- 2.7.Related Work -- 2.7.1.Mining Models That Represent Ordering of Events -- 2.7.2.Mining Models That Represent Program Variables -- 2.8.Concluding Remarks -- Bibliography -- 3.Adapting Grammar Inference Techniques to Mine State Machines / Kirill Bogdanov -- 3.1.Introduction -- 3.2.The Conventional Reverse-Engineering Approach and Its Problems -- 3.2.1.State Machines and Their Languages -- 3.2.2.State Merging -- 3.2.3.Problems with This Approach -- 3.3.Applying Advances from the Field of Grammar Inference -- 3.3.1.Negative Samples -- 3.3.2.Improved State-Merging Heuristics -- 3.3.2.1.Evidence-Driven State Merging -- 3.3.2.2.Blue-Fringe Search Strategy -- 3.3.3.Active Approaches -- 3.3.4.Applying These Advances in Practice -- 3.3.4.1.The Software System as Oracle -- 3.4.Integrating Constraints -- 3.4.1.Integrating Data Constraints -- 3.4.2.Integrating Temporal Constraints -- 3.5.Conclusions and Future Work --
Contents note continued: 4.5.3.Applications -- 4.6.Related Work -- 4.6.1.Mining of Finite State Machines -- 4.6.2.Mining of Temporal Rules and Other Specifications -- 4.6.3.Invariant Inference -- 4.6.4.Other Related Work -- 4.7.Conclusions -- Bibliography -- 5.Static API Specification Mining: Exploiting Source Code Model Checking / Tao Xie -- 5.1.Introduction -- 5.2.Static Trace Generation for Mining Specifications -- 5.2.1.Example -- 5.2.2.Framework -- 5.2.2.1.Partial and Total Order -- 5.2.2.2.Frequent Closed Partial Orders (FCPO) -- 5.2.2.3.Formalizing FCPO Mining from Program Traces -- 5.2.2.4.Trace Generation -- 5.2.2.5.Scenario Extraction -- 5.2.2.6.Specification Mining -- 5.2.2.7.Complexity -- 5.2.3.Implementation -- 5.2.4.Comparison with a Dynamic Miner -- 5.3.Adapting Static Trace Generation for Mining API Error-Handling Specifications -- 5.3.1.Example -- 5.3.2.Adaptation - The Details -- 5.3.2.1.Error/Normal Trace Generation -- 5.3.2.2.Specification Mining --
Contents note continued: 5.3.2.3.Verification -- 5.3.3.Evaluation -- 5.4.Conclusions -- 5.4.1.Summary -- 5.4.2.Scope, Limitations, and Further Research -- Bibliography -- 6.Static Specification Mining Using Automata-Based Abstractions / Marco Pistoia -- 6.1.Introduction -- 6.2.Overview -- 6.2.1.Abstract-Trace Collection -- 6.2.2.Summarization -- 6.2.3.Refining Mining Results via Inspection -- 6.3.Preliminaries -- 6.4.Abstract Trace Collection -- 6.4.1.Concrete Instrumented Semantics -- 6.4.2.Abstract Semantics -- 6.4.2.1.Abstract States -- 6.4.2.2.Abstract Semantics -- 6.4.2.3.History Abstractions -- 6.5.Summarization Using Statistical Approaches -- 6.5.1.Union Methods -- 6.5.2.Clustering -- 6.6.Refining Mining Results Using Inspection -- 6.6.1.Static Inspection -- 6.6.1.1.Static Client Inspection -- 6.6.1.2.Static Component Inspection -- 6.6.2.Dynamic Inspection -- 6.6.3.Selection of Paths for Inspection -- 6.6.4.Refinement Based on Abstraction Merge Points --
Contents note continued: 6.7.Experimental Results -- 6.7.1.Benchmarks -- 6.7.2.Results -- 6.7.3.Discussion -- 6.7.3.1.Soundness -- 6.7.3.2.Limitations -- 6.8.Related Work -- 6.9.Conclusion -- Bibliography -- 7.DynaMine: Finding Usage Patterns and Their Violations by Mining Software Repositories / Thomas Zimmermann -- 7.1.Introduction -- 7.1.1.Contributions -- 7.1.2.Chapter Organization -- 7.2.DynaMine -- 7.2.1.Motivation -- 7.2.2.System Overview -- 7.3.Mining Usage Patterns -- 7.3.1.Basic Mining Algorithm -- 7.3.2.Pattern Filtering -- 7.3.2.1.Considering a Subset of Method Calls Only -- 7.3.2.2.Considering Small Patterns Only -- 7.3.3.Pattern Ranking -- 7.3.3.1.Standard Ranking Approaches -- 7.3.3.2.Corrective Ranking -- 7.3.4.Locating Added Method Calls -- 7.4.Checking Patterns at Runtime -- 7.4.1.Pattern Selection and Instrumentation -- 7.4.2.Post-Processing Dynamic Traces -- 7.4.2.1.Dynamic Interpretation of Patterns -- 7.4.2.2.Dynamic versus Static Counts --
Contents note continued: 7.4.2.3.Pattern Classification -- 7.5.Experimental Results -- 7.5.1.Experimental Setup -- 7.5.1.1.Mining Setup -- 7.5.1.2.Dynamic Setup -- 7.5.2.Discussion of the Results -- 7.5.2.1.Matching Method Pairs -- 7.5.2.2.State Machines -- 7.5.2.3.More Complex Patterns -- 7.6.Design Decisions -- 7.6.1.Static versus Dynamic Analysis -- 7.6.2.Amount of User Involvement -- 7.6.3.Granularity of Mined Information -- 7.7.Extensions -- 7.8.Related Work -- 7.8.1.Revision History Mining -- 7.8.2.Model Extraction -- 7.9.Conclusions -- Bibliography -- 8.Automatic Inference and Effective Application of Temporal Specifications / David Evans -- 8.1.Introduction -- 8.1.1.Prior Work on Inferring Specifications -- 8.1.2.Contributions -- 8.2.Specification Inference -- 8.2.1.A Running Example: Producer-Consumer -- 8.2.2.Instrumentation -- 8.2.3.Running -- 8.2.4.Inference Engine -- 8.2.4.1.Property Templates -- 8.2.4.2.Pattern Matching Algorithm --
Contents note continued: 8.2.4.3.Handling Context Information -- 8.2.5.Approximate Inference -- 8.2.5.1.Imperfect Traces -- 8.2.5.2.Detecting the Dominant Behavior -- 8.2.6.Property Selection -- 8.2.6.1.Static Call Graph Based Heuristic -- 8.2.6.2.Naming Similarity Heuristic -- 8.2.7.Chaining Method -- 8.2.7.1.Property Graph -- 8.2.7.2.Chaining Is in NP-Complete -- 8.2.7.3.The Chaining Algorithm -- 8.2.8.Perracotta -- 8.2.8.1.Instrumentation -- 8.2.8.2.Inference Engine -- 8.3.Inference Experiments -- 8.3.1.Daisy -- 8.3.1.1.Inference Results -- 8.3.2.JBoss Application Server -- 8.3.2.1.Inference Results -- 8.3.2.2.Comparison with JTA Specification -- 8.3.3.Windows -- 8.3.3.1.Inference Results -- 8.4.Using Inferred Properties -- 8.4.1.Program Verification -- 8.4.1.1.Daisy -- 8.4.1.2.Windows -- 8.4.2.Program Differencing -- 8.4.2.1.Tour Bus Simulator -- 8.4.2.2.OpenSSL -- 8.5.Related Work -- 8.5.1.Grammar Inference -- 8.5.2.Property Inference -- 8.5.2.1.Template-Based Inference --
Contents note continued: 8.5.2.2.Arbitrary Model Inference -- 8.5.3.Use of Inferred Specifications -- 8.5.3.1.Defect Detection -- 8.5.3.2.Other Uses -- 8.6.Conclusion -- Acknowledgments -- Bibliography -- 9.Path-Aware Static Program Analyses for Specification Mining / Suresh Jagannathan -- 9.1.Introduction -- 9.1.1.Path-Aware Analyses -- 9.1.2.Dynamic versus Static Path Generation -- 9.1.3.Specification Inference -- 9.1.4.Path Profiles -- 9.2.Specification Inference -- 9.2.1.Precedence Protocols -- 9.2.2.Preceded-By and Followed-By Relations -- 9.2.3.Dataflow Predicates -- 9.2.4.Formalization -- 9.2.5.Incorporating Mining -- 9.2.5.1.Mining Strategies -- 9.2.5.2.The Structural Similarity Problem -- 9.2.6.Implementation -- 9.2.7.Experimental Results -- 9.2.8.Quantitative Assessment -- 9.2.9.Qualitative Assessment -- 9.2.9.1.Bug Detection -- 9.3.Static Path Profiles -- 9.3.1.Deriving Specifications -- 9.3.2.Implementation -- 9.3.3.Results -- 9.3.4.Quantitative Assessment --
Contents note continued: 9.3.5.Qualitative Assessment -- 9.4.Related Work -- 9.5.Conclusions -- Bibliography -- 10.Mining API Usage Specifications via Searching Source Code from the Web / Madhuri R. Marri -- 10.1.Introduction -- 10.2.Life-Cycle Model -- 10.3.Example SE Task: Detecting Exception-Handling Defects -- 10.4.Search Phase -- 10.5.Analyze Phase -- 10.5.1.Resolve Object Types -- 10.5.2.Generate Candidates -- 10.6.Mine Phase -- 10.7.Apply Phase -- 10.8.Summary -- Bibliography -- 11.Merlin: Specification Inference for Explicit Information Flow Problems / Anindya Banerjee -- 11.1.Introduction -- 11.2.Overview -- 11.2.1.Assumptions and Probabilistic Inference -- 11.2.2.Potential Sources, Sinks, and Sanitizers -- 11.2.3.Core Constraints -- 11.2.4.Auxiliary Constraints -- 11.3.Factor Graph Primer -- 11.4.Constructing the Factor Graph -- 11.4.1.Computing s() and W() -- 11.5.Relationship between Triples and Paths -- 11.6.Experimental Evaluation -- 11.6.1.Experimental Setup --
Contents note continued: Bibliography -- 4.Mining API Usage Protocols from Large Method Traces / Thomas R. Gross -- 4.1.Introduction -- 4.2.Mining API Usage Protocols -- 4.2.1.Collecting Method Traces -- 4.2.2.Finding Object Collaborations -- 4.2.3.Collaboration Transformers -- 4.2.3.1.Generalizing Types -- 4.2.3.2.Merging Objects -- 4.2.3.3.Package-Based Filtering -- 4.2.3.4.Dataflow Filtering -- 4.2.4.Extracting Collaboration Patterns -- 4.2.4.1.Summarizing Frequent Collaborations -- 4.2.4.2.Removing Infrequent Collaborations -- 4.2.5.Generating Finite State Machines -- 4.3.Implementation -- 4.3.1.Instrumentation and Program Run -- 4.3.2.Specification Inference -- 4.4.Experiments -- 4.4.1.Experimental Setup -- 4.4.2.Examples -- 4.4.3.Number and Size of Inferred Protocols -- 4.4.4.Influence of Coverage -- 4.4.5.Quality of Inferred Protocols -- 4.4.6.Performance and Scalability -- 4.5.Discussion and Applications -- 4.5.1.Dynamic versus Static Analysis -- 4.5.2.Limitations --
Machine generated contents note: 1.Specification Mining: A Concise Introduction / Jiawei Han -- 1.1.Introduction -- 1.2.Categorization -- 1.3.Mining Finite State Machines -- 1.4.Mining Value-Based Invariants -- 1.5.Mining Patterns and Rules -- 1.6.Mining Sequence Diagrams -- 1.7.Conclusion -- Bibliography -- 2.Mining Finite-State Automata with Annotations / Mauro Santoro -- 2.1.Introduction -- 2.2.Modeling Software Systems with Annotated FSA -- 2.3.Introducing a Running Example -- 2.4.Inferring FSA Annotated with Constraints -- 2.4.1.Merging Similar Traces -- 2.4.2.Generating Constraints -- 2.4.3.Initializing EFSA -- 2.4.4.Merging Equivalent States in EFSA -- 2.5.Inferring FSA Annotated with Data-Flow Information -- 2.5.1.Preprocessing Data -- 2.5.1.1.Identifying Data Clusters -- 2.5.1.2.Global Ordering Rewriting Strategy -- 2.5.1.3.Instantiation Rewriting Strategy -- 2.5.1.4.Access Rewriting Strategy -- 2.5.1.5.Choosing a Rewriting Strategy -- 2.5.2.Generating Models --
Notes Formerly CIP. Uk
Bibliography Includes bibliographical references and index
Subject Data mining -- Mathematical models.
Data mining.
Machine learning.
Author Lo, David.
LC no. 2011018865
ISBN 1439806268 (hardcover : alk. paper)
9781439806265 (hardcover : alk. paper)