Selected Topics of Software Technology 3€¦ · Selected Topics of Software Technology 3 19...

Preview:

Citation preview

Selected Topics of Software Technology 3

Introduction1

S C I E N C E P A S S I O N T E C H N O L O G Y

u www.tugraz.at

Selected Topics

of Software Technology 3

Birgit Hofer

Institute for Software Technology

Selected Topics of Software Technology 3

Introduction2

Outline

Content of this lecture

Motivation

Organization

Dates + content

Exam

Practical (LV 716.177 UE)

Assignments

Dates

Selected Topics of Software Technology 3

Introduction3

Outline

Content of this lecture

Motivation

Organization

Dates + content

Exam

Practical (LV 716.177 UE)

Assignments

Dates

Selected Topics of Software Technology 3

Introduction4

SpreadsheetsThe Swiss Army Knife for Data Processing

Daniel Kulesz, University of Stuttgart

Selected Topics of Software Technology 3

Introduction5

Number of spreadsheets

Who Estimated Real

Investment Bank 10 000 2.5 million

Birgit Hofer 5 000

• online: 23

• xls: 11 034 (76 regular / 10 958 benchmarks)

• xlsx: 2 116 (119 regular / 1 997 benchmarks)

You ? ?

Selected Topics of Software Technology 3

Introduction6

SpreadsheetsThe Ununderstood Dark Matter of IT

Felienne Hermans, Delfth University of Technology

Selected Topics of Software Technology 3

Introduction7

To err is humanThe Reinhart-Rogoff spreadsheet

Selected Topics of Software Technology 3

Introduction8

Human error rates3 – 5 % per formula

Raymond Panko: “Thinking is bad: Implications of human error

research for spreadsheet research and practice,” CoRR, 2008

Selected Topics of Software Technology 3

Introduction9

Human error rates

100 Formulas

1000 Formulas

3 % 95,2 %

5 % 99,4 %

1 % 63,4 %

3 % 99,9 %

5 % 99,9 %

1 % 99,9 %

Selected Topics of Software Technology 3

Introduction10

Fault types

Errors in the data

Incorrect data entry (keyboard)

Incorrect specification

Incorrect definition (wrong format)

Incorrect placement

Incorrect access (when loading data via CSV)

Formulaic errors

Macro errors

Template errors (misapplication of template)

Source: Howard: „Managing Spreadsheets“, 2006

Selected Topics of Software Technology 3

Introduction11

Spreadsheets are software.

Missing Documentation

Functional language

Errors

Creator vs. user

Code Inspection Proper Education

Are there any problems?

Risk awareness

Lifetime

What are possible solutions?

Selected Topics of Software Technology 3

Introduction12

Terminology

Spreadsheet vs. Spreadsheet Environment

Fault vs. Failure: Erroneous output

Input cells vs. Intermediate cells vs. Output cells

Selected Topics of Software Technology 3

Introduction13

Diagnosis

Selected Topics of Software Technology 3

Introduction14

Three layers of spreadsheet programs

Source: Hodnigg and Mittermeir: „Metrics-Based Spreadsheet Visualization“, EuSpRIG 2008

Selected Topics of Software Technology 3

Introduction15

Outline

Content of this lecture

Motivation

Organization

Dates + content

Exam

Practical (LV 716.177 UE)

Assignments

Dates

Selected Topics of Software Technology 3

Introduction16

Your Knowledge

Who attended “Selected Topics of Software

Technology 1” (Prof. Wotawa)?

Who knows about

o Model-based Diagnosis (MBD) ?

o Spectrum-based Fault Localization (SFL)?

o Code Smells?

Selected Topics of Software Technology 3

Introduction17

Spreadsheet

Quality Assurance

Techniques

Visualization

StaticAnalysis

Fault Localization

Testing

Modeling

Design & Maintenance

Support

Source: Jannach et al. “Avoiding, Finding and Fixing

Spreadsheet Errors – A Survey of Automated Approaches for

Spreadsheet QA”, in Journal of Systems and Software, 2014.

Visualization: Patrick Koch,Diploma Seminar, TU Graz, 2015.

Static Analysis

Debugging

Testing

Selected Topics of Software Technology 3

Introduction18

Content (depending on your interests)

Debuggingo Model-based debugging

o Spectrum-based fault localization

o Repair approaches – Genetic programming

Static Code Analysiso Code Smells

o Header-inference rules

Testing

Possible Additional Contento Refactoring

o Spreadsheets for developers

o Limits of Spreadsheet Environments

Selected Topics of Software Technology 3

Introduction19

Preliminary Schedule

5.10. Introduction

12.10. Static Code Analysis: Code Smells

29.10. Static Code Analysis: Header-Inference rules

2.11.-16.11 -

23.11. Testing Techniques - Your Presentations (Practical)

30.11. Spectrum-based Fault Localization

7.12. Model-Based Fault Localization

14.12. Model-Based Fault Localization

11.01. Repair Approaches

18.01. Refactoring

25.01. Static Code Analysis - Your Presentations (Practical)

Selected Topics of Software Technology 3

Introduction20

How to pass this course (VO) / get a grade?

• Written exam (date TBA)

• Knowing QA techniques for spreadsheets

• Explain how certain techniques work

• Solve simple examples

Selected Topics of Software Technology 3

Introduction21

Outline

Content of this lecture

Motivation

Organization

Dates + content

Exam

Practical (LV 716.177 UE)

Assignments

Dates

Selected Topics of Software Technology 3

Introduction22

Practical (LV 716.177 UE)

PART 1 - Testing (individual)

Read a scientific paper and present its content

in class (30 minutes/person, November 23rd)

PART 2 – Static Code Analysis (teamwork)Implement code inspection techniques either as

stand-alone application (should recognize .xls or .xlsx) or

plug-in for your favorite Spreadsheet Environment

and present your solution (including a summary

of the functionality and the design and a tool demo)

in class (15 minutes/person, January 25th)

Selected Topics of Software Technology 3

Introduction23

Practical – PART 1 (Testing)

No Paper Title Student

1 Improving Spreadsheet Test Practices

2 What You See Is What You Test

3 Automated Test Case Generation for Spreadsheets

4 AutoTest: A Tool for Automatic Test Case Generation in

Spreadsheets

5 End-User Software Engineering with Assertions in the

Spreadsheet Paradigm

6 Test-Driven Development: Can it Work for Spreadsheets?

+ Using Calculation Fragments for Spreadsheets

Selected Topics of Software Technology 3

Introduction24

Pratical – PART 2 (Static Code Analysis)

Code-Smells

o Referencing empty cells

o Broken patterns

o Incomplete ranges

o Data outliers in input values

o …

Header-inference Rules more challenging

Everything else that you assume to be useful

Selected Topics of Software Technology 3

Introduction25

Outline

Content of this lecture

Motivation

Organization

Dates + content

Exam

Practical (LV 716.177 UE)

Assignments

Dates

Recommended