Empirical Software Engineering and Verification


Book Description

Software engineering, is widely recognized as one of today's most exciting, stimulating, and profitable research areas, with a significant practical impact on the software industry and academia. The LASER school, held annually since 2004 on Elba Island, Italy, is intended for professionals from industry (engineers and managers) as well as university researchers, including PhD students. This book contains selected lecture notes from the LASER summer schools 2008-2010, which focused on concurrency and correctness in 2008, software testing in 2009, and empirical software engineering, in 2010.




Lecture Notes on Empirical Software Engineering


Book Description

Empirical verification of knowledge is one of the foundations for developing any discipline. As far as software construction is concerned, the empirically verified knowledge is not only sparse but also not very widely disseminated among developers and researchers. This book aims to spread the idea of the importance of empirical knowledge in software development from a highly practical viewpoint. It has two goals: (1) Define the body of empirically validated knowledge in software development so as to advise practitioners on what methods or techniques have been empirically analysed and what the results were; (2) as empirical tests have traditionally been carried out by universities or research centres, propose techniques applicable by industry to check on the software development technologies they use. Contents: Limitations of Empirical Testing Technique Knowledge (N Juristo et al.); Replicated Studies: Building a Body of Knowledge about Software Reading Techniques (F Shull et al.); Combining Data from Reading Experiments in Software Inspections OCo A Feasibility Study (C Wholin et al.); External Experiments OCo A Workable Paradigm for Collaboration Between Industry and Academia (F Houdek); (Quasi-)Experimental Studies in Industrial Settings (O Laitenberger & D Rombach); Experimental Validation of New Software Technology (M V Zelkowitz et al.). Readership: Researchers, academics and professionals in software engineering."




Experimentation in Software Engineering


Book Description

Like other sciences and engineering disciplines, software engineering requires a cycle of model building, experimentation, and learning. Experiments are valuable tools for all software engineers who are involved in evaluating and choosing between different methods, techniques, languages and tools. The purpose of Experimentation in Software Engineering is to introduce students, teachers, researchers, and practitioners to empirical studies in software engineering, using controlled experiments. The introduction to experimentation is provided through a process perspective, and the focus is on the steps that we have to go through to perform an experiment. The book is divided into three parts. The first part provides a background of theories and methods used in experimentation. Part II then devotes one chapter to each of the five experiment steps: scoping, planning, execution, analysis, and result presentation. Part III completes the presentation with two examples. Assignments and statistical material are provided in appendixes. Overall the book provides indispensable information regarding empirical studies in particular for experiments, but also for case studies, systematic literature reviews, and surveys. It is a revision of the authors’ book, which was published in 2000. In addition, substantial new material, e.g. concerning systematic literature reviews and case study research, is introduced. The book is self-contained and it is suitable as a course book in undergraduate or graduate studies where the need for empirical studies in software engineering is stressed. Exercises and assignments are included to combine the more theoretical material with practical aspects. Researchers will also benefit from the book, learning more about how to conduct empirical studies, and likewise practitioners may use it as a “cookbook” when evaluating new methods or techniques before implementing them in their organization.




Contemporary Empirical Methods in Software Engineering


Book Description

This book presents contemporary empirical methods in software engineering related to the plurality of research methodologies, human factors, data collection and processing, aggregation and synthesis of evidence, and impact of software engineering research. The individual chapters discuss methods that impact the current evolution of empirical software engineering and form the backbone of future research. Following an introductory chapter that outlines the background of and developments in empirical software engineering over the last 50 years and provides an overview of the subsequent contributions, the remainder of the book is divided into four parts: Study Strategies (including e.g. guidelines for surveys or design science); Data Collection, Production, and Analysis (highlighting approaches from e.g. data science, biometric measurement, and simulation-based studies); Knowledge Acquisition and Aggregation (highlighting literature research, threats to validity, and evidence aggregation); and Knowledge Transfer (discussing open science and knowledge transfer with industry). Empirical methods like experimentation have become a powerful means of advancing the field of software engineering by providing scientific evidence on software development, operation, and maintenance, but also by supporting practitioners in their decision-making and learning processes. Thus the book is equally suitable for academics aiming to expand the field and for industrial researchers and practitioners looking for novel ways to check the validity of their assumptions and experiences. Chapter 17 is available open access under a Creative Commons Attribution 4.0 International License via link.springer.com.




Empirical Software Engineering and Verification


Book Description

Software engineering, is widely recognized as one of today's most exciting, stimulating, and profitable research areas, with a significant practical impact on the software industry and academia. The LASER school, held annually since 2004 on Elba Island, Italy, is intended for professionals from industry (engineers and managers) as well as university researchers, including PhD students. This book contains selected lecture notes from the LASER summer schools 2008-2010, which focused on concurrency and correctness in 2008, software testing in 2009, and empirical software engineering, in 2010.




Guide to Advanced Empirical Software Engineering


Book Description

This book gathers chapters from some of the top international empirical software engineering researchers focusing on the practical knowledge necessary for conducting, reporting and using empirical methods in software engineering. Topics and features include guidance on how to design, conduct and report empirical studies. The volume also provides information across a range of techniques, methods and qualitative and quantitative issues to help build a toolkit applicable to the diverse software development contexts




Basics of Software Engineering Experimentation


Book Description

Basics of Software Engineering Experimentation is a practical guide to experimentation in a field which has long been underpinned by suppositions, assumptions, speculations and beliefs. It demonstrates to software engineers how Experimental Design and Analysis can be used to validate their beliefs and ideas. The book does not assume its readers have an in-depth knowledge of mathematics, specifying the conceptual essence of the techniques to use in the design and analysis of experiments and keeping the mathematical calculations clear and simple. Basics of Software Engineering Experimentation is practically oriented and is specially written for software engineers, all the examples being based on real and fictitious software engineering experiments.




Empirical Research in Software Engineering


Book Description

Empirical research has now become an essential component of software engineering yet software practitioners and researchers often lack an understanding of how the empirical procedures and practices are applied in the field. Empirical Research in Software Engineering: Concepts, Analysis, and Applications shows how to implement empirical research pro




Independent Verification and Validation


Book Description

Comprehensive and up-to-date, it covers the most vital part of software development, independent verification and validation. Presents a variety of methods that will ensure better quality, performance, cost and reliability of technical products and systems. Features numerous hints, tips and instructions for better interaction between verification and validation personnel, development engineers and managers. Includes 8 case histories ranging from major engineering systems through information systems. Many of the principles involved also apply to computer hardware as well as the fields of science and engineering.




Research Anthology on Agile Software, Software Development, and Testing


Book Description

Software development continues to be an ever-evolving field as organizations require new and innovative programs that can be implemented to make processes more efficient, productive, and cost-effective. Agile practices particularly have shown great benefits for improving the effectiveness of software development and its maintenance due to their ability to adapt to change. It is integral to remain up to date with the most emerging tactics and techniques involved in the development of new and innovative software. The Research Anthology on Agile Software, Software Development, and Testing is a comprehensive resource on the emerging trends of software development and testing. This text discusses the newest developments in agile software and its usage spanning multiple industries. Featuring a collection of insights from diverse authors, this research anthology offers international perspectives on agile software. Covering topics such as global software engineering, knowledge management, and product development, this comprehensive resource is valuable to software developers, software engineers, computer engineers, IT directors, students, managers, faculty, researchers, and academicians.