05146nam 2200601 a 450 991082790600332120240314021915.03-95489-540-4(CKB)2670000000422357(EBL)1324010(OCoLC)854977184(SSID)ssj0001154054(PQKBManifestationID)11676750(PQKBTitleCode)TC0001154054(PQKBWorkID)11161009(PQKB)10899449(MiAaPQ)EBC1324010(Au-PeEL)EBL1324010(CaPaEBR)ebr10735066(EXLCZ)99267000000042235720130729d2013 uy 0engur|n|---|||||txtccrCan static type systems speed up programming? an experimental evaluation of static and dynamic type systems /Sebastian Kleinschmager1st ed.Hamburg Anchor Academic Pub.20131 online resource (114 p.)"Disseminate knowledge"--Cover.3-95489-040-2 Includes bibliographical references.Can static type systems speed up programming? An experimental evaluation of static and dynamic type systems; Abstract; Zusammenfassung (German Abstract); Table of Contents; Directory of Figures; Directory of Tables; Directory of Listings; 1. Introduction; 2. Motivation & Background; 2.1 Motivation; 2.2 Maintenance and Debugging; 2.2.1 Maintenance in a Nutshell; 2.2.2 Debugging in a Nutshell; 2.3 Documentation and APIs; 2.3.1 Documentation of Software Systems; 2.3.2 APIs and Application of their Design Principles in General Programming; 2.4 Type Systems2.5 Empirical Research in Software Engineering2.5.1 On Empirical Research; 2.5.2 Controlled Experiments; 2.5.3 Current State of Empirical Research in Software Engineering; 3. Related Work; 3.1 Gannon (1977); 3.2 Prechelt and Tichy (1998); 3.3 Daly, Sazawal and Foster (2009); 3.4 Hanenberg (2010); 3.5 Steinberg, Mayer, Stuchlik and Hanenberg - A running Experiment series; 3.5.1 Steinberg (2011); 3.5.2 Mayer (2011); 3.5.3 Stuchlik and Hanenberg (2011); 4. The Experiment; 4.1 The Research Question; 4.2 Experiment Overview; 4.2.1 Initial Considerations4.2.2 Further Considerations: Studies on Using Students as Subjects4.2.3 Design of the Experiment; 4.3 Questionnaire; 4.4 Hard- and Software Environment; 4.4.1 Environment; 4.4.2 Programming Languages; 4.4.2.1 Java; 4.4.2.2 Groovy; 4.5 Workspace Applications and Tasks; 4.5.1 The Java Application - A Labyrinth Game; 4.5.2 The Groovy Application - A simple Mail Viewer; 4.5.3 Important Changes made to both Parts; 4.5.4 The Tasks; 4.5.4.1 The Task Types; 4.5.4.2 Tasks 1 and 10 - 2 Types to identify; 4.5.4.3 Tasks 2 and 11 - 4 Types to identify; 4.5.4.4 Tasks 4 and 13 - Semantic Error4.5.4.5 Tasks 5 and 14 - Semantic Error4.5.4.6 Tasks 6 and 15 - 8 Types to identify; 4.5.4.7 Tasks 7 and 16 - Stack size 2 and branch size 3; 4.5.4.8 Tasks 8 and 17 - 12 types to identify; 4.5.4.9 Tasks 9 and 18 - Stack size 2 and branch size 5; 4.5.4.10 Summary of Variables and Mapping of Tasks to Hypotheses; 4.6 Experiment Implementation; 5. Threats to Validity; 5.1 Internal Validity; 5.2 External Validity; 6. Analysis and Results; 6.1 General Descriptive Statistics; 6.2 Statistical Tests and Analysis; 6.2.1 Within-Subject Analysis on the complete data6.2.2 Analysis for residual effects between the two ParticipantGroups6.2.3 Within-Subject Analysis on the two Participant Groups; 6.2.3.1 Participants that started with Groovy; 6.2.3.2 Participants that started with Java; 6.2.4 Exploratory Analysis of the Results based on Participants' Performance; 6.2.4.1 Participants that started with Groovy; 6.2.4.2 Participants that started with Java; 6.2.5 Hypotheses and Task based Analysis; 6.2.5.1 Tasks 1, 2, 3, 6 and 8; 6.2.5.2 Hypothesis 2-1 and Tasks 7 and 9; 6.2.5.3 Hypothesis 2-2 and Tasks 4 and 5; 7. Summary and Discussion; 7.1 Final Remarks7.2 Result SummaryHauptbeschreibung Programming languages that use the object-oriented approach have been around for quite a while now. Most of them use either a static or a dynamic type system. However, both types are very common in the industry. But, in spite of their common use in science and practice, only very few scientific studies have tried to evaluate the two type systems'' usefulness in certain scenarios. There are arguments for both systems. For example, static type systems are said to aid the programmer in the prevention of type errors, and further, they provide documentation help for, there is an eComputer programmingApplication softwareComputer programming.Application software.006.22Kleinschmager Sebastian1620268MiAaPQMiAaPQMiAaPQBOOK9910827906003321Can static type systems speed up programming4096261UNINA