xctl - during the last year and more … uli sacklowski klaus bothe kay schuetzler

44
XCTL - during the last year and more … Uli Sacklowski Klaus Bothe Kay Schuetzler

Post on 19-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

XCTL - during the last year and more

Uli Sacklowski Klaus Bothe

Kay Schuetzler

DAAD Workshop Ravda, September, 18th - 23th, 2006

2

From the workshop programs 2003 - 2006

Workshop Software Engineering Education

and Reverse Engineering

K. Schützler, U. Sacklowski, K. Bothe:XCTL during the last year

K. Schützler, U. Sacklowski, K. Bothe:XCTL during the last year and more …

2003 – 2005:

2006:

DAAD Workshop Ravda, September, 18th - 23th, 2006

3

Agenda

Motivation XCTL and our DAAD project Short introduction to the XCTL system Educational project work: tasks, theses,

statistics Evolution of project documents Evolution of the software system

DAAD Workshop Ravda, September, 18th - 23th, 2006

4

Importance of case studies

“Well chosen case studies are often the most useful material, ‘borrowed’ by colleagues from different universities.”

(Reviewer of our FIE 2005 paper)

DAAD Workshop Ravda, September, 18th - 23th, 2006

5

Importance of real-world case studies:RPRCC workshop at CSEET 2006

“Because many software development skills can be learned only through practical experience, a … course in which students work as part of a team to develop a real project for a real client can provide students with invaluable insights and experience.”

“The purpose of this workshop is to begin the development of an evolving archive of materials to help faculty desiring to run Real-Projects for Real-Clients courses (RPRCC’s)”

RPRCC = Real-Projects for Real-Clients courses

DAAD Workshop Ravda, September, 18th - 23th, 2006

6

Importance of real-world case studies:SWECP workshop at CSEET 2006

“Team-based projects are the cornerstones of many undergraduate software engineering courses. In these projects, the students learn the importance of topics such as project management and issues of scale that separate software engineering from program development.”

SWECP = Software Engineering Course Projects

DAAD Workshop Ravda, September, 18th - 23th, 2006

7

Agenda

Motivation XCTL and our DAAD project Short introduction to the XCTL system Educational project work: tasks, theses,

statistics Evolution of project documents Evolution of the software system

DAAD Workshop Ravda, September, 18th - 23th, 2006

8

Cooperative work on XCTLwithin the DAAD project

Plovdiv: A refactoring based on XCTL (UCs: Linescan, Areascan)(A. Stoyanova and students, 2002 – 2006)

Belgrade: URCA applied to XCTL for architecture recovery (D. Bojic, 2002 - 2004)

Novi Sad: XCTL use case ‘Manual adjustment’ described by an English requirements specification (Z. Budimac, 2001/02) Case study of JCSE (requirements specification, reverse engineering, metrics)

Berlin: XCTL used for practical project work and 21 diploma theses (U. Sacklowski, K. Schützler, K. Bothe, 1998 - 2006)

XCTL as a case study in our JCSE

DAAD Workshop Ravda, September, 18th - 23th, 2006

9

Agenda

Motivation XCTL and our DAAD project Short introduction to the XCTL system Educational project work: tasks, theses,

statistics Evolution of project documents Evolution of the software system

DAAD Workshop Ravda, September, 18th - 23th, 2006

10

Short introduction to the XCTL system

Hardware controlling software used in experimental physics

Usage area: Analysis of semiconductor structures Displaying investigated structures in graphical

form Cooperation between the SE group at HU

(K. Bothe) and the Institute of Physics at HU (H. Köhler)

DAAD Workshop Ravda, September, 18th - 23th, 2006

11

XCTL working place

X-ray topography camera

DAAD Workshop Ravda, September, 18th - 23th, 2006

12

Presenting structuresas graphics

Graphic of an atom Graphic of an atom core with its e-shellcore with its e-shell

Measuring method:Measuring method: Diffractometry/ReflectometryDiffractometry/Reflectometry

DAAD Workshop Ravda, September, 18th - 23th, 2006

13

Features of the XCTL system

Control motors (e.g. on sample holder)

Control x-ray detecting devices Control measurement processes

Adjust samples (before and during measurements)

Evaluate and display results (during and after measurements)

DAAD Workshop Ravda, September, 18th - 23th, 2006

14

Agenda

Motivation XCTL and our DAAD project Short introduction to the XCTL system Educational project work: tasks, theses,

statistics Evolution of project documents Evolution of the software system

DAAD Workshop Ravda, September, 18th - 23th, 2006

15

Educational project work

XCTL: real-project, real-client (RPRCC)

