How To Understand And Understand Software Engineering

Similar documents
Empirical Software Engineering Introduction & Basic Concepts

Lecture 17 Newton on Gravity

ELEMENTS OF PHYSICS MOTION, FORCE, AND GRAVITY

Aristotelian Physics. Aristotle's physics agrees with most people's common sense, but modern scientists discard it. So what went wrong?

Chapter 3 The Science of Astronomy

What Makes Good Research in Software Engineering?

Topic #6: Hypothesis. Usage

Earth, Moon, and Sun Inquiry Template Eclipses

A Discipline for Software Engineering

Background Biology and Biochemistry Notes A

Name: Earth 110 Exploration of the Solar System Assignment 1: Celestial Motions and Forces Due in class Tuesday, Jan. 20, 2015

From Aristotle to Newton

The University of Texas at Austin. Gravity and Orbits

C. Wohlin, "Is Prior Knowledge of a Programming Language Important for Software Quality?", Proceedings 1st International Symposium on Empirical

Georgia Performance Standards Framework for Science Grade 6. Unit Organizer: UNIVERSE AND SOLAR SYSTEM (Approximate Time 3 Weeks)

PSYCHOLOGY PROGRAM LEARNING GOALS AND OUTCOMES BY COURSE LISTING

Where is Fundamental Physics Heading? Nathan Seiberg IAS Apr. 30, 2014

Educator Guide to S LAR SYSTEM El Prado, San Diego CA (619)

Solar System Formation

C. Wohlin and B. Regnell, "Achieving Industrial Relevance in Software Engineering Education", Proceedings Conference on Software Engineering

One Stop Shop For Teachers

Chapter 25.1: Models of our Solar System

2 Computer Science and Information Systems Research Projects

Welcome to Physics 101 Basic Concepts of Physics. Instructor: Georgina Olivares Based on the book by Paul G. Hewitt:

Kindergarten to Grade 4 Manitoba Foundations for Scientific Literacy

Science and Scientific Reasoning. Critical Thinking

Free Fall: Observing and Analyzing the Free Fall Motion of a Bouncing Ping-Pong Ball and Calculating the Free Fall Acceleration (Teacher s Guide)

PSYCHOLOGY PROGRAM LEARNING GOALS, LEARNING OUTCOMES AND COURSE ALLIGNMENT MATRIX. 8 Oct. 2010

1 Branches of Earth Science

THE DIFFICULTIES STUDENTS FACE IN PREDICTING THE OUTCOME OF AN EXPERIMENT

Lecture 13. Gravity in the Solar System

Chapter 6 Experiment Process

Misconceptions in Astronomy in WA High School students (in preparation)

Correlational Research

AIE: 85-86, 193, , 294, , , 412, , , 682, SE: : 339, 434, , , , 680, 686

4. Discuss the information as a class (transparency key)

Software Engineering. Introduction. Software Costs. Software is Expensive [Boehm] ... Columbus set sail for India. He ended up in the Bahamas...

THE SOLAR SYSTEM - EXERCISES 1

Question about the History of Psychology Who is considered to have been the Father of the study of Psychology?

Vocabulary - Understanding Revolution in. our Solar System

Remodelling the Big Bang


Newton s Law of Universal Gravitation

Science Standard 4 Earth in Space Grade Level Expectations

Exploratory Testing Dynamics

Grade Level Expectations for the Sunshine State Standards

Scale of the Solar System. Sizes and Distances: How Big is Big? Sizes and Distances: How Big is Big? (Cont.)

Appendix A: Science Practices for AP Physics 1 and 2

1.2 Investigations and Experiments

What is Undergraduate Education?

CPO Science and the NGSS

This Performance Standards include four major components. They are

A CONTENT STANDARD IS NOT MET UNLESS APPLICABLE CHARACTERISTICS OF SCIENCE ARE ALSO ADDRESSED AT THE SAME TIME.

Explore 3: Crash Test Dummies

Related Standards and Background Information

Is there life on other worlds?

Calculate Gravitational Acceleration

Useful Automated Software Testing Metrics

Four Models for Understanding the Relationship Between Religion and Science

Learning about the influence of certain strategies and communication structures in the organizational effectiveness

The Role of Controlled Experiments in Software Engineering Research

Georgia Department of Education

Macopin Middle School (West Milford Township Schools) Curriculum Document- M. Bozenmayer

Physics 40 Lab 1: Tests of Newton s Second Law

Periods of Western Astronomy. Chapter 1. Prehistoric Astronomy. Prehistoric Astronomy. The Celestial Sphere. Stonehenge. History of Astronomy

Assumptions of Instructional Systems Design

Why Is the Moon Upside Down?

Unit 8 Lesson 2 Gravity and the Solar System

Name Class Date. true

