SlideShare a Scribd company logo
Empirical Research Methods for Software Engineering Prepared by: Dr. Sarfraz Nawaz Brohi & Dr. MervatAdibBamiah
Agenda1. Introduction to Empirical and Experimental Software Engineering 2. Empirical Research Methods 2.1 Case Study  2.2 Experimental Reserach2.4 Survey 2.4 Post Mortem Analysis  3. Guidelines for Empirical Research in Software Engineering 3. Conclusion
Experimental & Empirical Software Engineering   Experimental software engineering is a sub-domain of software engineering focusing on experiments on software systems (software products, processes, and resources). TextTextTextText  Empirical software engineering is a field of research that emphasizes the use of empirical studies of all kinds to accumulate knowledge. Methods used include experiments, variety of case studies, surveys, and statistical analyses.Why Empirical Study for Software EngineeringEmpirical studies (use of experience, observation) have become important for software engineeringresearch.  Too many methods and tools exist to allow each programmer or software house to determine the best choice of tools and methods by trial and error.
  Empirical studies determine the differences among alternative software techniques.For example experiment on quality and cost of a software product.
How Empirical study helps software engineering Research
Empirical Research Methods
Case Study  A case study is systematic description and analysis of an event organization or individual.  Case StudyA case study determined the cause of the crash:    An overflow occurred when converting a 64-bit integer into a 16-bit integer in a program called the Inertial Reference System.
  This overflow wasn’t monitored and therefore caused the entire control system to stop, and …boom!
  The program causing the overflow wasn’t needed during flight, but only during initialization (up to -9s launch time).
  It was kept running for 50 s into the flight to avoid re-initialization time of several hours in case of an aborted launch.
  The software was designed for the Ariane 4 rocket, where this particular overflow could not happen.
  So the error was a software-reuse error, caused by missing specifications of the conditions under which the software worked correctly.Software engineering Case Study on Ariane 5 crash  In software research, case studies are often used to demonstrate the functionality or capability of a new tool (existence proof).
  Case studies are also useful for describing and understanding rare events (such as disasters caused by software failures).
  Case studies are limited, because the cause of a specific event cannot be determined with any degree of certainty. To establish cause and events reliably, we need experiments.Experimental Research   Objective is to prove software engineering  theory, hypothesis  or product.
  Experimental are also referred to as research-in-small because their scope is limited.
  When experimenting random tests are conducted.
  For- Example comparison between  various processors. Experimental Research
