Upload
soham2002
View
218
Download
0
Embed Size (px)
Citation preview
8/2/2019 Experimental Software Design
1/14
ExperimentalSoftware Design
Soham Thaker
Masters-Automation & IT
FH-Kln
Under the guidance ofProf. Bongards
8/2/2019 Experimental Software Design
2/14
Topics to be discussed:
What is Experimental Software Engineering (ESE)? Definition.
History Experimental Paradigm
Process of ESE
Examples Conclusion
References
8/2/2019 Experimental Software Design
3/14
What is Experimental Software Engineering?
Development of an experimental paradigm for evolving knowledge ofthe discipline & do research in order to achieve a scientific progressis known as Experimental Software Engineering.
Needs to follow the model like that of other physical sciences.
Example: Any Project development through Waterfall Model.
Analysis Design Implementation Test Evaluation
ProblemModel
SolutionModel Coding
CheckIntegrity
Completeas a whole
No. of User i/ps
Type of Project
UserRequirements
Time of Project
Team Size
Planning therequirements
CodingParameters
No. of Lines ofcode
Loops , etc
No.of Bugs
Types of Bugs
Number & typesof Defects.
8/2/2019 Experimental Software Design
4/14
History of Experimental SoftwareEngineering
Evolution done in early 1970s.
Phase-wise Developments: 1974-1985: Isolated studies done for particular purpose.
1986-1999: Building S/w processes & technical knowledge in specefic domains &environments.
2000-2005: Expanding studies out across other domains & environments but limitingthe technologies being studied.
2006 till now: Building knowledge about a specific domain using many technologiesand then integrating these domain specific know ledges.
8/2/2019 Experimental Software Design
5/14
Experimental Paradigm ESE- a research that helps establish a scientific & engineering basis
for the s/w engineering field.
ESE entails an Experimental Paradigm which involves ExperimentalDesign, Observation, Data collection through measurement andValidation of the process.
Experimental Method is to understand the effects of a particular tool
usage in some environment & to validate hypothesis about how bestthe s/w engineering can be accomplished.
1) The Scientific method: observe the world, propose a model or atheory of behavior, measure and analyze, validate hypotheses of the
model or theory, and if possible repeat the procedure.
Hypothesis Experiments Result DataCollection
Conclusions
8/2/2019 Experimental Software Design
6/14
Experimental Paradigm-2
1.1) The Engineering method: observe existing solutions, propose bettersolutions, build/develop, measure and analyze, and repeat the process untilno more improvements appear possible.
1.2) The Empirical method: propose a model, develop statistical/qualitativemethods, apply to case studies, measure and analyze, validate the modeland repeat the procedure.
2) The Mathematical method: propose a formal theory or set ofaxioms, develop a theory, derive results and if possible compare withempirical observations.
8/2/2019 Experimental Software Design
7/14
Process of ESE
1. Build Project Variables:
i. Identify the Project variables that affect the project. E.g.: ProjectTime, Success, Reliability, customer satisfaction, etc.
ii. Understand the variables
iii.Build Models using the variables to understand & characterize theenvironment.
2. Identify where the methods might make a difference.
3. Collecting data from live projects through measurement.
4. Feedback on data collection.
5. Storage and analysis of large amounts of data.
8/2/2019 Experimental Software Design
8/14
Example of Technology Transfer at Motorola
Adopted Goal-Question-Metric Paradigm
Adopted the Quality Improvement Paradigm, a three part process-improvement approach. (Planning, execution, and analysis andpackaging)
identify, tailor, and transfer software-engineering technology.
process package which evolves over time
Motorola set a 3-stage Formal-Software Review Process Preparation, Meeting & Follow-up
Review Goals, Review Metrics, Analyze Metrics
8/2/2019 Experimental Software Design
9/14
Quality Improvement Paradigm @ Motorola
8/2/2019 Experimental Software Design
10/14
Results of Technology Transfer at Motorola-(i)
8/2/2019 Experimental Software Design
11/14
Results of Technology Transfer at Motorola-(ii)
Phase Containment Effectivness of above table at each phase.
8/2/2019 Experimental Software Design
12/14
Conclusion
Does the experimental approachmake sense?
Many decisions were made in thepast, with compelling arguments,but without real proof
Of course logical arguments
should not be neglected, butinstead validated by experiments
8/2/2019 Experimental Software Design
13/14
References: The Past, Present, and Future of Experimental Software Engineering by Victor Robert
Basili. (Springer)
Experimental Software Engineering Issues: Critical Assessment and FutureDirections - International Workshop Dagstuhl Castle, Germany, September 14-18,1992 Proceedings ( Springer-Verlag)
Technology Transfer at Motorola Victor Basili, Daskalantonakis &Yacobellis. (IEEEJOURNAL)
Experimental Software Engineering: A Report on the State of the Art LawrenceVotta, Adam Porter & Dewayne Perry. (Springer)
Guide to Advanced Empirical Software Engineering Shull, F.; Singer, J.;Sjoeberg, D.
The Experimental Paradigm in Software Engineering - William W. Agresti, Victor R.Basili.
8/2/2019 Experimental Software Design
14/14
Any Questions?
THANK YOU !!!