Code quality: the open source perspective
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Upper Saddle River, NJ ; Munich [u.a.]
Addison-Wesley
2006
|
Schriftenreihe: | Effective software development series
|
Schlagworte: | |
Online-Zugang: | Table of contents only Inhaltsverzeichnis |
Beschreibung: | Includes bibliographical references (p. 505-521) and index |
Beschreibung: | XXX, 569 S. Ill. |
ISBN: | 0321166078 |
Internformat
MARC
LEADER | 00000nam a2200000zc 4500 | ||
---|---|---|---|
001 | BV021746598 | ||
003 | DE-604 | ||
005 | 20070604 | ||
007 | t | ||
008 | 060927s2006 xxua||| |||| 00||| eng d | ||
010 | |a 2006000985 | ||
015 | |a GBA616507 |2 dnb | ||
020 | |a 0321166078 |c pbk. : alk. paper |9 0-321-16607-8 | ||
035 | |a (OCoLC)263713081 | ||
035 | |a (DE-599)BVBBV021746598 | ||
040 | |a DE-604 |b ger |e aacr | ||
041 | 0 | |a eng | |
044 | |a xxu |c US | ||
049 | |a DE-703 |a DE-824 |a DE-473 |a DE-92 |a DE-573 |a DE-634 |a DE-11 |a DE-20 | ||
050 | 0 | |a QA76.76.D47 | |
082 | 0 | |a 005.1 | |
084 | |a ST 230 |0 (DE-625)143617: |2 rvk | ||
084 | |a ST 233 |0 (DE-625)143620: |2 rvk | ||
100 | 1 | |a Spinellis, Diomidis |e Verfasser |4 aut | |
245 | 1 | 0 | |a Code quality |b the open source perspective |c Diomidis Spinellis |
264 | 1 | |a Upper Saddle River, NJ ; Munich [u.a.] |b Addison-Wesley |c 2006 | |
300 | |a XXX, 569 S. |b Ill. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a Effective software development series | |
500 | |a Includes bibliographical references (p. 505-521) and index | ||
650 | 4 | |a Codage | |
650 | 7 | |a Codage |2 ram | |
650 | 4 | |a Logiciels - Développement | |
650 | 7 | |a Logiciels - Développement |2 ram | |
650 | 4 | |a Logiciels libres | |
650 | 7 | |a Logiciels libres |2 ram | |
650 | 7 | |a Open broncode |2 gtt | |
650 | 7 | |a Programmatuurtechniek |2 gtt | |
650 | 4 | |a Computer software |x Development | |
650 | 4 | |a Coding theory | |
650 | 4 | |a Open source software | |
650 | 0 | 7 | |a Qualitätssicherung |0 (DE-588)4126457-5 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Open Source |0 (DE-588)4548264-0 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Programmierung |0 (DE-588)4076370-5 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Software |0 (DE-588)4055382-6 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Software |0 (DE-588)4055382-6 |D s |
689 | 0 | 1 | |a Qualitätssicherung |0 (DE-588)4126457-5 |D s |
689 | 0 | |5 DE-604 | |
689 | 1 | 0 | |a Open Source |0 (DE-588)4548264-0 |D s |
689 | 1 | 1 | |a Programmierung |0 (DE-588)4076370-5 |D s |
689 | 1 | 2 | |a Qualitätssicherung |0 (DE-588)4126457-5 |D s |
689 | 1 | |5 DE-604 | |
856 | 4 | |u http://www.loc.gov/catdir/toc/ecip066/2006000985.html |3 Table of contents only | |
856 | 4 | 2 | |m HBZ Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=014959864&sequence=000004&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-014959864 |
Datensatz im Suchindex
_version_ | 1804135601292705792 |
---|---|
adam_text | Contents
List of Tables xv
List of Figures xvii
Foreword xxiii
Preface xxv
1 Introduction 1
1.1 Software Quality 1
1.1.1 Quality Through the Eyes of the User, the Builder, and the
Manager 2
1.1.2 Quality Attributes 4
1.1.3 A World of Tensions 7
1.2 How to Read This Book 9
1.2.1 Typographical Conventions 10
1.2.2 Diagrams 11
1.2.3 Charts 13
1.2.4 Assembly Code 13
1.2.5 Exercises 14
1.2.6 Supplementary Material 14
1.2.7 Tools 14
2 Reliability 17
2.1 Input Problems 17
2.2 Output Problems 21
2.2.1 Incomplete or Missing Output 21
2.2.2 Correct Results at the Wrong Time 23
ix
X Contents
2.2.3 Wrong Format 24
2.3 Logic Problems 26
2.3.1 Off by One Errors and Loop Iterations 26
2.3.2 Neglected Extreme Conditions 27
2.3.3 Forgotten Cases, Condition Tests, or Steps 29
2.3.4 Missing Methods 34
2.3.5 Unnecessary Functionality 37
2.3.6 Misinterpretation 40
2.4 Computation Problems 42
2.4.1 Incorrect Algorithm or Computation 42
2.4.2 Incorrect Operand in an Expression 43
2.4.3 Incorrect Operator in an Expression 47
2.4.4 Operator Precedence Problems 48
2.4.5 Overflow, Underflow, and Sign Conversion Errors 49
2.5 Concurrency and Timing Problems 51
2.6 Interface Problems 56
2.6.1 Incorrect Routine or Arguments 57
2.6.2 Failure to Test a Return Value 59
2.6.3 Missing Error Detection or Recovery 62
2.6.4 Resource Leaks 65
2.6.5 Misuse of Object Oriented Facilities 68
2.7 Data Handling Problems 69
2.7.1 Incorrect Data Initialization 69
2.7.2 Referencing the Wrong Data Variable 71
2.7.3 Out of Bounds References 75
2.7.4 Incorrect Subscripting 77
2.7.5 Incorrect Scaling or Data Units 79
2.7.6 Incorrect Data Packing or Unpacking 80
2.7.7 Inconsistent Data 82
2.8 Fault Tolerance 85
2.8.1 Management Strategy 85
2.8.2 Redundancy in Space 87
2.8.3 Redundancy in Time 89
2.8.4 Recoverability 90
3 Security 101
3.1 Vulnerable Code 102
Contents xi
3.2 The Buffer Overflow 106
3.3 Race Conditions 112
3.4 Problematic APIs 115
3.4.1 Functions Susceptible to Buffer Overflows 115
3.4.2 Format String Vulnerabilities 118
3.4.3 Path and Shell Metacharacter Vulnerabilities 119
3.4.4 Temporary Files 121
3.4.5 Functions Unsuitable for Cryptographic Use 122
3.4.6 Forgeable Data 124
3.5 Untrusted Input 125
3.6 Result Verification 131
3.7 Data and Privilege Leakage 134
3.7.1 Data Leakage 135
3.7.2 Privilege Leakage 138
3.7.3 The Java Approach 140
3.7.4 Isolating Privileged Code 141
3.8 Trojan Horse 143
3.9 Tools 146
4 Time Performance 151
4.1 Measurement Techniques 156
4.1.1 Workload Characterization 157
4.1.2 I/O Bound Tasks 158
4.1.3 Kernel Bound Tasks 161
4.1.4 CPU Bound Tasks and Profiling Tools 163
4.2 Algorithm Complexity 173
4.3 Stand Alone Code 179
4.4 Interacting with the Operating System 182
4.5 Interacting with Peripherals 190
4.6 Involuntary Interactions 191
4.7 Caching 194
4.7.1 A Simple System Call Cache 195
4.7.2 Replacement Strategies 197
4.7.3 Precomputing Results 199
5 Space Performance 207
5.1 Data 209
5.1.1 Basic Data Types 209
xii Contents
5.1.2 Aggregate Data Types 213
5.1.3 Alignment 215
5.1.4 Objects 222
5.2 Memory Organization 227
5.3 Memory Hierarchies 231
5.3.1 Main Memory and Its Caches 232
5.3.2 Disk Cache and Banked Memory 235
5.3.3 Swap Area and File Based Disk Storage 238
5.4 The Process/Operating System Interface 239
5.4.1 Memory Allocation 239
5.4.2 Memory Mapping 241
5.4.3 Data Mapping 241
5.4.4 Code Mapping 242
5.4.5 Accessing Hardware Resources 244
5.4.6 Interprocess Communication 244
5.5 Heap Memory Management 246
5.5.1 Heap Fragmentation 247
5.5.2 Heap Profiling 254
5.5.3 Memory Leaks 256
5.5.4 Garbage Collection 262
5.6 Stack Memory Management 264
5.6.1 The Stack Frame 264
5.6.2 Stack Space 269
5.7 Code 274
5.7.1 Design Time 276
5.7.2 Coding Time 279
5.7.3 Build Time 280
6 Portability 289
6.1 Operating Systems 290
6.2 Hardware and Processor Architectures 296
6.2.1 Data Type Properties 296
6.2.2 Datastorage 298
6.2.3 Machine Specific Code 300
6.3 Compilers and Language Extensions 302
6.3.1 Compiler Bugs 302
6.4 Graphical User Interfaces 307
Contents Xlii
6.5 Internationalization and Localization 309
6.5.1 Character Sets 309
6.5.2 Locale 313
6.5.3 Messages 316
7 Maintainability 325
7.1 Measuring Maintainability 326
7.1.1 The Maintainability Index 327
7.1.2 Metrics for Object Oriented Programs 333
7.1.3 Dependency Metrics on Packages 343
7.2 Analyzability 351
7.2.1 Consistency 353
7.2.2 Expression Formatting 354
7.2.3 Statement Formatting 356
7.2.4 Naming Conventions 357
7.2.5 Statement Level Comments 360
7.2.6 Versioning Comments 362
7.2.7 Visual Structure: Blocks and Indentation 363
7.2.8 Length of Expressions, Functions, and Methods 364
7.2.9 Control Structures 368
7.2.10 Boolean Expressions 372
7.2.11 Recognizability and Cohesion 374
7.2.12 Dependencies and Coupling 377
7.2.13 Code Block Comments 389
7.2.14 Data Declaration Comments 393
7.2.15 Appropriate Identifier Names 394
7.2.16 Locality of Dependencies 394
7.2.17 Ambiguity 396
7.2.18 Reviewability 397
7.3 Changeability 403
7.3.1 Identification 403
7.3.2 Separation 408
7.4 Stability 418
7.4.1 Encapsulation and Data Hiding 419
7.4.2 Data Abstraction 423
7.4.3 Type Checking 425
7.4.4 Compile Time Assertions 428
xiv Contents
7.4.5 Runtime Checks and Inspection Time Assertions 431
7.5 Testability 432
7.5.1 Unit Testing 433
7.5.2 Integration Testing 437
7.5.3 System Testing 439
7.5.4 Test Coverage Analysis 441
7.5.5 Incidental Testing 444
7.6 Effects of the Development Environment 451
7.6.1 Incremental Builds 452
7.6.2 Tuning Build Performance 454
8 Floating Point Arithmetic 465
8.1 Floating Point Representation 466
8.1.1 Measuring Error 469
8.1.2 Rounding 470
8.1.3 Memory Format 472
8.1.4 Normalization and the Implied 1 Bit 474
8.1.5 Exponent Biasing 474
8.1.6 Negative Numbers 475
8.1.7 Denormal Numbers 475
8.1.8 Special Values 476
8.2 Rounding 478
8.3 Overflow 481
8.4 Underflow 483
8.5 Cancellation 487
8.6 Absorption 491
8.7 Invalid Operations 495
A Source Code Credits 503
Bibliography 505
Index 523
Author Index 563
|
adam_txt |
Contents
List of Tables xv
List of Figures xvii
Foreword xxiii
Preface xxv
1 Introduction 1
1.1 Software Quality 1
1.1.1 Quality Through the Eyes of the User, the Builder, and the
Manager 2
1.1.2 Quality Attributes 4
1.1.3 A World of Tensions 7
1.2 How to Read This Book 9
1.2.1 Typographical Conventions 10
1.2.2 Diagrams 11
1.2.3 Charts 13
1.2.4 Assembly Code 13
1.2.5 Exercises 14
1.2.6 Supplementary Material 14
1.2.7 Tools 14
2 Reliability 17
2.1 Input Problems 17
2.2 Output Problems 21
2.2.1 Incomplete or Missing Output 21
2.2.2 Correct Results at the Wrong Time 23
ix
X Contents
2.2.3 Wrong Format 24
2.3 Logic Problems 26
2.3.1 Off by One Errors and Loop Iterations 26
2.3.2 Neglected Extreme Conditions 27
2.3.3 Forgotten Cases, Condition Tests, or Steps 29
2.3.4 Missing Methods 34
2.3.5 Unnecessary Functionality 37
2.3.6 Misinterpretation 40
2.4 Computation Problems 42
2.4.1 Incorrect Algorithm or Computation 42
2.4.2 Incorrect Operand in an Expression 43
2.4.3 Incorrect Operator in an Expression 47
2.4.4 Operator Precedence Problems 48
2.4.5 Overflow, Underflow, and Sign Conversion Errors 49
2.5 Concurrency and Timing Problems 51
2.6 Interface Problems 56
2.6.1 Incorrect Routine or Arguments 57
2.6.2 Failure to Test a Return Value 59
2.6.3 Missing Error Detection or Recovery 62
2.6.4 Resource Leaks 65
2.6.5 Misuse of Object Oriented Facilities 68
2.7 Data Handling Problems 69
2.7.1 Incorrect Data Initialization 69
2.7.2 Referencing the Wrong Data Variable 71
2.7.3 Out of Bounds References 75
2.7.4 Incorrect Subscripting 77
2.7.5 Incorrect Scaling or Data Units 79
2.7.6 Incorrect Data Packing or Unpacking 80
2.7.7 Inconsistent Data 82
2.8 Fault Tolerance 85
2.8.1 Management Strategy 85
2.8.2 Redundancy in Space 87
2.8.3 Redundancy in Time 89
2.8.4 Recoverability 90
3 Security 101
3.1 Vulnerable Code 102
Contents xi
3.2 The Buffer Overflow 106
3.3 Race Conditions 112
3.4 Problematic APIs 115
3.4.1 Functions Susceptible to Buffer Overflows 115
3.4.2 Format String Vulnerabilities 118
3.4.3 Path and Shell Metacharacter Vulnerabilities 119
3.4.4 Temporary Files 121
3.4.5 Functions Unsuitable for Cryptographic Use 122
3.4.6 Forgeable Data 124
3.5 Untrusted Input 125
3.6 Result Verification 131
3.7 Data and Privilege Leakage 134
3.7.1 Data Leakage 135
3.7.2 Privilege Leakage 138
3.7.3 The Java Approach 140
3.7.4 Isolating Privileged Code 141
3.8 Trojan Horse 143
3.9 Tools 146
4 Time Performance 151
4.1 Measurement Techniques 156
4.1.1 Workload Characterization 157
4.1.2 I/O Bound Tasks 158
4.1.3 Kernel Bound Tasks 161
4.1.4 CPU Bound Tasks and Profiling Tools 163
4.2 Algorithm Complexity 173
4.3 Stand Alone Code 179
4.4 Interacting with the Operating System 182
4.5 Interacting with Peripherals 190
4.6 Involuntary Interactions 191
4.7 Caching 194
4.7.1 A Simple System Call Cache 195
4.7.2 Replacement Strategies 197
4.7.3 Precomputing Results 199
5 Space Performance 207
5.1 Data 209
5.1.1 Basic Data Types 209
xii Contents
5.1.2 Aggregate Data Types 213
5.1.3 Alignment 215
5.1.4 Objects 222
5.2 Memory Organization 227
5.3 Memory Hierarchies 231
5.3.1 Main Memory and Its Caches 232
5.3.2 Disk Cache and Banked Memory 235
5.3.3 Swap Area and File Based Disk Storage 238
5.4 The Process/Operating System Interface 239
5.4.1 Memory Allocation 239
5.4.2 Memory Mapping 241
5.4.3 Data Mapping 241
5.4.4 Code Mapping 242
5.4.5 Accessing Hardware Resources 244
5.4.6 Interprocess Communication 244
5.5 Heap Memory Management 246
5.5.1 Heap Fragmentation 247
5.5.2 Heap Profiling 254
5.5.3 Memory Leaks 256
5.5.4 Garbage Collection 262
5.6 Stack Memory Management 264
5.6.1 The Stack Frame 264
5.6.2 Stack Space 269
5.7 Code 274
5.7.1 Design Time 276
5.7.2 Coding Time 279
5.7.3 Build Time 280
6 Portability 289
6.1 Operating Systems 290
6.2 Hardware and Processor Architectures 296
6.2.1 Data Type Properties 296
6.2.2 Datastorage 298
6.2.3 Machine Specific Code 300
6.3 Compilers and Language Extensions 302
6.3.1 Compiler Bugs 302
6.4 Graphical User Interfaces 307
Contents Xlii
6.5 Internationalization and Localization 309
6.5.1 Character Sets 309
6.5.2 Locale 313
6.5.3 Messages 316
7 Maintainability 325
7.1 Measuring Maintainability 326
7.1.1 The Maintainability Index 327
7.1.2 Metrics for Object Oriented Programs 333
7.1.3 Dependency Metrics on Packages 343
7.2 Analyzability 351
7.2.1 Consistency 353
7.2.2 Expression Formatting 354
7.2.3 Statement Formatting 356
7.2.4 Naming Conventions 357
7.2.5 Statement Level Comments 360
7.2.6 Versioning Comments 362
7.2.7 Visual Structure: Blocks and Indentation 363
7.2.8 Length of Expressions, Functions, and Methods 364
7.2.9 Control Structures 368
7.2.10 Boolean Expressions 372
7.2.11 Recognizability and Cohesion 374
7.2.12 Dependencies and Coupling 377
7.2.13 Code Block Comments 389
7.2.14 Data Declaration Comments 393
7.2.15 Appropriate Identifier Names 394
7.2.16 Locality of Dependencies 394
7.2.17 Ambiguity 396
7.2.18 Reviewability 397
7.3 Changeability 403
7.3.1 Identification 403
7.3.2 Separation 408
7.4 Stability 418
7.4.1 Encapsulation and Data Hiding 419
7.4.2 Data Abstraction 423
7.4.3 Type Checking 425
7.4.4 Compile Time Assertions 428
xiv Contents
7.4.5 Runtime Checks and Inspection Time Assertions 431
7.5 Testability 432
7.5.1 Unit Testing 433
7.5.2 Integration Testing 437
7.5.3 System Testing 439
7.5.4 Test Coverage Analysis 441
7.5.5 Incidental Testing 444
7.6 Effects of the Development Environment 451
7.6.1 Incremental Builds 452
7.6.2 Tuning Build Performance 454
8 Floating Point Arithmetic 465
8.1 Floating Point Representation 466
8.1.1 Measuring Error 469
8.1.2 Rounding 470
8.1.3 Memory Format 472
8.1.4 Normalization and the Implied 1 Bit 474
8.1.5 Exponent Biasing 474
8.1.6 Negative Numbers 475
8.1.7 Denormal Numbers 475
8.1.8 Special Values 476
8.2 Rounding 478
8.3 Overflow 481
8.4 Underflow 483
8.5 Cancellation 487
8.6 Absorption 491
8.7 Invalid Operations 495
A Source Code Credits 503
Bibliography 505
Index 523
Author Index 563 |
any_adam_object | 1 |
any_adam_object_boolean | 1 |
author | Spinellis, Diomidis |
author_facet | Spinellis, Diomidis |
author_role | aut |
author_sort | Spinellis, Diomidis |
author_variant | d s ds |
building | Verbundindex |
bvnumber | BV021746598 |
callnumber-first | Q - Science |
callnumber-label | QA76 |
callnumber-raw | QA76.76.D47 |
callnumber-search | QA76.76.D47 |
callnumber-sort | QA 276.76 D47 |
callnumber-subject | QA - Mathematics |
classification_rvk | ST 230 ST 233 |
ctrlnum | (OCoLC)263713081 (DE-599)BVBBV021746598 |
dewey-full | 005.1 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.1 |
dewey-search | 005.1 |
dewey-sort | 15.1 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
discipline_str_mv | Informatik |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>02476nam a2200649zc 4500</leader><controlfield tag="001">BV021746598</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20070604 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">060927s2006 xxua||| |||| 00||| eng d</controlfield><datafield tag="010" ind1=" " ind2=" "><subfield code="a">2006000985</subfield></datafield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">GBA616507</subfield><subfield code="2">dnb</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">0321166078</subfield><subfield code="c">pbk. : alk. paper</subfield><subfield code="9">0-321-16607-8</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)263713081</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV021746598</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">aacr</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">xxu</subfield><subfield code="c">US</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-703</subfield><subfield code="a">DE-824</subfield><subfield code="a">DE-473</subfield><subfield code="a">DE-92</subfield><subfield code="a">DE-573</subfield><subfield code="a">DE-634</subfield><subfield code="a">DE-11</subfield><subfield code="a">DE-20</subfield></datafield><datafield tag="050" ind1=" " ind2="0"><subfield code="a">QA76.76.D47</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.1</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 230</subfield><subfield code="0">(DE-625)143617:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 233</subfield><subfield code="0">(DE-625)143620:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Spinellis, Diomidis</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Code quality</subfield><subfield code="b">the open source perspective</subfield><subfield code="c">Diomidis Spinellis</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Upper Saddle River, NJ ; Munich [u.a.]</subfield><subfield code="b">Addison-Wesley</subfield><subfield code="c">2006</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XXX, 569 S.</subfield><subfield code="b">Ill.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">Effective software development series</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Includes bibliographical references (p. 505-521) and index</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Codage</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Codage</subfield><subfield code="2">ram</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Logiciels - Développement</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Logiciels - Développement</subfield><subfield code="2">ram</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Logiciels libres</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Logiciels libres</subfield><subfield code="2">ram</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Open broncode</subfield><subfield code="2">gtt</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Programmatuurtechniek</subfield><subfield code="2">gtt</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Computer software</subfield><subfield code="x">Development</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Coding theory</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Open source software</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Qualitätssicherung</subfield><subfield code="0">(DE-588)4126457-5</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Open Source</subfield><subfield code="0">(DE-588)4548264-0</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Programmierung</subfield><subfield code="0">(DE-588)4076370-5</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Software</subfield><subfield code="0">(DE-588)4055382-6</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Software</subfield><subfield code="0">(DE-588)4055382-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Qualitätssicherung</subfield><subfield code="0">(DE-588)4126457-5</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="1" ind2="0"><subfield code="a">Open Source</subfield><subfield code="0">(DE-588)4548264-0</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2="1"><subfield code="a">Programmierung</subfield><subfield code="0">(DE-588)4076370-5</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2="2"><subfield code="a">Qualitätssicherung</subfield><subfield code="0">(DE-588)4126457-5</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="856" ind1="4" ind2=" "><subfield code="u">http://www.loc.gov/catdir/toc/ecip066/2006000985.html</subfield><subfield code="3">Table of contents only</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">HBZ Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=014959864&sequence=000004&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-014959864</subfield></datafield></record></collection> |
id | DE-604.BV021746598 |
illustrated | Illustrated |
index_date | 2024-07-02T15:31:04Z |
indexdate | 2024-07-09T20:43:06Z |
institution | BVB |
isbn | 0321166078 |
language | English |
lccn | 2006000985 |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-014959864 |
oclc_num | 263713081 |
open_access_boolean | |
owner | DE-703 DE-824 DE-473 DE-BY-UBG DE-92 DE-573 DE-634 DE-11 DE-20 |
owner_facet | DE-703 DE-824 DE-473 DE-BY-UBG DE-92 DE-573 DE-634 DE-11 DE-20 |
physical | XXX, 569 S. Ill. |
publishDate | 2006 |
publishDateSearch | 2006 |
publishDateSort | 2006 |
publisher | Addison-Wesley |
record_format | marc |
series2 | Effective software development series |
spelling | Spinellis, Diomidis Verfasser aut Code quality the open source perspective Diomidis Spinellis Upper Saddle River, NJ ; Munich [u.a.] Addison-Wesley 2006 XXX, 569 S. Ill. txt rdacontent n rdamedia nc rdacarrier Effective software development series Includes bibliographical references (p. 505-521) and index Codage Codage ram Logiciels - Développement Logiciels - Développement ram Logiciels libres Logiciels libres ram Open broncode gtt Programmatuurtechniek gtt Computer software Development Coding theory Open source software Qualitätssicherung (DE-588)4126457-5 gnd rswk-swf Open Source (DE-588)4548264-0 gnd rswk-swf Programmierung (DE-588)4076370-5 gnd rswk-swf Software (DE-588)4055382-6 gnd rswk-swf Software (DE-588)4055382-6 s Qualitätssicherung (DE-588)4126457-5 s DE-604 Open Source (DE-588)4548264-0 s Programmierung (DE-588)4076370-5 s http://www.loc.gov/catdir/toc/ecip066/2006000985.html Table of contents only HBZ Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=014959864&sequence=000004&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Spinellis, Diomidis Code quality the open source perspective Codage Codage ram Logiciels - Développement Logiciels - Développement ram Logiciels libres Logiciels libres ram Open broncode gtt Programmatuurtechniek gtt Computer software Development Coding theory Open source software Qualitätssicherung (DE-588)4126457-5 gnd Open Source (DE-588)4548264-0 gnd Programmierung (DE-588)4076370-5 gnd Software (DE-588)4055382-6 gnd |
subject_GND | (DE-588)4126457-5 (DE-588)4548264-0 (DE-588)4076370-5 (DE-588)4055382-6 |
title | Code quality the open source perspective |
title_auth | Code quality the open source perspective |
title_exact_search | Code quality the open source perspective |
title_exact_search_txtP | Code quality the open source perspective |
title_full | Code quality the open source perspective Diomidis Spinellis |
title_fullStr | Code quality the open source perspective Diomidis Spinellis |
title_full_unstemmed | Code quality the open source perspective Diomidis Spinellis |
title_short | Code quality |
title_sort | code quality the open source perspective |
title_sub | the open source perspective |
topic | Codage Codage ram Logiciels - Développement Logiciels - Développement ram Logiciels libres Logiciels libres ram Open broncode gtt Programmatuurtechniek gtt Computer software Development Coding theory Open source software Qualitätssicherung (DE-588)4126457-5 gnd Open Source (DE-588)4548264-0 gnd Programmierung (DE-588)4076370-5 gnd Software (DE-588)4055382-6 gnd |
topic_facet | Codage Logiciels - Développement Logiciels libres Open broncode Programmatuurtechniek Computer software Development Coding theory Open source software Qualitätssicherung Open Source Programmierung Software |
url | http://www.loc.gov/catdir/toc/ecip066/2006000985.html http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=014959864&sequence=000004&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT spinellisdiomidis codequalitytheopensourceperspective |