Survey  A survey collects data about some state of affairs querying a representative sample of some population.
  Example: “If the president were elected tomorrow, whom would you vote?”
  Surveys collect frequency data, but also information about reasons and preferences.
  Example: “Why do you prefer a certain brand of car Surveys also test who holds certain preferences (male/female, age, ethnicity, income, location, etc
  Surveys help understand why a certain phenomenon occurred and increase our ability to predict it.
  Question: „What has caused the most difficulty  when trying to understand object-oriented software?“1. Missing or inadequate design documentation (16.8%)2. Inheritance (15.5%)3. Poor or inappropriate design (12.9%).
Survey

More Related Content

What's hot (20)

PPTX
Research Methodology UNIT 1.pptx
Dr. Pallawi Bulakh
 
PPTX
CHARACTERISTICS OF RESEARCH AND QUALITIES OF A RESEARCHER.pptx
AngelicaDyanVilleza
 
PPTX
How to write introduction section of a research paper
SyedMuhammadNumanAfz
 
PPTX
Research process
Abhishek Kumar Singh
 
PPTX
TYPES OF RESEARCH
vaishnavi vishwanath
 
PPTX
Research proposal | Guidelines to make you research paper effective
Write a Writing
 
PPT
Authorship Issues
Janet Stemwedel
 
PDF
Sampling, Types of Techniques & Simple Radom sampling
Central University of Haryana
 
PPTX
Thematic Analysis for Qualitative Research.pptx
PavaniPrabhaTanaji
 
PPTX
Research Methodology
SherrinSophia1
 
PPTX
Types of research
Dr.Sangeetha R
 
PPTX
Research methodology an introduction
Maryam Bibi
 
PPTX
Hypothesis in Research Methodology
Dr. Abzal Basha H S
 
PPTX
Research methodology
sintuChoudhary
 
PPTX
Research methodology
Dr. Sravani kommuru
 
PPTX
INFERENTIAL TECHNIQUES. Inferential Stat. pt 3
John Labrador
 
PPT
Chapter 7 (research design)
BoreyThai1
 
PPTX
Guide to Mendeley Reference Management
2015UPM
 
Research Methodology UNIT 1.pptx
Dr. Pallawi Bulakh
 
CHARACTERISTICS OF RESEARCH AND QUALITIES OF A RESEARCHER.pptx
AngelicaDyanVilleza
 
How to write introduction section of a research paper
SyedMuhammadNumanAfz
 
Research process
Abhishek Kumar Singh
 
TYPES OF RESEARCH
vaishnavi vishwanath
 
Research proposal | Guidelines to make you research paper effective
Write a Writing
 
Authorship Issues
Janet Stemwedel
 
Sampling, Types of Techniques & Simple Radom sampling
Central University of Haryana
 
Thematic Analysis for Qualitative Research.pptx
PavaniPrabhaTanaji
 
Research Methodology
SherrinSophia1
 
Types of research
Dr.Sangeetha R
 
Research methodology an introduction
Maryam Bibi
 
Hypothesis in Research Methodology
Dr. Abzal Basha H S
 
Research methodology
sintuChoudhary
 
Research methodology
Dr. Sravani kommuru
 
INFERENTIAL TECHNIQUES. Inferential Stat. pt 3
John Labrador
 
Chapter 7 (research design)
BoreyThai1
 
Guide to Mendeley Reference Management
2015UPM
 

Viewers also liked (15)

PDF
RESEARCH in software engineering
Ivano Malavolta
 
PPT
Identifying An Empirical Research Article
wsuinst
 
PPTX
Computer Programming
Newreborn Incarnation
 
PPT
Developing research skills
UK Centre for Legal Education
 
PDF
Selecting Empirical Methods for Software Engineering
Daniel Cukier
 
PPSX
Introduction to research
Mark Angelo Bernaldez
 
PDF
Empirical research process
Gregor PolanÄŤiÄŤ
 
PDF
Sociology of food: "What did you have for dinner?“ Empirical Questions and Pr...
Jean-Pierre Poulain
 
PPTX
Sociology
alleniveray
 
PDF
Empirical Research presentation
michyli
 
PPTX
Historical research
International advisers
 
PPTX
Software Engineering Methodologies
Damian T. Gordon
 
PPT
Historical research
Madam Jahan Ara Shams
 
PPT
Research Paradigms:Ontology's, Epistemologies & Methods
eLearn Center (Universitat Oberta de Catalunya)
 
PPTX
RMMM-Risk Management,Mitigation and Monitoring.
Aparna Nayak
 
RESEARCH in software engineering
Ivano Malavolta
 
Identifying An Empirical Research Article
wsuinst
 
Computer Programming
Newreborn Incarnation
 
Developing research skills
UK Centre for Legal Education
 
Selecting Empirical Methods for Software Engineering
Daniel Cukier
 
Introduction to research
Mark Angelo Bernaldez
 
Empirical research process
Gregor PolanÄŤiÄŤ
 
Sociology of food: "What did you have for dinner?“ Empirical Questions and Pr...
Jean-Pierre Poulain
 
Sociology
alleniveray
 
Empirical Research presentation
michyli
 
Historical research
International advisers
 
Software Engineering Methodologies
Damian T. Gordon
 
Historical research
Madam Jahan Ara Shams
 
Research Paradigms:Ontology's, Epistemologies & Methods
eLearn Center (Universitat Oberta de Catalunya)
 
RMMM-Risk Management,Mitigation and Monitoring.
Aparna Nayak
 
Ad

Similar to Empirical research methods for software engineering (20)

PDF
Empirical Software Engineering
RahimLotfi
 
PPTX
5-empirical investigation-13-08-2024.pptx
LakshanaReddy2
 
PDF
Empirical Methods in Software Engineering - an Overview
alessio_ferrari
 
PDF
A survey of controlled experiments in software engineering
JULIO GONZALEZ SANZ
 
PDF
Lecture notes on empirical software engineering 1st Edition Natalia Juristo
spenscaul
 
DOCX
1How to Perform ExperimentsBasic Concepts CSCI .docx
drennanmicah
 
PDF
Case Study Research in Software Engineering
alessio_ferrari
 
PDF
[2017/2018] RESEARCH in software engineering
Ivano Malavolta
 
PDF
sesi 04 software Empirical Investigation.pdf
fxgbizdcs3
 
PDF
Lecture 4 - Emperical Investigations.pdf
ketasely
 
PDF
The Green Lab - [01 C] Empirical software engineering
Ivano Malavolta
 
PPTX
Software tetsing paper related to industry
JavedKhan524377
 
PDF
[2015/2016] RESEARCH in software engineering
Ivano Malavolta
 
PDF
Empirical Software Engineering - What is it and why do we need it?
Daniel Mendez
 
PDF
Software testing for project report .pdf
Kamal Acharya
 
PDF
Testing primer
Cristiano Caetano
 
PDF
Testing primer
Chaitanya Kn
 
PDF
Software testing primer nick jenkins
Sachin MK
 
PDF
[01-B] Empirical software engineering
Ivano Malavolta
 
PPTX
SE-Unit I.pptx
AMITKUMARSINGH756828
 
Empirical Software Engineering
RahimLotfi
 
5-empirical investigation-13-08-2024.pptx
LakshanaReddy2
 
Empirical Methods in Software Engineering - an Overview
alessio_ferrari
 
A survey of controlled experiments in software engineering
JULIO GONZALEZ SANZ
 
Lecture notes on empirical software engineering 1st Edition Natalia Juristo
spenscaul
 
1How to Perform ExperimentsBasic Concepts CSCI .docx
drennanmicah
 
Case Study Research in Software Engineering
alessio_ferrari
 
[2017/2018] RESEARCH in software engineering
Ivano Malavolta
 
sesi 04 software Empirical Investigation.pdf
fxgbizdcs3
 
Lecture 4 - Emperical Investigations.pdf
ketasely
 
The Green Lab - [01 C] Empirical software engineering
Ivano Malavolta
 
Software tetsing paper related to industry
JavedKhan524377
 
[2015/2016] RESEARCH in software engineering
Ivano Malavolta
 
Empirical Software Engineering - What is it and why do we need it?
Daniel Mendez
 
Software testing for project report .pdf
Kamal Acharya
 
Testing primer
Cristiano Caetano
 
Testing primer
Chaitanya Kn
 
Software testing primer nick jenkins
Sachin MK
 
[01-B] Empirical software engineering
Ivano Malavolta
 
SE-Unit I.pptx
AMITKUMARSINGH756828
 
Ad

Recently uploaded (20)

PDF
Software Development Company Keene Systems, Inc (1).pdf
Custom Software Development Company | Keene Systems, Inc.
 
PDF
Survival Models: Proper Scoring Rule and Stochastic Optimization with Competi...
Paris Women in Machine Learning and Data Science
 
PPTX
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PDF
ICONIQ State of AI Report 2025 - The Builder's Playbook
Razin Mustafiz
 
PDF
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
PDF
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
PPTX
Securing Model Context Protocol with Keycloak: AuthN/AuthZ for MCP Servers
Hitachi, Ltd. OSS Solution Center.
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PPTX
Talbott's brief History of Computers for CollabDays Hamburg 2025
Talbott Crowell
 
PDF
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
PDF
NASA A Researcher’s Guide to International Space Station : Fundamental Physics
Dr. PANKAJ DHUSSA
 
PDF
Bharatiya Antariksh Hackathon 2025 Idea Submission PPT.pdf
ghjghvhjgc
 
PDF
Bitkom eIDAS Summit | European Business Wallet: Use Cases, Macroeconomics, an...
Carsten Stoecker
 
PDF
Home Cleaning App Development Services.pdf
V3cube
 
PDF
NASA A Researcher’s Guide to International Space Station : Earth Observations
Dr. PANKAJ DHUSSA
 
PDF
Linux schedulers for fun and profit with SchedKit
Alessio Biancalana
 
PPTX
Role_of_Artificial_Intelligence_in_Livestock_Extension_Services.pptx
DrRajdeepMadavi
 
Software Development Company Keene Systems, Inc (1).pdf
Custom Software Development Company | Keene Systems, Inc.
 
Survival Models: Proper Scoring Rule and Stochastic Optimization with Competi...
Paris Women in Machine Learning and Data Science
 
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
ICONIQ State of AI Report 2025 - The Builder's Playbook
Razin Mustafiz
 
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
Securing Model Context Protocol with Keycloak: AuthN/AuthZ for MCP Servers
Hitachi, Ltd. OSS Solution Center.
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
Talbott's brief History of Computers for CollabDays Hamburg 2025
Talbott Crowell
 
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
NASA A Researcher’s Guide to International Space Station : Fundamental Physics
Dr. PANKAJ DHUSSA
 
Bharatiya Antariksh Hackathon 2025 Idea Submission PPT.pdf
ghjghvhjgc
 
Bitkom eIDAS Summit | European Business Wallet: Use Cases, Macroeconomics, an...
Carsten Stoecker
 
Home Cleaning App Development Services.pdf
V3cube
 
NASA A Researcher’s Guide to International Space Station : Earth Observations
Dr. PANKAJ DHUSSA
 
Linux schedulers for fun and profit with SchedKit
Alessio Biancalana
 
Role_of_Artificial_Intelligence_in_Livestock_Extension_Services.pptx
DrRajdeepMadavi
 

Empirical research methods for software engineering

  • 1. Empirical Research Methods for Software Engineering Prepared by: Dr. Sarfraz Nawaz Brohi & Dr. MervatAdibBamiah
  • 2. Agenda1. Introduction to Empirical and Experimental Software Engineering 2. Empirical Research Methods 2.1 Case Study 2.2 Experimental Reserach2.4 Survey 2.4 Post Mortem Analysis 3. Guidelines for Empirical Research in Software Engineering 3. Conclusion
  • 3. Experimental & Empirical Software Engineering Experimental software engineering is a sub-domain of software engineering focusing on experiments on software systems (software products, processes, and resources). TextTextTextText Empirical software engineering is a field of research that emphasizes the use of empirical studies of all kinds to accumulate knowledge. Methods used include experiments, variety of case studies, surveys, and statistical analyses.Why Empirical Study for Software EngineeringEmpirical studies (use of experience, observation) have become important for software engineeringresearch. Too many methods and tools exist to allow each programmer or software house to determine the best choice of tools and methods by trial and error.
  • 4. Empirical studies determine the differences among alternative software techniques.For example experiment on quality and cost of a software product.
  • 5. How Empirical study helps software engineering Research
  • 7. Case Study A case study is systematic description and analysis of an event organization or individual. Case StudyA case study determined the cause of the crash: An overflow occurred when converting a 64-bit integer into a 16-bit integer in a program called the Inertial Reference System.
  • 8. This overflow wasn’t monitored and therefore caused the entire control system to stop, and …boom!
  • 9. The program causing the overflow wasn’t needed during flight, but only during initialization (up to -9s launch time).
  • 10. It was kept running for 50 s into the flight to avoid re-initialization time of several hours in case of an aborted launch.
  • 11. The software was designed for the Ariane 4 rocket, where this particular overflow could not happen.
  • 12. So the error was a software-reuse error, caused by missing specifications of the conditions under which the software worked correctly.Software engineering Case Study on Ariane 5 crash In software research, case studies are often used to demonstrate the functionality or capability of a new tool (existence proof).
  • 13. Case studies are also useful for describing and understanding rare events (such as disasters caused by software failures).
  • 14. Case studies are limited, because the cause of a specific event cannot be determined with any degree of certainty. To establish cause and events reliably, we need experiments.Experimental Research Objective is to prove software engineering theory, hypothesis or product.
  • 15. Experimental are also referred to as research-in-small because their scope is limited.
  • 16. When experimenting random tests are conducted.
  • 17. For- Example comparison between  various processors. Experimental Research
  • 18. Survey A survey collects data about some state of affairs querying a representative sample of some population.
  • 19. Example: “If the president were elected tomorrow, whom would you vote?”
  • 20. Surveys collect frequency data, but also information about reasons and preferences.
  • 21. Example: “Why do you prefer a certain brand of car Surveys also test who holds certain preferences (male/female, age, ethnicity, income, location, etc
  • 22. Surveys help understand why a certain phenomenon occurred and increase our ability to predict it.
  • 23. Question: „What has caused the most difficulty when trying to understand object-oriented software?“1. Missing or inadequate design documentation (16.8%)2. Inheritance (15.5%)3. Poor or inappropriate design (12.9%).
  • 25. Post-mortem AnalysisPost-mortem analysis is a research method studying the past.The basic idea behind post-mortem analysis is to capture the knowledge and experience from a specific case or activity after it has been finished. Two types of postmortem analysis: a general post-mortem analysis capturing all available information from an activity .
  • 26. focused post-mortem analysis for a specific activity, for example, cost estimation.Guidelines for Empirical Research in Software Engineering Guidelines for empirical research will be useful for following cases: The reader of a published paper.
  • 27. The reviewer of a paper prior to its publication.
  • 28. The authors of a paper.
  • 29. Researchers planning an empirical study.
  • 30. A meta-analyst wanting to combine information from different studies of the same phenomenon. A journal editorial board.Guidelines for Empirical Research in Software Engineering Kitchenham, B.A have categorized the guidelines according to the following sections: Experimental context
  • 31. Experimental design
  • 32. Conduct of the experiment and Data collection
  • 33. Analysis
  • 34. Presentation of results
  • 35. Interpretation of resultsGuidelines for Experimental ContextGuidelines for experimental context are as listed below: Be sure to specify as much of the industrial context as possible. In particular, clearly define the entities, attributes and measures that are capturing the contextual information.
  • 36. If a specific hypothesis is being tested, state it clearly prior to performing the study,and discuss the theory from which it is derived, so that its implications are apparent. If the research is exploratory, state clearly and, prior to data analysis, whatquestions the investigation is intended to address, and how it will address them. Describe research that is similar to, or has a bearing on, the current research andhow current work relates to it.
  • 37. Guidelines for Experimental DesignGuidelines for experimental design are as listed below: Identify the population from which the subjects and objects are drawn.
  • 38. Define the process by which the subjects and objects were selected.
  • 39. Define the process by which subjects and objects are assigned to treatments.
  • 40. Restrict yourself to simple study designs or, at least, to designs that are fully analyzed in the literature.
  • 41. Define the experimental unit.
  • 42. For formal experiments, perform a pre-experiment or pre-calculation to identify or estimate the minimum required sample size.
  • 43. Use appropriate levels of blinding.
  • 44. If you cannot avoid evaluating your own work, then make explicit any vested interests (including your sources of support), and report what you have done to minimize bias.Guidelines for Experimental Design Avoid the use of controls unless you are sure the control situation can be unambiguously defined.
  • 45. Fully define all treatments (interventions).
  • 46. Justify the choice of outcome measures in terms of their relevance to the objectives of the empirical study.Guidelines for Conduct of the experiment and Data collection Define all software measures fully, including the entity, attribute, unit and counting rules. For subjective measures, present a measure of inter-rater agreement, such as thekappa statistic or the intra-class correlation coefficient for continuous measures. Describe any quality control method used to ensure completeness and accuracy ofdata collection. For surveys, monitor and report the response rate, and discuss the representativeness of the responses and the impact of non-response.
  • 47. For observational studies and experiments, record data about subjects who dropout from the studies. For observational studies and experiments, record data about other performancemeasures that may be adversely affected by the treatment, even if they are not the main focus of the study.
  • 48. Guidelines for Analysis Specify any procedures used to control for multiple testing.
  • 49. Consider using blind analysis.
  • 50. Perform sensitivity analyses.
  • 51. Ensure that the data do not violate the assumptions of the tests used on them.
  • 52. Apply appropriate quality control procedures to verify your resultsGuidelines forPresentation of results Describe or cite a reference for all statistical procedures used.
  • 53. Report the statistical package used.
  • 54. Present quantitative results as well as significance levels. Quantitative results shouldshow the magnitude of effects and the confidence limits. Present the raw data whenever possible. Otherwise, confirm that they are availablefor confidential review by the reviewers and independent auditors. Provide appropriate descriptive statistics.
  • 55. Make appropriate use of graphics.Guidelines for Interpretation of Results Define the population to which inferential statistics and predictive models apply.
  • 56. Differentiate between statistical significance and practical importance.
  • 57. Define the type of study.
  • 58. Specify any limitations of the study.ConclusionThese Guidelines will be useful to improve the quality of conducting empirical research in software engineering.