Advances in computers, Volume 112

Advances in Computers, Volume 112, the latest volume in a series published since 1960, presents detailed coverage of innovations in computer hardware, software, theory, design and applications. Chapters in this updated volume include Mobile Application Quality Assurance, Advances in Combinatorial Te...

Full description

Bibliographic Details
Other Authors: Memon, Atif M. (Editor)
Format: eBook
Language:English
Published: Cambridge, MA Academic Press is an imprint of Elsevier 2019
Subjects:
Online Access:
Collection: O'Reilly - Collection details see MPG.ReNa
LEADER 11397nmm a2200421 u 4500
001 EB001907858
003 EBX01000000000000001070760
005 00000000000000.0
007 cr|||||||||||||||||||||
008 210123 ||| eng
020 |a 9780128151228 
020 |a 0128151226 
050 4 |a QA76 
100 1 |a Memon, Atif M.  |e editor 
245 0 0 |a Advances in computers, Volume 112  |c edited by Atif M. Memon 
260 |a Cambridge, MA  |b Academic Press is an imprint of Elsevier  |c 2019 
300 |a 1 online resource 
505 0 |a 4.1.1. Ordering Among Operations of Different Threads -- 4.1.2. Ordering Among Operations of the Same Thread -- 4.1.3. Happens-Before-Based Race Detection -- 4.2. Single-Threaded Event Handling -- 4.3. Programmatic Event Loops -- 4.4. Efficient Computation of Happens-Before Relation -- 4.4.1. Graph Representations -- 4.4.2. Vector Clocks -- 4.4.3. Event Orderings -- 5. Model Checking -- 6. Related and Future Directions -- 7. Summary -- Acknowledgments -- References -- About the Author -- Chapter Eight: A Taxonomy of Software Integrity Protection Techniques -- 1. Introduction -- 1.1. Attacker Goals and Motives -- 1.2. Local Attacks -- 1.3. Remote Attacks -- 1.4. Further Attack Types -- 1.5. Approaches to Protect Software Integrity -- 1.6. Gap -- 1.7. Contribution -- 1.8. Structure -- 2. Motivating Example -- 2.1. Threats -- 3. Proposed Taxonomy -- 3.1. System -- 3.2. Attack -- 3.3. Defense -- 3.4. View Dependencies -- 4. Applying the Proposed Taxonomy -- 5. Observation and Analysis -- 5.1. Asset Protection in Different Representations -- 5.1.1. Behavior Protection Schemes -- 5.1.2. Data Protection Schemes -- 5.1.3. Data and Behavior Protection Schemes -- 5.2. MATE Attack Mitigation on Different Asset Representations -- 5.2.1. Binary -- 5.2.1.1. Static Representation Verification -- 5.2.1.2. Hardening Measures -- 5.2.2. Control Flow -- 5.2.3. Process Memory -- 5.2.4. Runtime Data -- 5.3. Defense Integration to Program Life Cycle -- 5.3.1. Precompile -- 5.3.1.1. Code Invariants -- 5.3.1.2. Data Invariants -- 5.3.1.3. Trace -- 5.3.2. Compile -- 5.3.3. Load -- 5.3.4. Run -- 5.3.5. Postcompile -- 5.3.6. Code Invariants -- 5.3.7. Data Invariants -- 5.3.8. Static (File) -- 5.3.9. Timed Trace -- 5.3.10. Trace -- 5.4. Correlation of Transformation Life Cycle and Protection Overhead -- 5.4.1. Fair -- 5.4.2. Medium -- 5.4.3. High -- 5.4.4. N/A. 
505 0 |a 5.4.2. Concolic/Dynamic Symbolic Execution Test Generation -- 5.4.3. Search-Based Test Generation -- 5.5. Mutant Execution (Step 5) -- 5.6. Mutation Score Calculation and Refinement (Step 6) -- 5.7. Reduce/Prioritize Test Cases (Step 7) -- 5.8. Confidence Inspired by Mutation Score (Step 8) -- 5.9. Test Oracles (Step 9) -- 5.10. Debugging (Step 10) -- 5.10.1. Mutation-Based Fault Localization -- 5.10.2. Mutation-Based Fault Repair and Other Debugging Activities -- 6. Alternative Code-Based Mutation Testing Advances -- 7. Advances Beyond Code-Based Mutation Testing -- 7.1. Model-Based Testing -- 7.2. Security Testing -- 7.3. Supporting Adaptive Random Testing, Boundary Value Analysis, and Combinatorial Interaction Testing -- 7.4. Other Mutation-Based Applications -- 8. Tools for Mutation Testing -- 9. Mutation-Based Test Assessment: Use and Threats to Validity -- 9.1. The Use of Mutation in Empirical Studies -- 9.2. Programming Language and Mutant Operators -- 9.3. Subsumed Mutant Threat -- 9.4. Test Suite Strength and Size -- 9.5. Mutation Testing Tools -- 9.6. Clean Program Assumption -- 10. A Seven-Point Check List of Best Practices on Using Mutation Testing in Controlled Experiments -- 11. Conclusion and Future Directions -- 11.1. Open Problems -- References -- About the Authors -- Chapter Seven: Event-Based Concurrency: Applications, Abstractions, and Analyses -- 1. Introduction -- 2. Programming Abstractions -- 2.1. Events and Event Handlers -- 2.2. Event Loops -- 2.2.1. Default Event Loops -- 2.2.2. Programmatic Event Loops -- 2.2.3. Recursive and Cascaded Event Loops -- 2.3. Multithreading -- 3. Concurrency Semantics -- 3.1. Android Concurrency -- 3.2. Single-Threaded Event Handling -- 3.3. Programmatic Event Loops -- 4. Happens-Before Analysis and Race Detection -- 4.1. Happens-Before Relation for Android Applications 
505 0 |a 4.2.1. Functional Evaluation of the Data Model -- 4.2.2. Structural Evaluation of the Data Model -- 4.2.3. Usability Evaluation of the Data Model -- 4.2.4. Maintainability Evaluation of the Data Model -- 4.3. Testing Data Management Product -- 4.3.1. Performance and Stress Testing of Data Management Product -- 4.3.2. Recovery Testing of Data Management Product -- 4.4. Summary -- 5. Testing ETL Process -- 5.1. Functional Testing of ETL Process -- 5.1.1. Data Quality Tests -- 5.1.2. Balancing Tests -- 5.2. Performance, Stress, and Scalability Testing of ETL Process -- 5.3. Reliability Testing of ETL Process -- 5.4. Regression Testing of ETL Process -- 5.5. Usability Testing of ETL Process -- 5.6. Summary -- 6. Testing Front-End Applications -- 6.1. Functional Testing of Front-End Applications -- 6.2. Usability Testing of Front-End Applications -- 6.3. Performance and Stress Testing of Front-End Applications -- 6.4. Summary -- 7. Conclusion -- References -- Chapter Six: Mutation Testing Advances: An Analysis and Survey -- 1. Introduction -- 2. Background -- 3. What Is Special About Mutation Testing -- 4. The Relations Between Mutants and Fault Revelation -- 5. The Regular Code-Based Mutation Testing Process -- 5.1. Mutant Selection (Step 1) -- 5.1.1. Mutant Operators -- 5.1.1.1. Operators for Specific Programming Languages -- 5.1.1.2. Operators for Specific Categories of Programming Languages -- 5.1.1.3. Operators for Specific Categories of Applications -- 5.1.1.4. Operators for Specific Categories of Bugs -- 5.1.2. Mutant Reduction Strategies -- 5.2. Mutant Creation (Step 2) -- 5.3. Statically Eliminating Equivalent and Redundant Mutants (Step 3) -- 5.3.1. Identifying Equivalent Mutants -- 5.3.2. Identifying Redundant Mutants -- 5.4. Mutation-Based Test Generation (Step 4) -- 5.4.1. Static Constraint-Based Test Generation 
505 0 |a Front Cover -- Advances in Computers -- Copyright -- Contents -- Preface -- Chapter One: Mobile Application Quality Assurance -- 1. Introduction -- 2. Methodology for Retrieving the State of the Art -- 2.1. Objective -- 2.2. Selection Scope -- 2.3. Selection Criteria -- 2.4. Selection Phases -- 3. Results of Selection -- 3.1. Overview -- 3.1.1. Timeline -- 3.1.2. Frequent Keywords -- 3.1.3. Types of Sources and Contents of the Articles -- 3.2. Approaches to Performing Quality Assurance for Mobile Applications -- 3.2.1. RQ1: Type View -- 3.2.2. RQ2: Level View -- 3.2.3. RQ3: Phases View -- 3.2.4. RQ4: Quality View -- 3.2.5. RQ5: Automation View -- 3.2.6. RQ6: Evaluation View -- 3.2.7. RQ7: Trends -- 3.2.8. RQ8: Challenges -- 3.3. Threats to Validity -- 4. Discussion and Implications -- 5. Conclusion and Future Work -- Acknowledgments -- Appendix: Selected Articles -- References -- About the Authors -- Chapter Two: Advances in Combinatorial Testing -- 1. Introduction -- 1.1. Systematic Test Space Definition -- 1.2. Interaction Coverage Metric for Test Design -- 1.3. Combinatorial Test Design Optimization -- 2. Trends in Research Topics -- 3. Algorithms and Tools for CT -- 3.1. Background -- 3.2. Combinatorial Test Generation Strategies -- 3.2.1. The Expansion Approach -- 3.2.2. The Subset Selection Approach -- 3.2.3. The SAT-Based Approach -- 3.2.4. Combining Lower and Higher Strengths -- 3.3. Examples of CT Tools -- 3.3.1. Visualization in CT Tools -- 4. Modeling the CT Test Space -- 4.1. Modeling Patterns and Common Pitfalls -- 4.2. Advanced Modeling Constructs -- 4.3. Automatic Assistance in Model Debugging -- 4.4. Automatic Assistance in Model Definition -- 5. Case Studies -- 5.1. IBM Systems -- 5.2. Big Data Applications at Medidata -- 6. Metrics for CT -- 7. Advanced Topics in CT -- 7.1. Using CT in Conjunction With Existing Tests 
505 0 |a 7.2. CT-Based Test Plan Prioritization -- 7.3. Fault Localization -- 8. Future Directions -- 8.1. CT Evolution -- 8.2. CT Modeling -- 8.3. CT and Test Generation -- 9. Conclusions -- References -- About the Author -- Chapter Three: Advances in Applications of Object Constraint Language for Software Engineering -- 1. Introduction -- 2. Background -- 3. Survey on Advances in OCL -- 3.1. Verification and Validation Using OCL -- 3.1.1. Test Generation From OCL Constraints -- 3.1.2. Model Verification and Validation -- 3.2. Experiences and Empirical Reports on OCL -- 3.3. OCL Tools -- 3.4. Extensions to OCL -- 3.5. Other Works -- 3.5.1. Formalizing OCL -- 3.5.2. Use of OCL in Model Transformations -- 3.5.3. Instance Generation of Models -- 3.5.4. Refactoring and Simplifying OCL Constraints -- 4. Insights on Advances in OCL -- 5. Conclusion and Future Directions -- References -- About the Authors -- Chapter Four: Advances in Techniques for Test Prioritization -- 1. Introduction -- 2. Test Case Prioritization Problem -- 3. Categorizing TCP Techniques -- 3.1. Input Resources for TCP -- 3.2. Heuristics and Optimization Strategies for TCP -- 3.2.1. TCP Heuristics -- 3.2.2. Optimization Strategies -- 3.2.2.1. Maximizing Coverage -- 3.2.2.2. Maximizing Diversity -- 4. Test Prioritization Evaluation -- 5. Trends and Future Directions in TCP Techniques -- 6. Summary -- References -- About the Author -- Chapter Five: Data Warehouse Testing -- 1. Introduction -- 2. Data Warehouse Components -- 2.1. Sources and Target Data Warehouse -- 2.2. Extract, Transform, and Load -- 2.3. Front-End Applications -- 3. Testing Data Warehouse Components -- 4. Testing Source Area and Target Data Warehouse -- 4.1. Testing Underlying Data -- 4.1.1. Functional Testing of Underlying Data -- 4.1.2. Security Testing of Underlying Data -- 4.2. Testing the Data Model 
505 0 |a Includes bibliographical references 
653 |a COMPUTERS / Computer Science / bisacsh 
653 |a Computers / fast 
653 |a Computers / http://id.loc.gov/authorities/subjects/sh85029552 
653 |a Ordinateurs 
653 |a Computers 
653 |a computers / aat 
041 0 7 |a eng  |2 ISO 639-2 
989 |b OREILLY  |a O'Reilly 
776 |z 9780128151211 
776 |z 9780128151228 
776 |z 0128151226 
856 4 0 |u https://learning.oreilly.com/library/view/~/9780128151228/?ar  |x Verlag  |3 Volltext 
082 0 |a 500 
082 0 |a 004 
520 |a Advances in Computers, Volume 112, the latest volume in a series published since 1960, presents detailed coverage of innovations in computer hardware, software, theory, design and applications. Chapters in this updated volume include Mobile Application Quality Assurance, Advances in Combinatorial Testing, Advances in Applications of Object Constraint Language for Software Engineering, Advances in Techniques for Test Prioritization, Data Warehouse Testing, Mutation Testing Advances: An Analysis and Survey, Event-Based Concurrency: Applications, Abstractions, and Analyses, and A Taxonomy of Software Integrity Protection Techniques. Provides in-depth surveys and tutorials on new computer technology Covers well-known authors and researchers in the field Presents extensive bibliographies with most chapters Includes volumes that are devoted to single themes or subfields of computer science