The document introduces experimentation in software engineering, discussing the experiment process, examples of experiments comparing C and C++, and conclusions. It describes the stages of an experiment including definition and planning, operation, analysis and interpretation. Examples provided compare productivity, defects, and other measures between C and C++. The conclusion recommends the document as an introduction to using experimentation for software engineering evaluation.
1 of 17
Download to read offline
More Related Content
狠狠撸s experimentation softengineering
1. Experimentation in Software
Engineering: A Introduction
Claes Wohlim, et al. Lund University
Sweden
Presented by:
Diogo de Jesus Pina
Marcos Amar??s Gonz?alez
University of S?ao Paulo
Institute of Mathematics and Statistics
Department of Computer Science
November, 2014
{diogojp, amaris}@ime.usp.br (IME - USP) Experimentation in S.E. November, 2014 1 / 17
2. Timeline
1 Introduction
2 Experiment Process
De?nition, Planning and Operation
Analysis and Interpretation
3 Examples
4 Conclusions
{diogojp, amaris}@ime.usp.br (IME - USP) Experimentation in S.E. November, 2014 2 / 17
4. Experiment Process
Empirical Strategies
Factor Survey Case Study Experiment
Execution control No No Yes
Measurement control No Yes Yes
Investigation cost Low Medium High
Ease of replication High Low High
{diogojp, amaris}@ime.usp.br (IME - USP) Experimentation in S.E. November, 2014 4 / 17
6. Experiment Process
Systematic Literature Reviews
Planning
Conducting
Mapping
Example
{diogojp, amaris}@ime.usp.br (IME - USP) Experimentation in S.E. November, 2014 6 / 17
7. Experiment Process
Case Studies
Software Engineering Context
Design and Planning
Preparation and Collection of Data
Data Analysis
Reporting
{diogojp, amaris}@ime.usp.br (IME - USP) Experimentation in S.E. November, 2014 7 / 17
10. Experiment Process De?nition, Planning and Operation
Planing
{diogojp, amaris}@ime.usp.br (IME - USP) Experimentation in S.E. November, 2014 10 / 17
11. Experiment Process De?nition, Planning and Operation
Operation
{diogojp, amaris}@ime.usp.br (IME - USP) Experimentation in S.E. November, 2014 11 / 17
12. Experiment Process Analysis and Interpretation
Analysis and Interpretation
{diogojp, amaris}@ime.usp.br (IME - USP) Experimentation in S.E. November, 2014 12 / 17
13. Experiment Process Analysis and Interpretation
Presentation and Package
{diogojp, amaris}@ime.usp.br (IME - USP) Experimentation in S.E. November, 2014 13 / 17
14. Examples
Examples
Process Experimentation
Personal Software Process is a individual process for a systematic approach
to software development. The process includes, for example, measurement,
estimation, planning, and tracking.
Software Development Training Course
De?nition: Productivity, defect density, experience in C.
Planning: prod(CS) = prod(EE), LOC.
Operation
Analysis and Interpretation
{diogojp, amaris}@ime.usp.br (IME - USP) Experimentation in S.E. November, 2014 14 / 17
15. Examples
Examples
C versus C++
Personal Software Process (C versus C++)
Data: Ten di?erent pograms.
From: Lund97 Msc. Student and Link96 Ph.D. Students.
Experimentation is made with respect to eight di?erent measures.
1 Total time
2 Planning time
3 Code to test
4 Code to test relative
1 Total quality test
2 Total defects
3 Code defects
4 Review e?ciency
The results are not statistically signi?cant, although they indicate that more
defects are introduced if C++ is use than if C is used.
{diogojp, amaris}@ime.usp.br (IME - USP) Experimentation in S.E. November, 2014 15 / 17
16. Conclusions
Conclusions
The purpose of this book is to introduce to experimentation and ex-
perimental evaluation with focus of software engineering, as a means
for evaluating methods, techniques, processes, products, etc.
It was interesting
Technical reading
Easy reading
Useful
We recommend it.
{diogojp, amaris}@ime.usp.br (IME - USP) Experimentation in S.E. November, 2014 16 / 17