Introduction on Empirical Software Engineering - ESE seminar by NTNU, IDI and Simula Res. Lab. at SRL, Oslo, 2 June 2003 Reidar Conradi Dept. Computer.

Slides:



Advertisements
Similar presentations
1 Software Engineering (SU) group Reidar Conradi et al. IDI, NTNU, May 8, 2006
Advertisements

SU group research per 22 May NTNU / IDI’s Software Engineering Group (SU) Per 9 May 2003, rev. 22 May Reidar Conradi Dept. Computer and Information.
1 A Systematic Review of Cross- vs. Within-Company Cost Estimation Studies Barbara Kitchenham Emilia Mendes Guilherme Travassos.
SU group research per 22 May NTNU / IDI’s Software Engineering Group (SU) Per 9 May 2003, rev. 10 September Reidar Conradi Dept. Computer and Information.
Metrics for Process and Projects
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 Parastoo Mohagheghi- 21 Sept.2004 The Impact of Software Reuse and Incremental Development on the Quality of Large Systems Parastoo Mohagheghi Dept.
Software Quality Engineering Roadmap
SE curriculum in CC2001 made by IEEE and ACM: Overview and Ideas for Our Work Katerina Zdravkova Institute of Informatics
Empirically Assessing End User Software Engineering Techniques Gregg Rothermel Department of Computer Science and Engineering University of Nebraska --
Modeling and Validation Victor R. Basili University of Maryland 27 September 1999.
Course Introduction and Overview of Software Engineering Richard N. Taylor ICS 221 Fall 2002.
ISERN-Meeting, Honolulu, Hawaii 09 October 2000 Slide 0 Using Experiments to Teach Software Engineering Using Experiments to Teach Software Engineering.
1 Software Engineering (SU) group: general info, persons and R&D projects Reidar Conradi, IDI, NTNU, Trondheim, 22. Aug Reidar.
Page 1 MODEL TEST in the small GENERALIZE PROGRAM PROCESS allocated maintenance changes management documents initial requirement project infrastructure.
An industrial study in Norway, Germany and Italy Seminar on CBSE (component-based software engineering) Simula Research Lab., Oslo, 4 Feb. 2005
1 IDI, NTNU Programvarekvalitet og prosessforbedring vår 2000, Forrest Shull et al., Univ. Maryland and Reidar Conradi, NTNU (p.t. Univ.
Slide 1 MOWAHS: MObile Work Across Heterogeneous Systems, NFR IKT2010 R&D project MOWAHS: Mobile Work Across Heterogeneous Systems Reidar Conradi, Mads.
Template for ISERN Instructions:  Keep your main message short and clear: you can discuss the details in person or provide additional background material.
Chapter 6 : Software Metrics
Software Requirements Engineering CSE 305 Lecture-2.
Software Engineering EKT 420 MOHAMED ELSHAIKH KKF 8A – room 4.
PhD seminar A case study of the mentoring approach in a SPIKE company By Finn Olav Bjørnson.
Experimentation in Computer Science (Part 1). Outline  Empirical Strategies  Measurement  Experiment Process.
NIK’01, Tromsø, Nov An Empirical Study on the Utility of Formal Routines to Transfer Knowledge and Experience Reidar Conradi, NTNU Tore Dybå,
1 - 26/10/2015 The SINTEF Group The Foundation for Scientific and Industrial Research at the Norwegian Institute of Technology Tore Dybå.
Experiences with certification of reusable components in the GSN project in Ericsson, Norway Parastoo Mohagheghi and Reidar Conradi Dept. Computer and.
Slide 1 Presentation University of Oslo, ISERN, Hawaii, 8-10 Oct Industrial Systems Development Department of Informatics University of Oslo, Norway.
Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU.
Abelia/SPIKE: Good practice - empiri & syst.dev., Klækken, Nov How to identify best practices? – empiri and system development SPIKE / Abelia.
Dag Sjøberg Simula Research Laboratory Basic Research in Computing and Communication Sciences!
Software Evolution Program evolution dynamics Software maintenance Complexity and Process metrics Evolution processes 1.
27/3/2008 1/16 A FRAMEWORK FOR REQUIREMENTS ENGINEERING PROCESS DEVELOPMENT (FRERE) Dr. Li Jiang School of Computer Science The.
1 07 September 2004 Parastoo Mohagheghi The Impact of Software Reuse and Incremental Development on the Quality of Large Systems Parastoo Mohagheghi, Dept.
1 Experience from Studies of Software Maintenance and Evolution Parastoo Mohagheghi Post doc, NTNU-IDI SEVO Seminar, 16 March 2006.
1 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
Information day on FP6 Budapest Tor Ulsund (abelia)
Contents 1 Description of 1 Description of Initiative Initiative 3 Year 2: Updated 3 Year 2: Updated Training/Metrics Training/Metrics 2 Year 1: NASA 2.
R. Conradi: Research in Software Engineering, SU's PhD day, 23 Nov Research in Software Engineering – topics, methods, models,… basta o cerchiamo?
Advanced Software Engineering Dr. Cheng
Configuration Management
Overview Software Maintenance and Evolution Definitions
Software Quality Control and Quality Assurance: Introduction
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Chapter 18 Maintaining Information Systems
The Systems Engineering Context
CMMI Q & A.
Product reliability Measuring
The Steps into creation of research
Software Quality Engineering
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Introduction To software engineering
Tools of Software Development
EECE 310 Software Engineering
(Software Engineering group, IDI, NTNU):
NTNU Dept of Telematics and SINTEF Telecom and Informatics, Norway
Inspection and Review The main objective of an Inspection or a Review is to detect defects. (Not for Giving Alternative Solutions) This activity and procedure.
Chapter 25 Process and Project Metrics
Ph.D Status Report: A part of WEBSYS Project
CS385T Software Engineering Dr.Doaa Sami
Software metrics.
Chapter 32 Process and Project Metrics
Experimental Software Engineering (ESE)
Seminar DKV Desi Dwi Kristanto, M.Ds. Week 6.
Empirical Study on Component-Based Development
Indicator 3.05 Interpret marketing information to test hypotheses and/or to resolve issues.
State of The Art and Future Directions Dept. of Computer Science
Research in Language Learning and Teaching
Presentation transcript:

Introduction on Empirical Software Engineering - ESE seminar by NTNU, IDI and Simula Res. Lab. at SRL, Oslo, 2 June 2003 Reidar Conradi Dept. Computer and Information Science (IDI) NTNU http://www.idi.ntnu.no/grupper/su/ [ese-intro-2jun2003.ppt] Tel +47 73.593444, Fax +47 73.594466 19/11/2018 Empirical SW Eng., 2 June 2003

SU: Who we are – what we do IDI’s software engineering group: Four faculty members: Reidar Conradi, Tor Stålhane, Letizia Jaccheri, Monica Divitini, NN (vacant) One researcher: dr. Alf Inge Wang One lecturer: MSc Per Holager 15 active PhD-students, with 6 new in both 2002 and 2003: common core curriculum in empirical research methods 40 MSc-cand. per year Research-based education: students participate in projects, project results are used in courses A dozen R&D projects, basic and industrial, in all our research fields – industry is our lab. Half of our papers are based on empirical research, and 25% are written with international co-authors. 19/11/2018 Empirical SW Eng., 2 June 2003

SU motivation Software essential in many important societal activities. 50-60,000 system developers (3%) in Norway – many without formal software education. Still problems wrt. software quality and delivery on time and budget; cf. [US Standish report, 1995] cited in [PITAC, 1999], on projects for tailored software: 31% stopped before finish, 81 bill. $ loss/year (1% of GNP!) 53% have serious overruns (189% average), 59 bill. $/year Some challenges: Web-systems: manage time-to-market (TTM) vs. reliability? How do software systems evolve over time, cf. Y2K? What is empirically known about software products and processes? How can small companies carry out systematic improvement? How to perform valid sw.eng. research in a university -- by student projects and having industry serving as a lab? 19/11/2018 Empirical SW Eng., 2 June 2003

Proposed ”silver bullets” [Glass 1995] What almost surely works: Software reuse/CBSE: yes!! Inspections: yes!! Testing: yes!! Better documentation: yes! Versioning/SCM systems: yes!! OO/ADTs: yes?!, especially in domains like distributed systems and GUI. High-level languages: yes! - but Fortran, Lisp, Prolog etc. are domain-specific. More powerful workstations: yes!! – computer power. Bright, experienced, motivated, hard-working, …developers: yes!!! – brain power. What probably works: Better education: hmm?? UML: often?, but need tailored RUP process and more powerful tools. Powerful, computer-assisted tools: partly? Incremental development e.g. using XP: partly? More ”structured” process/project (model): probably?, if suited to purpose. Software process improvement: in certain cases?, assumes stability. Structured programming: conflicting evidence wrt. maintenance? Formal specification/verification: does not scale up? – for safety-critical systems. Need further studies (”eating”) of all these ”puddings” – plenty of challenges! 19/11/2018 Empirical SW Eng., 2 June 2003

ESE motivation Lack of formal validation in computer science / software engineering: papers by Tichy, Zelkowitz, … (New) technologies not properly validated: OO, UML, … “New field” in Empirical Software Engineering over the last 10 years: papers and books by Basili, Rombach, Kitchenham, Wohlin, Juristo, … ISERN group from 1992, ESERNET EU-project in 2001-03 SE group at SRL since 2001: ISU group at UiO, partly SU group at NTNU 19/11/2018 Empirical SW Eng., 2 June 2003

SE characteristics: need ESE SE learnt by “doing”, i.e. projects in all SE courses. Strong human and organizational (“soft”) factors. Problems in being more “scientific”: Most industrial SE projects are unique (goals, technology, people, …), otherwise just copy software with marginal cost! Fast change-rate between projects: goals, technology, people, process, company, … – i.e. no stability, meager baselines. Also fast change-rate inside projects: much improvisation, with theory serving as back carpet. So never enough time to be “scientific” – with hypotheses, metrics, collected data, analysis, and actions. How can we overcome these obstacles, i.e. to learn and improve systematically? – ESE as the answer? 19/11/2018 Empirical SW Eng., 2 June 2003

ESE: common kinds of empirical studies Formal experiments, “in vitro”, often among students: can control the artifacts, process, and context. Similar experiments, in “vivo”, in industry: costly and many logistical problems. Use SRL web-environment? Case studies: try out new technology/process on top of existing project. Post-mortems: collect lessons-learned after project completion, e.g. by data mining or interviews. Surveys: often by questionnaires. Interviews: more personal than surveys. Observation: being a “fly on the wall”. Action research: researcher and developer overlap roles. 19/11/2018 Empirical SW Eng., 2 June 2003

ESE: different data categories Quantitative (“hard”) data: data (i.e. numbers) according to a defined metrics, both direct and indirect data. Need suitable analysis methods, depending on the metrics scale – nominal, ordinal, interval, and ratio. Often objective. Qualitative (“soft”) data: prose text, pictures, … Often from observation and interviews. Need much human interpretation. Often subjective. Specific versus common metrics/data? – a trade-off. 19/11/2018 Empirical SW Eng., 2 June 2003

ESE: validity problems Construct validity: the “right” (relevant and minimal) metrics - use GQM? Internal validity: the “right” data values. Conclusion validity: the right (appropriate) data analysis. External validity: the “right” (representative) context. 19/11/2018 Empirical SW Eng., 2 June 2003

ESE: combining different studies/data Meta-studies: aggregations over single studies. Common e.g. in medicine. A composite study may combine several study kinds and data: Prestudy, doing a survey or post-mortem Initial formal experiment, on students Sum-up, using interviews Final case study, in industry Sum-up, using interviews or post-mortem 19/11/2018 Empirical SW Eng., 2 June 2003

Achieving validated knowledge: by ESE Learn about ESE: Get motivated and trained. Need more operational methods to perform studies. Cooperate with others on repeatable studies / experiments (ISERN, ESERNET, …). Perform meta-analysis across single studies. Need reporting procedures and shared ESE-databases. Need more industrial studies, not only with students. Have patience, allocate enough resources. Many industrial studies will experience unexpected problems, e.g. SPI initiatives have 30-50% “abortion” rate. 19/11/2018 Empirical SW Eng., 2 June 2003

SU group: some studies (all published) CBSE/reuse: Assessing reuse in 15 companies in REBOOT, 1991-95. Modifiability of C++ programs and documentation, 1995. COTS usage in Norway and Italy, 2001. Assessment of COTS components, 2001-02. Ex2: INCO/Mohagheghi: CBSE at Ericsson-Grimstad, 2001-04. Inspections: Perspective-based reading, at U. Maryland and NTNU, 1995-96. Ex1: SDL inspections at Ericsson, 1993-97. UML inspections at U.Maryland, NTNU and at Ericsson, 2000-02. SPI/quality: Role of formal quality systems in 5 companies, 1999. Comparing process model languages in 3 companies, 1999. Post-mortem analysis in two companies, 2002. SPI experiences in SMEs in Scandinavia and in Italy and Norway, 1997-2000. SPI lessons-learned in Norway (SPIQ, PROFIT), 1997-2002. And 2X more! 19/11/2018 Empirical SW Eng., 2 June 2003

Ex1. SDL inspections at Ericsson-Oslo 1993-97, data mining study in 3 MSc theses (Marjara et al.) General comments: AXE telecom switch systems, with functions around * and # buttons, teams of 50 people. SDL and PLEX as design and implementation languages. Data mining study of internal inspection database. No previous analysis of these data. Study 1: Project A, 20,000 person-hours. Look for general properties + relation to software complexity (by Marjara being a previous Ericsson employee). Study 2: Project A + Project-releases B-F, 100,000 person-hours. Also look for longitudinal relations across phases and releases, i.e. “fault-prone” modules - seems so, but not conclusive (by Skåtevik and Hantho) When results came: Ericsson had changed process, now using UML and Java, but with no inspections. 19/11/2018 Empirical SW Eng., 2 June 2003

Ex1. General results of SDL inspections at Ericsson-Oslo 1993-97, by Marjara Activity Yield = Number of Defects [#] Total effort on defect detection [h] Cost- efficiency [defect/h] Total effort on defect correction Estimated saved effort by early defect removal (“magic formulae”) Inspection preparation, design 928 786.8 1.17 311.2 8200 Inspection meeting, design 29 375.7 0.077 Desk Check (Unit Test and Code Review) 404 1257.0 0.32 - Function Test 89 7000.0 0.013 Total so far 1450 9419.5 0.15 System Test 17 Field Use (first 6 months) 35 Table 1. Yield, effort, and cost-efficiency of inspection and testing, Study 1. Study 1 overall results: About 1 person-hour per defect in inspections. About 3 person-hours per defect in unit test, 80 p-h/def. in function test. So inspections seem very profitable. 19/11/2018 Empirical SW Eng., 2 June 2003

Defects found in unit test Ex1. SDL-defects vs. size/complexity (#states) at Ericsson-Oslo 1993-97, by Marjara Defects found during inspections Defects found in unit test States Study 1 results, almost “flat” curve -- why?: Putting the most competent people on the hardest tasks! Such contextual information is very hard to get/guess. 19/11/2018 Empirical SW Eng., 2 June 2003

Ex1. SDL inspection rates/defects at Ericsson-Oslo 1993-97, by Marjara >1 0.66 8 Recommended rate actual rate Study 1: No internal data analysis, so no adjustment of insp. process: - Too fast inspections: so missing many defects. - By spending 200(?) analysis hours, and ca. 1250 more inspection hours: will save ca. 8000 test hours! 19/11/2018 Empirical SW Eng., 2 June 2003

Ex2. INCO, studies and methods by PhD student Parastoo Mohagheghi, NTNU/Ericsson-Grimstad Study reusable middleware at Ericsson, 600 KLOC, shared between GPRS and UMTS applications: Characterization of quality of reusable components (paper OK, pre-case study) Estimation of use-case models for reuse – with Bente Anda, UiO (paper planned, case study) OO inspection techniques for UML - with HiA, NTNU, and Univ. Maryland (paper OK, real experiment) Improved reuse processes – with NTNU (paper draft, survey) Model-driven architecture in UML – with HiA (paper draft, ?) Quality and evolution of reusable components, based on 13,500 (!) change requests – with NTNU (2-3 future papers, case study/data mining) 19/11/2018 Empirical SW Eng., 2 June 2003

Appendix: Research fields of SU group (1) Software Quality: reliability and safety, software process improvement, process modelling Software Architecture: reuse and COTS, patterns, versioning Co-operative Work: learning, awareness, mobile technology, project work In all this: Empirical methods and studies in industry and among students, experience bases. Software engineering education: partly project-based. Tight cooperation with Simula Research Laboratory/UiO and SINTEF, 15-20 active companies, Telenor R&D, Abelia/IKT-Norge etc. 19/11/2018 Empirical SW Eng., 2 June 2003

Research fields of the SU group (2) Patterns, COTS, Evolution, SCM Software quality Software architecture Reliability, safety SPI, learning organisations Distributed Software Eng. Software Engineering Education Mobile technology Co-operative work 19/11/2018 Empirical SW Eng., 2 June 2003

SU research projects, part 1 Supported by NFR: CAGIS-2, 1999-2002: distributed learning environments, CO2 lab, Ekaterina Prasolova-Førland (Divitini). MOWAHS, 2001-04: mobile technologies, Carl-Fredrik Sørensen (Conradi); with DB group. INCO, 2001-04: incr. and comp.-based development, Parastoo Mohaghegi at Ericsson (Conradi); with Simula/UiO. WebSys, 2002-05: web-systems – reliability vs. time-to-market, Sven Ziemer and Jianyun Zhou (Stålhane). BUCS, 2003-06: business critical software, Jon A. Børretzen, Per T. Myhrer and Torgrim Lauritsen (Stålhane and Conradi). SPIKE, 2003-05: industrial sw process improvement, Finn Olav Bjørnson (Conradi); with Simula/UiO, SINTEF, Abelia, and 10 companies - successor of SPIQ and PROFIT. FAMILIER, 2003-06: Product families, Magne Syrstad (Conradi), mainly with IKT-Norge but some IDI-support. 19/11/2018 Empirical SW Eng., 2 June 2003

SU research projects, part 2 IDI/NTNU-supported: Software architecture, 2002-05: Mingyang Gu (Jaccheri). Software safety and security, 2002-05: Siv Hilde Houmb (Stålhane). Component-based development, 2002-05: Jingyue Li (Conradi). Creative methods in Education, 2003-4 (NTNU): novel educational practices, no PhD, Jaccheri at IDI w/ other dept.s. Supported from other sources: ESE/Empirical software engineering, 2003-06: open source software, Thomas Østerlie (Jaccheri), saved SU project funds. ESERNET, 2001-03 (EU): network on Experimental Software Engineering, no PhD, Fraunhofer IESE + 25 partners. Net-based cooperation learning, 2002-05 (HINT): learning and awareness, CO2 lab, Glenn Munkvold (Divitini). 19/11/2018 Empirical SW Eng., 2 June 2003

SU research projects, part 3 Possible new research projects: ICT security (new NFR program, by 1 May 2003), Tor Stålhane and Torbjørn Skramstad, with NTNU-Telematics ? Pervasive Computing: infrastructure and applications (NFR IKT2010-program, by 15 June 2003), Monica Divitini, with Telenor R&D ? Software Evolution - processes and products for software reuse (for NFR IKT-2010, by 15 June 2003), Reidar Conradi ? 19/11/2018 Empirical SW Eng., 2 June 2003