Real-Time and Portable Chaos-Based Crypto-Compression Systems for Efficient Embedded Architectures Mohammad Abu Taha

Total Page:16

File Type:pdf, Size:1020Kb

Real-Time and Portable Chaos-Based Crypto-Compression Systems for Efficient Embedded Architectures Mohammad Abu Taha Real-Time and Portable Chaos-based Crypto-Compression Systems for Efficient Embedded Architectures Mohammad Abu Taha To cite this version: Mohammad Abu Taha. Real-Time and Portable Chaos-based Crypto-Compression Systems for Ef- ficient Embedded Architectures. Electronics. UNIVERSITE DE NANTES, 2017. English. tel- 01563932 HAL Id: tel-01563932 https://hal.archives-ouvertes.fr/tel-01563932 Submitted on 18 Jul 2017 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Public Domain Thèse de Doctorat Mohammed ABUTAHA Mémoire présenté en vue de l’obtention du grade de Docteur de l’Université de Nantes sous le sceau de l’Université Bretagne Loire École doctorale : Sciences et technologies de l’information, et mathématiques (ED STIM 503) Discipline : Electronique/spécialité:Sciences de l’Information et de la Communication. Unité de recherche : Institut d’Electronique et de Télécommunications de Rennes UMR CNRS 6164(IETR) Soutenance le 12 Juillet 2017 Real-Time and Portable Chaos-based Crypto-Compression Systems for Efficient Embedded Architectures JURY Présidente et Rapporteur : Mme Danièle FOURNIER, Professeur des universités, Université de Toulouse Rapporteur : M. Laurent NANA, Professeur des universités, Université Bretagne Occidentale Examinateur : M. Damien SAUVERON, Maître de Conférences, HDR, Université de Limoges Directeur de thèse : M. Safwan EL ASSAD, Maître de Conférences, HDR, Université de Nantes Co-directeur de thèse : M. Olivier DEFORGES, Professeur des universités, INSA de Rennes Co-encadrant de thèse : Mme Audrey QUEUDET, Maître de Conférences, Université de Nantes Contents I INTRODUCTION 15 1 Preface............................................ 17 2 Context............................................ 18 3 Objectives and motivations.................................. 18 4 Thesis outline and contributions............................... 19 5 Published work in journal and international conferences................... 20 6 Submitted papers for journal and conferences........................ 20 II BACKGROUND 21 1 State-of-the-art 23 1.1 Introduction.......................................... 23 1.2 Chaos-based generator related works............................. 24 1.3 Encryption schemes...................................... 25 1.3.1 Chaos-based block cipher cryptosystems...................... 25 1.3.2 Stream ciphers.................................... 26 1.4 Real time applications..................................... 32 1.5 High efficiency video coding (HEVC)............................ 34 1.5.1 HEVC tools...................................... 34 1.6 Selective video encryption related works........................... 40 1.7 Conclusion.......................................... 41 2 Parallel Programming and Software Security Tools 43 2.1 Introduction.......................................... 43 2.2 Parallel programming models................................. 43 2.2.1 MPI.......................................... 44 2.2.2 OpenMP....................................... 46 2.2.3 Pthread........................................ 46 2.3 A brief introduction to OpenMP............................... 46 2.3.1 OpenMP parallel principles............................. 46 2.3.2 OpenMP memory architecture............................ 46 2.3.3 OpenMP syntax.................................... 48 2.3.4 OpenMP parallel constructs............................. 48 2.3.5 OpenMP data environment.............................. 49 2.3.6 Critical sections.................................... 51 2.3.7 Clauses/directives summary............................. 52 2.3.8 OpenMP problems.................................. 52 2.4 Pthread-based multi-threaded programming......................... 53 2.4.1 Pthread data types.................................. 53 2.4.2 Creating Pthread................................... 53 3 4 CONTENTS 2.4.3 Waiting for Pthreads to finish............................ 54 2.4.4 Pthreads mutexes................................... 54 2.4.5 Pthread conditions variables............................. 55 2.4.6 Pthread barriers.................................... 57 2.5 Generating random numbers................................. 58 2.6 Software security analysis.................................. 58 2.6.1 Static software security tools............................. 60 2.6.2 Dynamic software security tools........................... 61 2.7 Conclusions.......................................... 62 III CONTRIBUTIONS 65 3 Efficient Implementation of Chaos-based Generators 67 3.1 Introduction.......................................... 67 3.2 Proposed chaotic generator.................................. 68 3.3 Parallel implementation.................................... 74 3.3.1 Parallel implementation of the chaotic generator using OpenMP.......... 74 3.3.2 Parallel implementation of the chaotic generator using Pthread........... 74 3.3.3 OpenMP vs Pthread................................. 75 3.3.4 Computing performance of the chaotic generator.................. 76 3.3.5 Statistical tests of proposed chaos based generator................. 76 3.4 First Application....................................... 86 3.4.1 Scheme of the proposed Pseudo-chaotic Number Generator as a RNG....... 87 3.5 Second Application: Proposed chaos-based stream cipher................. 91 3.5.1 Encryption computation performance and security analysis of the proposed stream cipher......................................... 92 3.5.2 Security analysis of proposed chaos-based stream cipher.............. 94 3.5.3 Statistical analysis of the proposed chaos stream cipher............... 97 3.6 Software security implementation.............................. 100 3.7 Conclusion.......................................... 104 4 Real Time Selective Encryption 105 4.1 Introduction.......................................... 105 4.2 Real time encoder: Kvazaar................................. 106 4.3 Proposed video encryption system.............................. 106 4.3.1 Encryption of intra prediction parameters...................... 106 4.3.2 CABAC level encryption............................... 106 4.3.3 Chaos-based encryption system........................... 108 4.4 ROI encryption in HEVC.................................. 109 4.4.1 Tile-based encryption system............................ 109 4.4.2 Encryption propagation in inter video coding.................... 109 4.5 Results and discussions.................................... 110 4.5.1 Experimental setup.................................. 110 4.5.2 Objective measurements............................... 112 4.5.3 Subjective evaluations................................ 120 4.5.4 Complexity evaluations............................... 123 4.6 Conclusion.......................................... 124 CONTENTS 5 IV Conclusions and Future work Perspectives 125 5 Conclusions and Future work Perspectives 127 5.1 Conclusions and future work................................. 127 Appendices 139 A Synthèse des travaux réalisés 141 A.1 Contexte et objectifs:..................................... 141 A.2 Résumé des travaux:..................................... 142 B Static and dynamic analysis tools 149 B.1 Software security analysis tools................................ 149 B.1.1 Static Software security analysis tools........................ 149 B.1.2 Dynamic Software security analysis tools...................... 151 B.2 Some of tools and limitations................................. 153 B.2.1 Csur tool....................................... 153 B.2.2 Boon tool....................................... 154 B.2.3 Cqual tool....................................... 154 B.2.4 Parfai tool and coverity tool............................. 154 B.2.5 Blast tool....................................... 154 C Code Documentation 155 C.1 Class List........................................... 155 C.2 File List............................................ 155 C.3 key Struct Reference..................................... 155 C.3.1 Detailed Description................................. 156 C.3.2 Member Data Documentation............................ 156 C.4 cartes.c File Reference.................................... 159 C.4.1 Detailed Description................................. 159 C.4.2 Macro Definition Documentation.......................... 160 C.4.3 Function Documentation............................... 160 C.5 cartes.h File Reference.................................... 163 C.5.1 Macro Definition Documentation.......................... 163 C.5.2 Function Documentation............................... 164 C.6 main.c File Reference..................................... 166 C.6.1 Detailed Description................................. 167 C.6.2 Function Documentation............................... 167 C.7 util.c File Reference...................................... 167 C.7.1 Detailed Description................................. 167 C.7.2 Function Documentation............................... 168 C.8 util.h File Reference...................................... 168 C.8.1 Typedef Documentation............................... 169 C.8.2
Recommended publications
  • Rc-6 Cryptosystem in Vhdl
    RC-6 CRYPTOSYSTEM IN VHDL BY:- Deepak Singh Samant OBJECTIVE: TO IMPLEMENT A CRYPTOSYSTEM USING RIVEST CIPHER-6 (RC6) ALGORITHM IN VHDL(FPGA) What is CRYPTOLOGY? CRYPTOGRAPHY is the art and science of achieving security by encoding message to make them non-readable . CRYPTANALYSIS is the technique of decoding messages from a non-readable format back to readable format without knowing how they were initially converted from readable format to non-readable format. CRYPTOGRAPHY + = CRYPTOLOGY CRYPTANALYSIS Cryptography Overview: Comm. E(k) N/W D(k) Key Set K Key Set K Types Of Attacks: . General View: 1.Criminal Attack 2.Publicity Attack 3.Legal Attack .Technical View: oPassive Attacks oActive Attacks Release of message Interruption Traffic Attacks Modification Fabrication Symmetric key cryptography If same key is used for encryption and decryption,we call the mechanism as symmetric key cryptography. It has the key distribution problem. Symmetric key cryptography Algorithm DES IDEA RC4 RC5 BLOW AES FISH AES: US government wanted to standardize a cryptographic algorithm,which was to be used universally by them.It was to be called as the Advanced Encryption Standard(AES). Among various proposal submitted,only 5 were short listed: 1.Rijndael 3.Serpent 5.MARS 2.Twofish 4.RC6 LITERATURE SURVEY • Comparison: (1) MARS: Its throughput in the studies was generally low. Therefore, its efficiency (throughput/area) was uniformly less than the other finalists. (2) RC6 throughput is generally average. RC6 seems to perform relatively better in pipelined implementations, non-feedback mode (3) Rijndael: good performance in fully pipelined implementations. Efficiency is generally very good. 4) Serpent: feedback mode encryption.
    [Show full text]
  • 24 Bringing Order to Chaos: Barrier-Enabled I/O Stack for Flash Storage
    Bringing Order to Chaos: Barrier-Enabled I/O Stack for Flash Storage YOUJIP WON and JOONTAEK OH, Hanyang University, Korea JAEMIN JUNG, Texas A&M University, USA GYEONGYEOL CHOI and SEONGBAE SON, Hanyang University, Korea JOOYOUNG HWANG and SANGYEUN CHO, Samsung Electronics, Korea This work is dedicated to eliminating the overhead required for guaranteeing the storage order in the modern IO stack. The existing block device adopts a prohibitively expensive approach in ensuring the storage order among write requests: interleaving the write requests with Transfer-and-Flush. For exploiting the cache bar- rier command for flash storage, we overhaul the IO scheduler, the dispatch module, and the filesystem sothat these layers are orchestrated to preserve the ordering condition imposed by the application with which the associated data blocks are made durable. The key ingredients of Barrier-Enabled IO stack are Epoch-based IO scheduling, Order-Preserving Dispatch,andDual-Mode Journaling. Barrier-enabled IO stack can control the storage order without Transfer-and-Flush overhead. We implement the barrier-enabled IO stack in server as well as in mobile platforms. SQLite performance increases by 270% and 75%, in server and in smartphone, respectively. In a server storage, BarrierFS brings as much as by 43× andby73× performance gain in MySQL and SQLite, respectively, against EXT4 via relaxing the durability of a transaction. CCS Concepts: • Software and its engineering → File systems management; Additional Key Words and Phrases: Filesystem, storage, block device, linux ACM Reference format: Youjip Won, Joontaek Oh, Jaemin Jung, Gyeongyeol Choi, Seongbae Son, Jooyoung Hwang, and Sangyeun Cho. 2018. Bringing Order to Chaos: Barrier-Enabled I/O Stack for Flash Storage.
    [Show full text]
  • Ein Wilder Ritt Distributionen
    09/2016 Besichtigungstour zu den skurrilsten Linux-Distributionen Titelthema Ein wilder Ritt Distributionen 28 Seit den frühen 90ern schießen die Linux-Distributionen wie Pilze aus dem Boden. Das Linux-Magazin blickt zurück auf ein paar besonders erstaunliche oder schräge Exemplare. Kristian Kißling www.linux-magazin.de © Antonio Oquias, 123RF Oquias, © Antonio Auch wenn die Syntax anderes vermu- samer Linux-Distributionen aufzustellen, Basis für Evil Entity denkt (Grün!), liegt ten lässt, steht der Name des klassischen denn in den zweieinhalb Jahrzehnten falsch. Tatsächlich basierte Evil Entity auf Linux-Tools »awk« nicht für Awkward kreuzte eine Menge von ihnen unseren Slackware und setzte auf einen eher düs- (zu Deutsch etwa „tolpatschig“), sondern Weg. Während einige davon noch putz- ter anmutenden Enlightenment-Desktop für die Namen seiner Autoren, nämlich munter in die Zukunft blicken, ist bei an- (Abbildung 3). Alfred Aho, Peter Weinberger und Brian deren nicht recht klar, welche Zielgruppe Als näher am Leben erwies sich der Fo- Kernighan. Kryptische Namen zu geben sie anpeilen oder ob sie überhaupt noch kus der Distribution, der auf dem Ab- sei eine lange etablierte Unix-Tradition, am Leben sind. spielen von Multimedia-Dateien lag – sie heißt es auf einer Seite des Debian-Wiki wollten doch nur Filme schauen. [1], die sich mit den Namen traditioneller Linux für Zombies Linux-Tools beschäftigt. Je kaputter, desto besser Denn, steht dort weiter, häufig halten Apropos untot: Die passende Linux- Entwickler die Namen ihrer Tools für Distribution für Zombies ließ sich recht Auch Void Linux [4], der Name steht selbsterklärend oder sie glauben, dass einfach ermitteln. Sie heißt Undead Linux je nach Übersetzung für „gleichgültig“ sie die User ohnehin nicht interessieren.
    [Show full text]
  • The Long Road to the Advanced Encryption Standard
    The Long Road to the Advanced Encryption Standard Jean-Luc Cooke CertainKey Inc. [email protected], http://www.certainkey.com/˜jlcooke Abstract 1 Introduction This paper will start with a brief background of the Advanced Encryption Standard (AES) process, lessons learned from the Data Encryp- tion Standard (DES), other U.S. government Two decades ago the state-of-the-art in cryptographic publications and the fifteen first the private sector cryptography was—we round candidate algorithms. The focus of the know now—far behind the public sector. presentation will lie in presenting the general Don Coppersmith’s knowledge of the Data design of the five final candidate algorithms, Encryption Standard’s (DES) resilience to and the specifics of the AES and how it dif- the then unknown Differential Cryptanaly- fers from the Rijndael design. A presentation sis (DC), the design principles used in the on the AES modes of operation and Secure Secure Hash Algorithm (SHA) in Digital Hash Algorithm (SHA) family of algorithms Signature Standard (DSS) being case and will follow and will include discussion about point[NISTDSS][NISTDES][DC][NISTSHA1]. how it is directly implicated by AES develop- ments. The selection and design of the DES was shrouded in controversy and suspicion. This very controversy has lead to a fantastic acceler- Intended Audience ation in private sector cryptographic advance- ment. So intrigued by the NSA’s modifica- tions to the Lucifer algorithm, researchers— This paper was written as a supplement to a academic and industry alike—powerful tools presentation at the Ottawa International Linux in assessing block cipher strength were devel- Symposium.
    [Show full text]
  • The RC6TM Block Cipher
    TM The RC6 Blo ck Cipher 1 2 2 2 Ronald L. Rivest , M.J.B. Robshaw , R. Sidney , and Y.L. Yin 1 M.I.T. Lab oratory for Computer Science, 545 Technology Square, Cambridge, MA 02139, USA [email protected] 2 RSA Lab oratories, 2955 Campus Drive, Suite 400, San Mateo, CA 94403, USA fmatt,ray,[email protected] Version 1.1 - August 20, 1998 TM Abstract. We intro duce the RC6 blo ck cipher. RC6 is an evolu- tionary improvementofRC5, designed to meet the requirements of the Advanced Encryption Standard AES. LikeRC5, RC6 makes essential use of data-dep endent rotations. New features of RC6 include the use of four working registers instead of two, and the inclusion of integer multi- plication as an additional primitive op eration. The use of multiplication greatly increases the di usion achieved p er round, allowing for greater security, fewer rounds, and increased throughput. 1 Intro duction TM RC6 is a new blo ck cipher submitted to NIST for consideration as the new Advanced Encryption Standard AES. The design of RC6 b egan with a consideration of RC5 [18] as a p otential candidate for an AES submission. Mo di cations were then made to meet the AES requirements, to increase security, and to improve p erformance. The inner lo op, however, is based around the same \half-round" found in RC5. RC5 was intentionally designed to be extremely simple, to invite analysis shedding light on the security provided by extensive use of data-dep endent ro- tations. Since RC5 was prop osed in 1995, various studies [2, 5, 8, 11, 15, 19] have provided a greater understanding of howRC5's structure and op erations contribute to its security.
    [Show full text]
  • The Aes Project Any Lessons For
    THE AES PROJECT: Any Lessons for NC3? THOMAS A. BERSON, ANAGRAM LABORATORIES Technology for Global Security | June 23, 2020 THE AES PROJECT: ANY LESSONS FOR NC3? THOMAS A. BERSON JUNE 23, 2020 I. INTRODUCTION In this report, Tom Berson details how lessons from the Advanced Encryption Standard Competition can aid the development of international NC3 components and even be mirrored in the creation of a CATALINK1 community. Tom Berson is a cryptologist and founder of Anagram Laboratories. Contact: [email protected] This paper was prepared for the Antidotes for Emerging NC3 Technical Vulnerabilities, A Scenarios-Based Workshop held October 21-22, 2019 and convened by The Nautilus Institute for Security and Sustainability, Technology for Global Security, The Stanley Center for Peace and Security, and hosted by The Center for International Security and Cooperation (CISAC) Stanford University. A podcast with Tom Berson and Philip Reiner can be found here. It is published simultaneously here by Technology for Global Security and here by Nautilus Institute and is published under a 4.0 International Creative Commons License the terms of which are found here. Acknowledgments: The workshop was funded by the John D. and Catherine T. MacArthur Foundation. Maureen Jerrett provided copy editing services. Banner image is by Lauren Hostetter of Heyhoss Design II. TECH4GS SPECIAL REPORT BY TOM BERSON THE AES PROJECT: ANY LESSONS FOR NC3? JUNE 23, 2020 1. THE AES PROJECT From 1997 through 2001, the National Institute for Standards and Technology (US) (NIST) ran an open, transparent, international competition to design and select a standard block cipher called the Advanced Encryption Standard (AES)2.
    [Show full text]
  • Data Encryption Standard
    Data Encryption Standard The Data Encryption Standard (DES /ˌdiːˌiːˈɛs, dɛz/) is a Data Encryption Standard symmetric-key algorithm for the encryption of electronic data. Although insecure, it was highly influential in the advancement of modern cryptography. Developed in the early 1970s atIBM and based on an earlier design by Horst Feistel, the algorithm was submitted to the National Bureau of Standards (NBS) following the agency's invitation to propose a candidate for the protection of sensitive, unclassified electronic government data. In 1976, after consultation with theNational Security Agency (NSA), the NBS eventually selected a slightly modified version (strengthened against differential cryptanalysis, but weakened against brute-force attacks), which was published as an official Federal Information Processing Standard (FIPS) for the United States in 1977. The publication of an NSA-approved encryption standard simultaneously resulted in its quick international adoption and widespread academic scrutiny. Controversies arose out of classified The Feistel function (F function) of DES design elements, a relatively short key length of the symmetric-key General block cipher design, and the involvement of the NSA, nourishing Designers IBM suspicions about a backdoor. Today it is known that the S-boxes that had raised those suspicions were in fact designed by the NSA to First 1975 (Federal Register) actually remove a backdoor they secretly knew (differential published (standardized in January 1977) cryptanalysis). However, the NSA also ensured that the key size was Derived Lucifer drastically reduced such that they could break it by brute force from [2] attack. The intense academic scrutiny the algorithm received over Successors Triple DES, G-DES, DES-X, time led to the modern understanding of block ciphers and their LOKI89, ICE cryptanalysis.
    [Show full text]
  • Design Automation for Integrated Optics
    DESIGN AUTOMATION FOR INTEGRATED OPTICS by Christopher Condrat A dissertation submitted to the faculty of The University of Utah in partial fulfillment of the requirements for the degree of Doctor of Philosophy Department of Electrical and Computer Engineering The University of Utah August 2014 Copyright © Christopher Condrat 2014 All Rights Reserved The University of Utah Graduate School STATEMENT OF DISSERTATION APPROVAL The dissertation of Christopher Condrat has been approved by the following supervisory committee members: Priyank Kalla , Chair 12 / 18 / 2013 Date Approved Steven Blair , Member 12 / 18 / 2013 Date Approved Chris Myers , Member 12 / 18 / 2013 Date Approved Kenneth Stevens , Member 12 / 18 / 2013 Date Approved Erik Brunvand , Member 12 / 18 / 2013 Date Approved and by Gianluca Lazzi , Chair/Dean of the Department/College/School of Electrical and Computer Engineering and by David B. Kieda, Dean of The Graduate School. ABSTRACT Recent breakthroughs in silicon photonics technology are enabling the integration of optical devices into silicon-based semiconductor processes. Photonics technology enables high-speed, high-bandwidth, and high-fidelity communications on the chip-scale—an important development in an increasingly communications-oriented semiconductor world. Significant developments in silicon photonic manufacturing and integration are also enabling investigations into applications beyond that of traditional telecom: sensing, filtering, signal processing, quantum technology—and even optical computing. In effect, we are now seeing a convergence of communications and computation, where the traditional roles of optics and microelectronics are becoming blurred. As the applications for opto-electronic integrated circuits (OEICs) are developed, and manufac- turing capabilities expand, design support is necessary to fully exploit the potential of this optics technology.
    [Show full text]
  • Enabling Virtualization Technologies for Enhanced Cloud Computing
    New Jersey Institute of Technology Digital Commons @ NJIT Dissertations Electronic Theses and Dissertations Fall 1-31-2015 Enabling virtualization technologies for enhanced cloud computing Kashifuddin Qazi New Jersey Institute of Technology Follow this and additional works at: https://digitalcommons.njit.edu/dissertations Part of the Computer Sciences Commons Recommended Citation Qazi, Kashifuddin, "Enabling virtualization technologies for enhanced cloud computing" (2015). Dissertations. 106. https://digitalcommons.njit.edu/dissertations/106 This Dissertation is brought to you for free and open access by the Electronic Theses and Dissertations at Digital Commons @ NJIT. It has been accepted for inclusion in Dissertations by an authorized administrator of Digital Commons @ NJIT. For more information, please contact [email protected]. Copyright Warning & Restrictions The copyright law of the United States (Title 17, United States Code) governs the making of photocopies or other reproductions of copyrighted material. Under certain conditions specified in the law, libraries and archives are authorized to furnish a photocopy or other reproduction. One of these specified conditions is that the photocopy or reproduction is not to be “used for any purpose other than private study, scholarship, or research.” If a, user makes a request for, or later uses, a photocopy or reproduction for purposes in excess of “fair use” that user may be liable for copyright infringement, This institution reserves the right to refuse to accept a copying order
    [Show full text]
  • Heterogeneous Clusters.Pdf
    HowTo Heterogeneous Clusters Running ClusterKnoppix as a master node to a CHAOS drone army HowTo Heterogeneous Clusters Running ClusterKnoppix as a master node to a CHAOS drone army CONTROL PAGE Document Approvals Approved for Publication: Author Name: Ian Latter 12 December 2003 Document Control Document Name: Heterogeneous Clusters; Running ClusterKnoppix as a master node to a CHAOS drone army Document ID: howto - heterogenous clusters.doc-Release-1.1(467) Distribution: Unrestricted Distribution Status: Release Disk File: C:\Documents and Settings\_.NULL\Desktop\whitepaper\HowTo - Heterogenous Clusters.doc Copyright: Copyright 2003, Macquarie University Version Date Release Information Author/s 1.1 12-Dec-03 Release / Unrestricted Distribution Ian Latter 1.0 11-Dec-03 Draft / Uncontrolled Ian Latter Distribution Version Release to 1.1 Public Release 1.0 Macquarie University, Moshe Bar, Bruce Knox, Wim Vandersmissen Unrestricted Distribution Copyright 2003, Macquarie University Page 2 of 13 HowTo Heterogeneous Clusters Running ClusterKnoppix as a master node to a CHAOS drone army Table of Contents 1 OVERVIEW..................................................................................................................................4 2 WHY YOU WANT A HETEROGENEOUS CLUSTER ..........................................................5 2.1 WHERE APPLICATIONS LIVE ...................................................................................................5 2.2 OPTIMIZING CLUSTER ADMINISTRATION ................................................................................5
    [Show full text]
  • The C Programming Language
    The C programming Language The C programming Language By Brian W. Kernighan and Dennis M. Ritchie. Published by Prentice-Hall in 1988 ISBN 0-13-110362-8 (paperback) ISBN 0-13-110370-9 Contents ● Preface ● Preface to the first edition ● Introduction 1. Chapter 1: A Tutorial Introduction 1. Getting Started 2. Variables and Arithmetic Expressions 3. The for statement 4. Symbolic Constants 5. Character Input and Output 1. File Copying 2. Character Counting 3. Line Counting 4. Word Counting 6. Arrays 7. Functions 8. Arguments - Call by Value 9. Character Arrays 10. External Variables and Scope 2. Chapter 2: Types, Operators and Expressions 1. Variable Names 2. Data Types and Sizes 3. Constants 4. Declarations http://freebooks.by.ru/view/CProgrammingLanguage/kandr.html (1 of 5) [5/15/2002 10:12:59 PM] The C programming Language 5. Arithmetic Operators 6. Relational and Logical Operators 7. Type Conversions 8. Increment and Decrement Operators 9. Bitwise Operators 10. Assignment Operators and Expressions 11. Conditional Expressions 12. Precedence and Order of Evaluation 3. Chapter 3: Control Flow 1. Statements and Blocks 2. If-Else 3. Else-If 4. Switch 5. Loops - While and For 6. Loops - Do-While 7. Break and Continue 8. Goto and labels 4. Chapter 4: Functions and Program Structure 1. Basics of Functions 2. Functions Returning Non-integers 3. External Variables 4. Scope Rules 5. Header Files 6. Static Variables 7. Register Variables 8. Block Structure 9. Initialization 10. Recursion 11. The C Preprocessor 1. File Inclusion 2. Macro Substitution 3. Conditional Inclusion 5. Chapter 5: Pointers and Arrays 1.
    [Show full text]
  • Reducing State Explosion for Software Model Checking with Relaxed Mcms 3 We Do Not Distinguish the Framework from Its Implementation and Refer to Both As Mc- SPIN
    Reducing State Explosion for Software Model Checking with Relaxed Memory Consistency Models Tatsuya Abe1, Tomoharu Ugawa2, Toshiyuki Maeda1, and Kousuke Matsumoto2 1 {abet,tosh}@stair.center STAIR Lab, Chiba Institute of Technology 2 {ugawa,matsumoto}@plas.info.kochi-tech.ac.jp Kochi University of Technology Abstract. Software model checking suffers from the so-called state explosion problem, and relaxed memory consistency models even worsen this situation. What is worse, parameterizing model checking by memory consistency mod- els, that is, to make the model checker as flexible as we can supply definitions of memory consistency models as an input, intensifies state explosion. This pa- per explores specific reasons for state explosion in model checking with multi- ple memory consistency models, provides some optimizations intended to mit- igate the problem, and applies them to McSPIN, a model checker for memory consistency models that we are developing. The effects of the optimizations and the usefulness of McSPIN are demonstrated experimentally by verifying copying protocols of concurrent copying garbage collection algorithms. To the best of our knowledge, this is the first model checking of the concurrent copying protocols under relaxed memory consistency models. Keywords: software model checking; relaxed memory consistency models; state explosion; reordering of instructions; integration of states; concurrent copying garbage collection 1 Introduction Modern computing systems are based on concurrent/parallel processing designs for their performance advantages, and programs therefore must also be written to exploit these designs. However, writing such programs is quite difficult and error-prone, be- cause humans cannot exhaustively consider the behaviors of computers very well. One approach to this problem is to use software model checking, in which all possible states that can be reached during a program’sexecutionare explored.Many such model check- ers have been developed (e.g., [12,18,26,25,7,8]).
    [Show full text]