Experimental Software Design

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 !!!