Two kinds of project work: Basic one-semester real-project team

work (ordinary one-semester class) Advanced professional real-project team

work (diploma thesis / master / bachelor)

DAAD Workshop Ravda, September, 18th - 23th, 2006

16

Basic one-semester real-project team workTasks and goals: Become familiar with a new application

domain Experiment with a real-life software system Review of requirements and behavioural

specifications Compare the specification with the behaviour

of the system Determine test cases based on the

classification tree method Reengineering non-ergonomic windows of GUI Work in a team

DAAD Workshop Ravda, September, 18th - 23th, 2006

17

Advanced project work: Areas of diploma theses (MA, BA)

XCTL system

Porting to

anotherenviromentMicrosoft Visual C++ 6.0 IDE

(3 thesis)

New and extendeduse cases(6 thesis)

Testautomation:ATOS … (6 theses)Reengineering of

user interfaces(2 thesis)

Multi-media:visualisationof functions(1 BA thesis)

Metrics forquality assessment(1 BA thesis)

Software reconstruction through refactoring(1 theses)

Formal Specification(1 thesis)

Correctness of user interfaces(2 theses)

Environment simulator(1 BA thesis)

Summary: • 33 thesis (MA,BA)• 14 men years

Architecture recovery (2 theses)

DAAD Workshop Ravda, September, 18th - 23th, 2006

18

Advanced project work: particular activities

XCTL system

Reverse Engineering: develop documents at a higher abstraction level • Requirements documents• design• understand and comment code• Find and document errors

Cooperation:• Meetings• Team work

Version control: cvs

Requirements negotiation with users

Design test cases;Regression Testing: ATOS

DAAD Workshop Ravda, September, 18th - 23th, 2006

19

Diploma theses at HU (1) Kay Schützler:

Recovery of subsystems by use case analysis and file restructuring demonstrated by the XCTL system, April 2001

Sebastian Freund, Derrick Hepp:From reverse engineering to program extension: automatic adjustment of a X-ray topogrophy control program, May 2001

Bernhard Buss:From reverse engineering to program extension of the XCTL system: Grafical representation measurement results of diffraktometry/reflektometry, October 2001

Stephan Berndt, Jens Ullrich: From reverse engineering to program extension: Diffraktometry/Reflektometry component of a program for X-ray structure analysis, November 2001

DAAD Workshop Ravda, September, 18th - 23th, 2006

20

Diploma theses at HU (2) Stefan Lützkendorf:

Software test in reverse engineering processes, December 2001

Michael Müller: Metrics for portability analysis in Window-based software systems, March 2002

Jens Hanisch, Johann Letzel:Automating of regression testing of a program for X-ray-based structure analysis, November 2002

Jens Klier: Extention of a software legacy system by a component for automating of manual protocol tasks, June 2003

René Harder, Alexander Paschold: Porting strategy for a hardware control program using reverse engineering techniques, August 2003

DAAD Workshop Ravda, September, 18th - 23th, 2006

21

Diploma theses at HU (3) Jan Picard:

Software reconstruction through refactoring, September 2003

Tobias Thiel: Automatic reconstruction and assessment of subsystem interfaces, January 2004

Thomas Kullmann, Günther Reinecker: Decomposition of software systems into functional component and user interface in forward and reengineering, Januar 2004

Hendrik Seffler: A metrics and instrumentation tool for Java and C++, December 2004

Andreas Hirth:Automatic generation of testscript kommands by capturing of user inputs in GUI programmes, September 2005

DAAD Workshop Ravda, September, 18th - 23th, 2006

22

Some important BA themes (1)

Stefan Lüzkendorf:Softwaremetrics of XCTL using the McCabe-Tool, May 1999

Marlies Gollnick:Reverse Engineering des Subsystems ‘Topographie‘, Oct. 2000

Kay Schützler: Environment simulation of detectors, Oct. 2000

Sebastian Freund, Derrick Hepp:Specification of an interface to motor devices: the C interface of the XCTL program, Oct. 2000

Jan Picard, Rene Harder, Alexander Paschold:Reverse Engineering of the subsystem ‘Detectors‘, Nov. 2000

DAAD Workshop Ravda, September, 18th - 23th, 2006

23

Some important BA themes (2)

Jens Klier:Reverse Engineering: Reengineering of the initialisation file structure of the XCTL program to increase the security, Jun. 2001

Johann Letzel, Jens Hanisch:Automatic regression test fo the XCTL System, Jan. 2002

Andreas Wenzel:XCTL project: Multimedia Presentation, Mar. 2005

DAAD Workshop Ravda, September, 18th - 23th, 2006

