Advances in computers. Volume 91 /
Since its first volume 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 ar...
Άλλοι συγγραφείς: | |
---|---|
Μορφή: | Ηλ. βιβλίο |
Γλώσσα: | English |
Έκδοση: |
Amsterdam :
Academic Press,
2013.
|
Θέματα: | |
Διαθέσιμο Online: | Full Text via HEAL-Link |
Πίνακας περιεχομένων:
- Half Title; Title Page; Copyright; Contents; Preface; 1 Reverse-Engineering Software Behavior; 1 Introduction; 2 Background; 2.1 Modeling Software Behavior; 2.1.1 Modeling Data; 2.1.2 Modeling Sequential Behavior; 2.1.2.1 State Machines; 2.1.2.2 Message Sequence Charts and Sequence Diagrams; 2.1.3 Combining Data and Control; 2.1.3.1 EFSMs; 2.1.3.2 Algebraic Models; 2.2 The Reverse-Engineering Process; 2.2.1 Summary; 3 Static Analysis; 3.1 Why do we Need Behavioral Models if we have Source Code?; 3.2 Intermediate Representations-Source Code as a Graph; 3.2.1 The Control Flow Graph.
- 3.2.1.1 Data Flow3.2.1.2 Call Graphs; 3.3 Answering Questions about Behavior with Static Analysis; 3.3.1 Dominance Analysis, Dependence Analysis, and Slicing; 3.3.1.1 Dominance Analysis; 3.3.1.2 Control Dependence Analysis; 3.3.1.3 The Program Dependence Graph and Slicing; 3.4 Building behavioral Models by Static Analysis; 3.4.1 Collecting ``Static Traces''-Identifying Potential Program Executions; 3.4.2 Deriving Models from Static Traces; 3.5 Limitations of Static Analysis; 4 Dynamic Analysis; 4.1 Tracing and the Challenge of Inductive Inference; 4.1.1 Tracing.
- 4.1.2 The Essential Challenge of Dynamic Analysis4.2 Practical Trace Collection Approaches; 4.2.1 Selecting Inputs by the Category Partition Method; 4.2.2 Selecting Inputs by Exercising the Surrounding System; 4.2.3 Random Input Selection; 4.3 Data Function Inference; 4.3.1 Using General-Purpose Data Model Inference Algorithms; 4.3.2 Inferring Pre-Conditions, Post-Conditions, and Invariants; 4.4 State Machine Inference; 4.5 Limitations of Dynamic Analysis; 5 Evaluating Reverse-Engineered Models; 5.1 Evaluating Syntactic Model Accuracy; 5.1.1 Measuring the Difference.
- 5.2 Comparing Model Behavior6 Conclusions and Outstanding Challenges; 6.1 Accommodating Scale; 6.1.1 Static Analysis Technique; 6.1.2 Dynamic Analysis Technique; 6.2 Factoring in Domain Knowledge; 6.3 Concurrency and Time-Sensitivity; References; About the Authors; 2 Understanding Application Contentiousness and Sensitivity on Modern Multicores; 1 Introduction; 2 Contentiousness vs. Sensitivity; 2.1 Definition; 2.2 Contentiousness and Sensitivity; 2.3 Experiment Design, Results, and Insights; 2.3.1 Contentiousness; 2.3.2 Sensitivity; 2.3.3 Contentiousness vs. Sensitivity.
- 3 LLC Misses as an Indicator?4 Predicting Contention Characteristics; 4.1 Modeling Contention Characteristics; 4.2 Approximation Using PMUs; 4.2.1 PMUs for Memory Resource Usage; 4.2.2 Regression to Determine Coefficients; 5 Evaluation; 6 Related Work; 7 Summary; References; About the Authors; 3 An Outlook of High Performance Computing Infrastructures for Scientific Computing; 1 Introduction; 2 Modern Microprocessor Based Computer Systems; 3 Computing Shift: from Serial to Parallel; 4 Implicit Parallelism; 4.1 Instruction Level Parallelism (ILP); 4.1.1 Major Kinds of ILP.