Edition |
First edition. |
Description |
1 online resource |
|
text txt rdacontent |
|
computer c rdamedia |
|
online resource cr rdacarrier |
Series |
Advances in computers ; v. 108.
|
Note |
Online resource; title from PDF title page (EBSCO, viewed February 20, 2018). |
Bibliography |
Includes bibliographical references. |
Summary |
Annotation Since its first volume was issued in 1960, 'Advances in Computers' has presented detailed coverage of innovations in computer hardware, software, theory, design and applications. It has also provided contributors with a medium in which they can explore their subjects in greater depth and breadth than journal articles usually allow. As a result, many articles have become standard references that continue to be of significant value in this rapidly expanding field. |
Contents |
Front Cover -- Advances in Computers -- Copyright -- Contents -- Preface -- Chapter One: Model-Based Testing for Internet of Things Systems -- 1. Introduction -- 2. Challenges of Testing IoT Systems -- 2.1. IoT Layers -- 2.2. Key Challenges -- 2.2.1. Scalability -- 2.2.2. Interoperability -- 2.2.3. Security -- 3. State of the Art -- 3.1. Model-Based Testing -- 3.2. MBT Approaches for the IoT Domain -- 3.2.1. Functional Testing -- 3.2.2. Security Testing -- 3.2.3. Online Testing -- 3.3. MBT Tools -- 3.3.1. CompleteTest -- 3.3.2. DIVERSITY -- 3.3.3. FMBT -- 3.3.4. HTG -- 3.3.5. Lurette -- 3.3.6. MISTA -- 3.3.7. Modbat -- 3.3.8. MoMuT -- 3.3.9. PragmaDev -- 3.3.10. Tcases -- 3.3.11. TCG -- 3.3.12. VERA -- 3.3.13. CertifyIt -- 4. MBT for IoT Conformance Testing -- 4.1. MBT Specificities for IoT Conformance Testing -- 4.1.1. MBT Model -- 4.1.2. Test Case Generation -- 4.1.3. Test Case Reification and Execution -- 4.2. Experimentation and Results -- 4.3. Lessons Learnt -- 5. MBT for IoT Security Testing -- 5.1. MBT Specificities for IoT Security Testing -- 5.1.1. MBT Model -- 5.1.2. Test Case Generation -- 5.1.3. Test Case Reification -- 5.1.4. Test Case Execution -- 5.2. Experimentation and Results -- 5.3. Lessons Learnt -- 6. Online MBT for IoT Robustness Testing -- 6.1. MBT Specificities for the IoT Robustness Testing -- 6.1.1. MBT Model -- 6.1.2. Test Case Generation, Reification, and Execution -- 6.2. Future Works -- 7. Model-Based Testing as a Service -- 7.1. MBTAAS Architecture -- 7.2. Customization Service -- 7.3. Publication Service -- 7.4. Execution Service -- 7.5. Reporting Service -- 8. Lessons Learnt and Discussion -- 9. Conclusion -- Acknowledgments -- References -- Chapter Two: Advances in Software Model Checking -- 1. Introduction -- 1.1. Properties -- 1.2. Soundness and Completeness. |
|
1.3. Schedule Nondeterminism and Input Nondeterminism -- 2. Explicit-State Bounded Model Checking -- 2.1. Stateful Search -- 2.2. Symmetry Reduction -- 2.3. Partial Order Reduction -- 2.4. Execution-Based Search -- 2.5. Stateless Search -- 2.6. Tools and Recent Advancements -- 2.7. Parallel Model Checking -- 2.8. Model Checking in Other Domains -- 3. Symbolic Execution -- 3.1. Stateful Symbolic Execution -- 3.2. Stateless Symbolic Execution -- 3.3. Symbolic Bounded Model Checking -- 3.4. Ranged and Incremental Symbolic Execution -- 3.5. Parallel Symbolic Execution -- 3.6. Other Advancements in Symbolic Execution -- 4. Abstraction-Based Model Checking -- 4.1. Abstraction Refinement -- 4.2. Tools and Recent Advancements -- 5. Conclusions -- References -- Chapter Three: Emerging Software Testing Technologies -- 1. Introduction -- 2. Basic Concepts of Testing -- 2.1. Type of Tests -- 2.1.1. Static Techniques -- 2.1.2. Dynamic Techniques -- 2.2. Objectives of Testing -- 2.3. Test Levels -- 2.3.1. Unit Test -- 2.3.2. Integration Test -- 2.3.3. System Test -- 2.3.4. Regression Test -- 3. Test Cases Generation -- 3.1. Search-Based Testing -- 3.2. Model-Based Testing -- 3.3. Black-Box vs White-Box Testing -- 3.3.1. Black-Box Testing -- 3.3.2. White-Box Testing -- 3.3.3. Gray-Box Testing -- 3.4. Symbolic Execution -- 3.5. Nonfunctional Testing -- 4. Test Challenges -- 4.1. Oracle Problem -- 4.2. Full Automation -- 4.3. Scalability of Testing -- 4.4. Test Effectiveness -- 4.4.1. Measuring the Software -- 4.4.2. Measuring the Testing Technique -- 4.4.3. Test Cases Selection and Prioritization -- 5. Testing Process -- 5.1. Sequential Models -- 5.2. Iterative Models -- 5.3. Agile Development Process -- 6. Domain-Specific Testing -- 6.1. Cloud-Based Testing -- 6.2. SOA Testing -- 6.2.1. SOA Black-Box Testing -- 6.2.2. SOA White-Box Testing. |
|
6.2.3. SOA Gray-Box Testing -- 6.2.4. SOA Security Testing -- 6.3. GUI-Based Testing -- 6.4. Mobile Testing -- 6.5. Big Data Testing -- 6.6. Automotive Testing -- 7. Discussion and Conclusions -- References -- Chapter Four: Optimizing the Symbolic Execution of Evolving Rhapsody Statecharts -- 1. Introduction -- 1.1. Research Statement and Scope -- 1.2. Contributions -- 1.3. Chapter Organization -- 2. Background -- 2.1. Modeling and Analysis in the IBM Rational Rhapsody Developer MDE Tool -- 2.1.1. Rhapsody Object Model Diagrams -- 2.1.2. Rhapsody Statecharts -- 2.1.3. Analysis and Verification of State-Based Models -- 2.2. Symbolic Execution -- 2.3. Dependence Analysis -- 2.3.1. Control Dependence -- 2.3.2. Data Dependence -- 2.3.3. Communication Dependence -- 2.4. Model Differencing -- 2.5. Model Transformation -- 2.6. Summary -- 3. Related Work -- 3.1. Two Ways to Reconcile Analysis and Evolution Efficiently -- 3.2. Analysis and Verification of Statechart-Like Models -- 3.3. Incremental Analysis and Verification Techniques for Evolving Programs -- 3.4. Incremental Analysis and Verification in Model-Based Development -- 3.5. Summary -- 4. Standard Symbolic Execution of Rhapsody Statecharts -- 4.1. Standard Symbolic Execution of Individual Rhapsody Statecharts -- 4.1.1. Statecharts-to-Mealy-Like-Machines Transformation: SC2MLM -- 4.1.2. Symbolic Execution of MLM:MLM2SET -- 4.2. Symbolic Execution of a Model of Communicating Rhapsody Statecharts -- 4.2.1. Rhapsody Model of Communicating Statecharts-to-Communicating MLMs Transformation: RhapM2CMLM -- 4.2.2. Symbolic Execution of Communicating MLMs:CMLM2GSET -- 4.3. Summary -- 5. Optimizing Symbolic Execution of Evolving Rhapsody Statecharts -- 5.1. Motivating Example -- 5.1.1. Optimization Via Reuse-An Artifact-Oriented Evolution Support Approach. |
|
5.1.2. Optimization Via Reduction-An Analysis-Oriented Evolution Support Approach -- 5.2. Proposed Symbolic Execution Optimizations for Evolving Rhapsody Statecharts -- 5.2.1. Memoization-Based Symbolic Execution -- 5.2.1.1. Technique Description -- 5.2.1.2. Discussion -- 5.2.2. Dependency-Based Symbolic Execution -- 5.2.2.1. Technique Description -- 5.2.2.2. Discussion -- 5.3. MSE or DSE? -- 5.4. Summary -- 6. Implementation -- 6.1. Implementation Decisions -- 6.2. Interaction With KLEE -- 6.3. Implementation of the MQL and TGL-Based Transformation Components -- 6.4. Interaction With the IBM Rational Rhapsody DiffMerge and Its Related Components -- 6.5. Summary -- 7. Evaluation -- 7.1. Research Questions and Variables of Interest -- 7.2. Case Study Artifacts -- 7.3. Evaluation Setup -- 7.4. Results and Analysis -- 7.5. Threats to Validity -- 7.6. Summary -- 8. Conclusion: Summary, Future Work, and Perspective -- 8.1. Summary and Future Work -- 8.2. Perspective: The Road Ahead for MDE -- 8.2.1. Challenges -- 8.2.2. Opportunities -- Appendix -- A.1. Ecore Meta-Model of CMLMs -- References -- Chapter Five: A Tutorial on Software Obfuscation -- 1. Introduction -- 2. Classification of Code Obfuscation Transformations -- 2.1. Abstraction Level of Transformations -- 2.2. Unit of Transformations -- 2.3. Dynamics of Transformations -- 2.4. Target of Transformations -- 2.4.1. Data Transformations -- 2.4.2. Code Transformations -- 2.5. Summary of Obfuscation Transformation Classification -- 3. Classification of MATE Attacks -- 3.1. Attack Type Dimension -- 3.2. Dynamics Dimension -- 3.3. Interpretation Dimension -- 3.4. Alteration Dimension -- 3.5. Summary of MATE Attack Classification -- 4. Survey of Obfuscation Transformations -- 4.1. Constant Data Transformations -- 4.1.1. Opaque Predicates. |
|
4.1.2. Convert Static Data to Procedural Data (a.k.a. Encode Literals) -- 4.1.3. Mixed Boolean-Arithmetic -- 4.1.4. White-Box Cryptography -- 4.1.5. One-Way Transformations -- 4.2. Variable Data Transformations -- 4.2.1. Split Variables -- 4.2.2. Merge Variables -- 4.2.3. Restructure Arrays -- 4.2.4. Reorder Variables -- 4.2.5. Dataflow Flattening -- 4.2.6. Randomized Stack Frames -- 4.2.7. Data Space Randomization -- 4.3. Code Logic Transformations -- 4.3.1. Instruction Reordering -- 4.3.2. Instruction Substitution -- 4.3.3. Encode Arithmetic -- 4.3.4. Garbage Insertion -- 4.3.5. Insert Dead Code -- 4.3.6. Adding and Removing Function Calls -- 4.3.7. Loop Transformations -- 4.3.8. Adding and Removing Jumps -- 4.3.9. Program Encoding -- 4.3.10. Self-Modifying Code -- 4.3.11. Virtualization Obfuscation -- 4.3.12. Control Flow Flattening -- 4.3.13. Branch Functions -- 4.4. Code Abstraction Transformations -- 4.4.1. Merging and Splitting Functions -- 4.4.2. Remove Comments and Change Formatting -- 4.4.3. Scrambling Identifier Names -- 4.4.4. Removing Library Calls and Programming Idioms -- 4.4.5. Modify Inheritance Relations -- 4.4.6. Function Argument Randomization -- 4.5. Summary of Survey -- 5. Discussion -- 6. Related Work -- 6.1. Encryption via Trusted Hardware -- 6.2. Server-Side Execution -- 6.3. Code Tamper-detection and Tamper-proofing -- 6.4. Cryptographic Obfuscation -- 6.5. Other Surveys of Software Obfuscation -- 7. Conclusion -- References -- Back Cover. |
Subject |
Computers.
|
|
Electronic data processing.
|
|
Computers |
|
Ordinateurs.
|
|
computers.
|
|
COMPUTERS -- Computer Literacy.
|
|
COMPUTERS -- Computer Science.
|
|
COMPUTERS -- Data Processing.
|
|
COMPUTERS -- Hardware -- General.
|
|
COMPUTERS -- Information Technology.
|
|
COMPUTERS -- Machine Theory.
|
|
COMPUTERS -- Reference.
|
|
Computers
|
|
Electronic data processing
|
ISBN |
9780128151204 (electronic bk.) |
|
012815120X (electronic bk.) |
|
0128151196 |
|
9780128151198 |
|
9780128151198 |
Standard No. |
9780128151198 |
|
AU@ 000062231929 |
|