APPENDIX F Science and Engineering Practices in the NGSS

Computational Scientific Discovery and Cognitive Science Theories

AE554 Applied Orbital Mechanics. Hafta 1 Egemen Đmre

Eliminating Over-Confidence in Software Development Effort Estimates

Solar System. 1. The diagram below represents a simple geocentric model. Which object is represented by the letter X?

Format for Experiment Preparation and Write-Up

Artificial Satellites Earth & Sky

Halliday, Resnick & Walker Chapter 13. Gravitation. Physics 1A PHYS1121 Professor Michael Burton

Psy 212- Educational Psychology Practice Test - Ch. 1

G u i d e l i n e s f o r K12 Global C l i m a t e Change Education

Scientific Experiments Using the Inquiry Activity Pendulums

Gravity? Depends on Where You Are!

Note S1: Eclipses & Predictions

Grade 6 Standard 3 Unit Test A Astronomy. 1. The four inner planets are rocky and small. Which description best fits the next four outer planets?

Voltage, Current, and Resistance

Adult cognition of large-scale geometric facts

(Refer Slide Time: 01:52)

PHY1020 BASIC CONCEPTS IN PHYSICS I

The Science of Biology

Basic Concepts in Research and Data Analysis

How Rockets Work Newton s Laws of Motion

Revision. AS Sociology. Sociological Methods. The relationship between Positivism, Interpretivism and sociological research methods.

PENDULUM PERIODS. First Last. Partners: student1, student2, and student3

CREDIT TRANSFER: GUIDELINES FOR STUDENT TRANSFER AND ARTICULATION AMONG MISSOURI COLLEGES AND UNIVERSITIES

Indiana's Academic Standards 2010 ICP Indiana's Academic Standards 2016 ICP. map) that describe the relationship acceleration, velocity and distance.

Transcription:

El papel del método científico en el desarrollo del software Dra. Natalia Juristo Catedrática de Ingeniería de Software de la Universidad Politécnica de Madrid Facultad de Ingeniería Universidad ORT Uruguay 24 de marzo de 2011

The Role of Scientific Method in Software Development Natalia Juristo Universidad Politécnica de Madrid Spain

Content 1. State of Software Development 2. The Scientific Method 3. Experimental Software Engineering 4. ESE Brief History 5. The SE Lab

State of Software Development

Some Data on Sw Development 16.3% of software projects are successful The project is completed on time and within budget, and has all the features and functions specified at the start 52.7% of software projects cost more, take longer or do less The project is completed and operational, but it cost more than budgeted (189% more), took longer than estimated and offers fewer features and functions than originally specified (42%) 31% are cancelled The project is called off at some point during development before the system is put into operation

SE Knowledge Do we know why some projects are successful and others are cancelled? Can we predict which project will fail and which one will not? Do we know why some products (requirements, design, code) are obtained with higher quality than others? Can we predict it? Are we able to predict anything about software development?

State of Software Development State of software development knowledge Today the results of applying software development methods are unpredictable There is no evidence to support most of the beliefs on which software systems development is based State of software development practice Method selection for and decision making on software production is based on suppositions and subjective opinions When, by chance (or thanks to practitioners personal and nontransferable know-how), the right methods are used, the software construction projects run smoothly and output the desired product When the wrong methods are applied, the project develops haphazardly and the output product tends to be of poor quality

From Craft to Engineering SE must lay aside perceptions, bias and marketspeak to provide fair and impartial analysis and information Decisions should be based on scientific and reasoned foundations. The gurus claims should not be docilely accepted

Other Engineering Disciplines All engineering disciplines have taken a similar step that has released them from the craft status The information used to build artefacts goes through stages, ranging from beliefs, speculations and lucky guesses to scientific knowledge by means of which an engineering discipline achieves predictable results Mary Shaw Prospects for an engineering discipline of software IEEE Software 1990

Perceptions vs. Objectivity Engineering disciplines are grounded on objectivity Objective data are helpful for finding out more about reality, whereas subjective opinions can lead to mistaken perceptions of reality Only by working with scientific evidences rather than assumptions will software development become a real engineering discipline

The Scientific Method

Science Science is a process to understand the world To understand a phenomenon, it is necessary to conduct methodical, thorough, meticulous and objective study

In Search of Knowledege Science is a way of thinking, facts more than a set of Carl Sagan 1934 1996

Science Science seeks explanations about how the world works why the world works as we perceive Such explanations are known as laws or theories

Scientific Laws Are patterns of behaviour Describe cause-effect relationships Explain why some events are related how the mechanism linking the events behaves