24

Current work in September 2006 Theses (Diploma): Development environment,

Reengineering, sophisticated subjects Testing: ATOS for Java (basic version for C++) Correctness of user interface Reengineering of the motor use case Modifications and extensions: New motors (drives) Software architecture assessment Formal specification with Z to assess and improve

verbal requirements specifications Language to control measurement processes

One-semester real project team work

DAAD Workshop Ravda, September, 18th - 23th, 2006

25

Project participants and

diploma theses

Statistics

DAAD Workshop Ravda, September, 18th - 23th, 2006

26

0

5

10

15

20

25

1998 1999 2000 2001 2002 2003 2004 2005 2006

Beginners

Diploma Theses

Advanced

Project participants and diploma theses

Total numbers:• Beginners (basic one-semester work): 131• Advanced: 31• Diploma thesis: 21• Other fundamental theses (e.g. BA): 13

DAAD Workshop Ravda, September, 18th - 23th, 2006

27

1999 2000 2001 2002 2003 2004 2005 2006

WolfAuerbachGollnick (S)

Hepp (D)Freund (D)Lützkendorf (D)Schützler (D)

SchadLühnsdorf

Bernd (D)Ullrich (D)

Müller (D)

Hanisch (D)Letzel (D)

Wenzel (S)

Klier (D)Picard (D)Harder (D)Paschold (D)

Thiel (D)Kullmann (D)Reinecker (D)

Seffler (D)Treysse

Damm (D)Hirth (D)

Janitschek (D)Tegos (D)Kraus (D)Graupner (D)Lange (D)

Advanced project work and diploma theses

DAAD Workshop Ravda, September, 18th - 23th, 2006

28

Agenda

Motivation XCTL and our DAAD project Short introduction to the XCTL system Educational project work: tasks, theses,

statistics Evolution of project documents Evolution of the software system

DAAD Workshop Ravda, September, 18th - 23th, 2006

29

Evolution of the

Project Website

Statistics

DAAD Workshop Ravda, September, 18th - 23th, 2006

30

Project documents: detailed overview

DAAD Workshop Ravda, September, 18th - 23th, 2006

31

Number of project documents (total and per year)

0

200

400

600

800

1.000

1.200

1.400

1.600

1998 1999 2000 2001 2002 2003 2004 2005 2006

Documents total

Documents / Year

1.530

296

DAAD Workshop Ravda, September, 18th - 23th, 2006

32

Number of software development documents (per year)

0

5

10

15

20

25

30

35

40

1998 1999 2000 2001 2002 2003 2004 2005 2006

Errors

Test

Design

Implementation

Analysis & Definition

DAAD Workshop Ravda, September, 18th - 23th, 2006

33

0

20

40

60

80

100

120

140

160

1998 1999 2000 2001 2002 2003 2004 2005 2006

Errors

Test

Design

Implementation

Analysis & Definition141

91

55

40

25

Number of software development documents (total number)

DAAD Workshop Ravda, September, 18th - 23th, 2006

34

0

10

20

30

40

50

60

1998 1999 2000 2001 2002 2003 2004 2005 2006

Project management Multimedia Project

Tools

Publications

User Doc.

Other project documents (per year)

DAAD Workshop Ravda, September, 18th - 23th, 2006

35

Other project documents (total number)

0

50

100

150

200

250

1998 1999 2000 2001 2002 2003 2004 2005 2006

Project management

Multimedia Project

Tools

Publications

User Doc.

14

29

76

109

196

DAAD Workshop Ravda, September, 18th - 23th, 2006

36

For the sake of overview:

Table ofdevelopersdocuments

DAAD Workshop Ravda, September, 18th - 23th, 2006

37

Size of software specification and number of errors found in the legacy system

Behavioural specification (existing parts)

Requirements specification (new parts)

Pages Errors

166

165 -

214

Total 331

DAAD Workshop Ravda, September, 18th - 23th, 2006

38

Agenda

Motivation XCTL and our DAAD project Short introduction to the XCTL system Educational project work: tasks, theses,

statistics Evolution of project documents Evolution of the software system

DAAD Workshop Ravda, September, 18th - 23th, 2006

39

Evolution of the

Software System

Statistics

DAAD Workshop Ravda, September, 18th - 23th, 2006

40

Program analysis by “Understand C++“

Basic LegacySystem

Oct.98

+AutomAdjust

May.01

Archi-tectur

Jul.01

+Diff/Refl.

Feb.02

+Protocol

Jan.03

32-Bit-Port.

Jul.03

+Psd

Aug.04

Archi-tecture

Nov.04

+842-Motor

Sep.06

                   

Classes 84 94 97 97 134 142 155 155 173

Files 51 58 65 66 113 118 123 157 168

Functions 1088 1167 1170 1192 2042 2204 2471 2471 2696

Lines 29534 38910 41003 42694 58402 65260 68453 68925 79499

Lines Blank 2763 4192 4435 4742 7715 9053 9624 9804 10674

Lines Code 22488 25702 26629 27649 35997 41630 43141 43239 50079

Lines Comment 2819 7168 8105 8428 13176 13686 16213 16300 18350

Lines Inactive 528 792 811 871 991 923 678 658 929

Decl. Statements 4461 4802 4990 4993 7480 7945 8820 8877 9703

Exec. Statements 13648 15475 16055 16819 22624 23210 25144 25143 28371

Comment/Code 0.13 0.28 0.30 0.30 0.37 0.33 0.38 0.38 0.37

Milestone versions

DAAD Workshop Ravda, September, 18th - 23th, 2006

41

1.000

1.500

2.000

2.500

3.000

1 2 3 4 5 6 7 8 9

0

30

60

90

120

150

180

Au

sg

an

gs

sy

ste

m

Ok

t. 1

99

9

.+ A

uto

m.

Ju

sta

ge

Ma

i 2

00

1

ne

ue

Arc

hite

ktu

r

Ju

l. 2

00

1

.+ D

iffr

./R

efl.

Fe

b.

20

02

.+ P

roto

ko

ll

Ja

n.

20

03

32

Bit-P

ort

ieru

ng

Ju

l. 2

00

3

.+ P

SD

Au

g.

20

04

ne

ue

Arc

hite

ktu

r

No

v.

20

04

.+ 8

42

er

Mo

tor

Se

p.

20

06

1.000

1.500

2.000

2.500

3.000

Basic System

Oct. 1998

+ Auto

. Adjustm

ent

May 2001Arc

hitectu

re

Jul. 2001

+ Diff

r./Refl.

Feb. 2002

+ Pro

tocol

Jan. 2003

32 Bit P

ort

Jul. 2003

PSD-Reeng.

Aug. 2004

Archite

cture

Nov. 2004

+ 842-Moto

r

Sep. 2006

Functions

Classes

Files51

168

84

1.088

2.696

173

Program components: files, classes, functions

DAAD Workshop Ravda, September, 18th - 23th, 2006

42

Program statements: executable and declarative

0

3.000

6.000

9.000

12.000

15.000

18.000

21.000

24.000

27.000

30.000

1 2 3 4 5 6 7 8 9

Basic

Sys

tem

Oct. 1

998

+ Auto

. Adju

stm

ent

May

200

1Arc

hitect

ure

Jul.

2001

+ Diff

r./Ref

l.

Feb. 2

002

+ Pro

toco

l

Jan. 2

003

32 B

it Port.

Jul.

2003

PSD-Ree

ng.

Aug. 200

4

Archite

cture

Nov. 2

004

+ 842

-Moto

r

Sep. 2

006

Executable Statements

Declarative Statements

4.461

13.648

9.703

28.371

DAAD Workshop Ravda, September, 18th - 23th, 2006

43

Program length and ratio comments/code

2.000

8.000

14.000

20.000

1 2 3 4 5 6 7 8 9

20.000

40.000

60.000

80.000

1 2 3 4 5 6 7 8 9

Basic System

Oct. 1998

+ Auto

. Adjustm

ent

May 2001Arc

hitectu

re

Jul. 2001

+ Diff

r./Refl.

Feb. 2002

+ Pro

tocol

Jan. 2003

32 Bit P

ort.

Jul. 2003

PSD-Reeng.

Aug. 2004

Archite

cture

Nov. 2004

+ 842-Moto

r

Sep. 2006

2.000

8.000

14.000

20.000

20.000

40.000

60.000

80.000

Lines Comment

Lines

Lines Code

Lines Blank

0,13 0,28 0,30 0,30 0,37 0,33 0,38 0,38 0,37

Ratio Comment/Code

18.350

10.674

50.079

79.499

2.8192.763

22.488

29.534

DAAD Workshop Ravda, September, 18th - 23th, 2006

44

Summary XCTL as a real-life real-client project course: useful

for motivation, learning effects … Reuse of the project necessary (efforts for staff and

students) Reuse and evolution of the system

requires: strict project management e.g. project website, version management …

XCTL: continuous evolution over years, with permanently changing project members

XCTL is an exceptional project: no firm deadline, could run over years

XCTL: strong requirements to security could be satisfied by a strict tool-based regression testing