Scientific Law The concept of law took a long time to come to fruition in human thought Aristotle² discussed the motion of material bodies, but his natural laws of motion were just descriptions of how the final causes were supposed to behave A stone falls because the natural place for heavy objects is the centre of the Earth Appreciate the difference on how Galileo studied that same topic Galileo³ dropped balls of the same material, but different masses, from the Leaning Tower of Pisa and observed that their time of descent was independent of their mass. This was contrary to what Aristotle had taught: that heavy objects fall faster than lighter ones, in direct proportion to weight ² 384BC 322BC ³ 1564-1642

Scientific Law Newton s gravitation and motion laws ushered in the scientific era Newton's postulate of an invisible force able to act over vast distances led to him being criticized for introducing "occult agencies" into science We cannot perceive laws directly through our senses Anyone can see an apple fall, but Newton s inverse-square law of gravitation only becomes apparent through special systematic measurements 1643-1727

Causal Understanding Gravity is the explanation of why bodies fall The relationships between the two bodies: the one falling and the one attracting it

Falsification Falsification is the refutation of a hypothesis or theory by empirical evidence Karl Popper: Universal hypotheses are falsifiable, but not verifiable All swans are white can be accepted as a tentative hypothesis, until the first non-white swan is sighted The longer a (falsifiable) hypothesis resists falsification, the more reliable it is seen 1902-1994

Knowledge can Always Improve Einstein s relativity revised Newton s theory of gravity With better predictions under new conditions (light speed, etc.) that Newton s gravitation Law did not consider Deeper understanding In a way gravity does not exist. Gravity is a subproduct of the spacetime warping produced by heavy objects Newton s gravitation law are still used today for nonrelativistic gravitational calculations

From Nexus to Laws We cannot perceive laws directly through our senses Two activities are necessary Systematic objective observation Inference of links between cause & effect

The Scientific Method Collection of Empirical Data Systematic observation to appreciate the nexus Theoretical Interpretation of Data Form a hypothesis (right or wrong) about the mechanisms relating the events Collection of Empirical Data Hypothesis need to be tested against reality to know if they are true or not

What Makes a Method Scientific? Exploration of causality Objective observation Methodic variation and control of variables Repeatability

Objective Observation When you can measure what you are speaking about and express it in numbers, you know something about it; but when you cannot measure it, your knowledge is of a meager and unsatisfactory kind; it may be the beginning of knowledge, but you have scarcely in your thoughts advanced to the state of Science Lord Kelvin 1824-1907

Prescientific Stages Before existing scientific knowledge humans are able to build interesting artifacts Building does not mean understanding the mechanisms

Building without Understanding

1 st Step: Objective Observation Empirical Information Prediction Theoretical Interpretation Mechanism Understanding

Predicting without Understanding

Data Theory The accumulation of data, without inferential leap to the theory, never reaches a mechanism understanding In the absence of empirical data, theories are moving in the realm of speculation

2 nd Step: Objective Observation Empirical Information Prediction Theoretical Interpretation Mechanism Understanding

Wrong Explanation Geocentric Theory Systematic observation Two common observations were believed to support the idea that the Earth is in the center of the Universe The stars, sun, and planets appear to revolve around the Earth each day, with the stars circling around the pole and those stars nearer the equator rising and setting each day and circling back to their rising point The perception that as the Earth is solid and stable it is not moving but is at rest Hypothesis of explanation Ptolemaic Planets System Similar ideas were held in ancient China

Wrong but Useful Even shallow causal understanding is much better than nothing Ptolemaic Planets (wrong explanation based on data) were useful for prediction Antikythera mechanism (an ancient mechanical calculator built about 150 100 BC) was designed to calculate astronomical positions based on Ptolemaic Planet System Predicted solar eclipses Calculated the timing of the Ancient Olympic Games

Scientific Method: A Definition A body of techniques for investigating phenomena and acquiring new knowledge To be termed scientific, a method of inquiry must be based on gathering observable, empirical and measurable evidence subject to specific principles of reasoning

Scientific Method: Another View A rigorous process for properly developing and evaluating explanations for observable phenomena based on reliable empirical evidence and neutral, unbiased independent verification Not based on arguments from authority or popular preferences

Experimental Software Engineering

Experimental SE Brings the scientific method through the experimental paradigm into SE Generate scientific statements about software building through experimentation

Why Experimenting in SE? Too many methods and tools exist to allow each developer or software industry to determine the best choice of tools and methods by trial and error Yet this choice is obviously important A general feeling of unease with the advocacy style of software research The Try it, you ll like it -method is not feasible anymore: too many alternatives to try

Claims for SE Experimentation: Old Did Anyone Study Any real Programmers? Bill Curtis, Paper tile at Empirical Studies of Programmers Workshop, 1986 Experimentation can help build a reliable base of knowledge and thus reduce uncertainty about which theories, methods, and tools are adequate Tichy, Computer, 1998 Experimentation in SE is necessary, common wisdom, intuition, speculation, and proofs of concepts are not reliable sources of credible knowledge Vic Basili, TSE, 1999

Claims for SE Experimentation: New The actual software construction isn t necessarily experimental, but its conception is. An this is where our focus ought to be. It s where our focus always ought to have bee Tom de Marco, IEEE Software, 2009 The empirical side of software engineering should become a full member of empirical sciences Bertrand Mayer, Communications ACM, 2009

Experimentation to the Rescue! Experiments determine whether claimed differences among alternative SE techniques are actually observable For instance with respect to quality, cost, maintainability of the software Experimentation is maturing Fraction of empirical studies is rising More laboratories, more sophistication More and more papers contain empirical validation

Gaining SE Scientific Knowledge Identify and understand the variables that play a role in software development the connections between variables Learn cause-effect relationships between the development process and the obtained products Establish laws and theories about software construction that explain development behaviour

What can we hope? Knowledge about which methods work better than others, under what circumstances, and why Trustworthy theoretical models that explain and predict Professional developers who can judge the validity of empirical studies... who can ask meaningful questions about experiments and theories and understand the answers New methods and tools that provably simplify the programmers work and we know why Experimentalism is central to Software Research!

ESE Brief History

ESE: Origins The origins of ESE can be traced back to Weinberg and Tichy s work in the 1970s advocating scientific approaches that encouraged careful observation and evaluation of software development methods The first experiments were not run until the early 1980s by Victor Basili s group at the University of Maryland with NASA s Software Engineering Laboratory Since then the use of experiments to examine the applicability of SE technologies has gradually gained in importance as a research methodology

ESE At Present Journals & Conferences A specialized journal and conference have been founded over recent years Empirical Software Engineering Journal Empirical SE and Measurement Conference Experiments are reported in leading SE journals and conferences For example, as many as 93 experiments were published in journals and conferences from 1993 to 2003

ESE At Present Textbooks There are also a couple of books that explain how to apply experimental tests to software development Experimentation in SE: An Introduction Wohlin, Runeson, Höst, Ohlsson, Regnell, Wesslén 2000 Basics of SE Experimentation Juristo & Moreno 2001

The SE Lab

What makes a Method Scientific? Exploration of causality Objective observation Methodic variation and control of variables Repeatability

Experiment Experiment Models key characteristics of a reality in a controlled environment and manipulating them iteratively to investigate the impact of such variations and get a better understanding of a phenomenon Formal, rigorous and controlled investigation in which the variables under study are given different values to find out what effect each value has The properties of a complex system are explained by analysing the behaviour of its parts

The Laboratory Laboratory Simplified and controllable reality where the phenomenon under study can be manipulated and studied Chemistry laboratory Flasks and pipettes where temperatures and pressures are controlled Real world: Real substances with temperature and pressures Economics laboratory Sets of individuals playing games to earn toy benefits Real-world: Markets (built of thousands of agents) where real rewards are pursued

SE Experiment Development decomposed into its parts Manipulated variables Techniques (design, testing, etc.), Developers (experience, knowledge, etc.) Impacts investigated Effectiveness, efficiency, productivity, quality Depending on the experiment, these response variables can be instantiated as, for example, number of detected defects, number of code lines, etc.

SE Laboratory Students rather than professionals Toy software rather than real systems Exercises rather than real projects Academy or a tutorial in industry rather than real life in industry Phases, techniques rather than project

Perceptions vs. Facts: Example An experiment in our V&V course which studies techniques effectiveness Are perceptions reliable? Perception Students like much more functional testing technique They hate reading technique Facts Functional and structural are equally effective Reading usually are more effective Tastes, previous knowledge, easiness, laziness are influencing their perceptions

Other Examples Experiments falsify hypotheses E.g. the assumption of failure independence in multiversion programming John Knight and Nancy Leveson (1986) -- An experimental evaluation of the assumption of independence in multiversion programming. IEEE TSE

From Lab to Clinic Any lab finding has problems with representativeness of reality Different levels of experimental studies In vitro experiments In vivo experiments Clinical trials

THE ROLE OF SCIENTIFIC METHOD IN SOFTWARE DEVELOPMENT Natalia Juristo Universidad Politécnica de Madrid Spain

There is a lot more to say about this... Lakatos Research programs Theory needs time and space to develop Falsification attempts should be delayed until it is well developed Kuhn s Paradigms Science does not follow the falsification path Instead, there are revolutions, in which an established theory is replaced by a different one Between revolutions, there is normal science (extension, strengthening, application, rounding out of accepted theory.) Feyerabend s Anarchy From a historic perspective, there is no scientific method anything goes to find new theories The scientist must be competent, informed and follow scientific standards.

Prediction vs. Understanding Empirical Information Prediction Scientific Knowledege Mechanism Understanding