XCTL during the last year and more Uli

  • Slides: 44
Download presentation
XCTL during the last year and more … Uli Sacklowski Klaus Bothe Kay Schuetzler

XCTL during the last year and more … Uli Sacklowski Klaus Bothe Kay Schuetzler DAAD Workshop Ravda, September, 18 th - 23 th, 2006

From the workshop programs 2003 - 2006 Workshop Software Engineering Education and Reverse Engineering

From the workshop programs 2003 - 2006 Workshop Software Engineering Education and Reverse Engineering 2003 – 2005: K. Schützler, U. Sacklowski, K. Bothe: XCTL during the last year 2006: K. Schützler, U. Sacklowski, K. Bothe: XCTL during the last year and more … DAAD Workshop Ravda, September, 18 th - 23 th, 2006 2

Agenda n n n Motivation XCTL and our DAAD project Short introduction to the

Agenda n n n 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, 18 th - 23 th, 2006 3

Importance of case studies “Well chosen case studies are often the most useful material,

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, 18 th - 23 th, 2006 4

Importance of real-world case studies: RPRCC workshop at CSEET 2006 RPRCC = Real-Projects for

Importance of real-world case studies: RPRCC workshop at CSEET 2006 RPRCC = Real-Projects for Real-Clients courses “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)” “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. ” DAAD Workshop Ravda, September, 18 th - 23 th, 2006 5

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

Importance of real-world case studies: SWECP workshop at CSEET 2006 SWECP = Software Engineering Course Projects “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. ” DAAD Workshop Ravda, September, 18 th - 23 th, 2006 6

Agenda n n n Motivation XCTL and our DAAD project Short introduction to the

Agenda n n n 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, 18 th - 23 th, 2006 7

Cooperative work on XCTL within the DAAD project n n Plovdiv: A refactoring based

Cooperative work on XCTL within the DAAD project n n 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, 18 th - 23 th, 2006 8

Agenda n n n Motivation XCTL and our DAAD project Short introduction to the

Agenda n n n 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, 18 th - 23 th, 2006 9

Short introduction to the XCTL system n n Hardware controlling software used in experimental

Short introduction to the XCTL system n n Hardware controlling software used in experimental physics Usage area: n n n 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, 18 th - 23 th, 2006 10

XCTL working place X-ray topography camera DAAD Workshop Ravda, September, 18 th - 23

XCTL working place X-ray topography camera DAAD Workshop Ravda, September, 18 th - 23 th, 2006 11

Presenting structures as graphics Graphic of an atom core with its e-shell Measuring method:

Presenting structures as graphics Graphic of an atom core with its e-shell Measuring method: Diffractometry/Reflectometry DAAD Workshop Ravda, September, 18 th - 23 th, 2006 12

Features of the XCTL system n n n Control motors (e. g. on sample

Features of the XCTL system n n n Control motors (e. g. on sample holder) Control x-ray detecting devices Control measurement processes n n Adjust samples (before and during measurements) Evaluate and display results (during and after measurements) DAAD Workshop Ravda, September, 18 th - 23 th, 2006 13

Agenda n n n Motivation XCTL and our DAAD project Short introduction to the

Agenda n n n 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, 18 th - 23 th, 2006 14

Educational project work XCTL: real-project, real-client (RPRCC) Two kinds of project work: n n

Educational project work XCTL: real-project, real-client (RPRCC) Two kinds of project work: n n 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, 18 th - 23 th, 2006 15

Basic one-semester real-project team work Tasks and goals: n Become familiar with a new

Basic one-semester real-project team work Tasks and goals: n Become familiar with a new application domain n Experiment with a real-life software system n Review of requirements and behavioural specifications n Compare the specification with the behaviour of the system n Determine test cases based on the classification tree method n Reengineering non-ergonomic windows of GUI n Work in a team DAAD Workshop Ravda, September, 18 th - 23 th, 2006 16

Advanced project work: Areas of diploma theses (MA, BA) Metrics for quality assessment (1

Advanced project work: Areas of diploma theses (MA, BA) Metrics for quality assessment (1 BA thesis) Reengineering of user interfaces (2 thesis) Software reconstruction through refactoring (1 theses) Summary: • 33 thesis (MA, BA) • 14 men years Porting to another enviroment Environment simulator (1 BA thesis) Microsoft Visual C++ 6. 0 IDE Correctness of user interfaces (2 theses) (3 thesis) XCTL system New and extended use cases (6 thesis) Test automation: ATOS … (6 theses) Formal Specification (1 thesis) DAAD Workshop Ravda, September, 18 th - 23 th, 2006 Architecture recovery (2 theses) Multi-media: visualisation of functions (1 BA thesis) 17

Advanced project work: particular activities Requirements negotiation with users Version control: cvs Design test

Advanced project work: particular activities Requirements negotiation with users Version control: cvs Design test cases; Regression Testing: ATOS XCTL system Cooperation: • Meetings • Team work Reverse Engineering: develop documents at a higher abstraction level • Requirements documents • design • understand comment code • Find and document errors DAAD Workshop Ravda, September, 18 th - 23 th, 2006 18

Diploma theses at HU (1) n n Kay Schützler: Recovery of subsystems by use

Diploma theses at HU (1) n n 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, 18 th - 23 th, 2006 19

Diploma theses at HU (2) n n n Stefan Lützkendorf: Software test in reverse

Diploma theses at HU (2) n n n 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, 18 th - 23 th, 2006 20

Diploma theses at HU (3) n n n Jan Picard: Software reconstruction through refactoring,

Diploma theses at HU (3) n n n 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, 18 th - 23 th, 2006 21

Some important BA themes (1) n n n Stefan Lüzkendorf: Softwaremetrics of XCTL using

Some important BA themes (1) n n n Stefan Lüzkendorf: Softwaremetrics of XCTL using the Mc. Cabe-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, 18 th - 23 th, 2006 22

Some important BA themes (2) n n n Jens Klier: Reverse Engineering: Reengineering of

Some important BA themes (2) n n n 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, 18 th - 23 th, 2006 23

Current work in September 2006 Theses (Diploma): Development environment, Reengineering, sophisticated subjects n n

Current work in September 2006 Theses (Diploma): Development environment, Reengineering, sophisticated subjects n n n n n 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, 18 th - 23 th, 2006 24

Statistics Project participants and diploma theses DAAD Workshop Ravda, September, 18 th - 23

Statistics Project participants and diploma theses DAAD Workshop Ravda, September, 18 th - 23 th, 2006 25

Project participants and diploma theses Beginners Advanced Diploma Theses Total numbers: • Beginners (basic

Project participants and diploma theses Beginners Advanced Diploma Theses Total numbers: • Beginners (basic one-semester work): • Advanced: • Diploma thesis: DAAD Workshop Ravda, September, 18 th -fundamental 23 th, 2006 theses (e. g. BA): • Other 131 31 21 13 26

Advanced project work and diploma theses Lange (D) Graupner (D) Kraus (D) Tegos (D)

Advanced project work and diploma theses Lange (D) Graupner (D) Kraus (D) Tegos (D) Janitschek (D) Hirth (D) Damm (D) Treysse Seffler (D) Reinecker (D) Kullmann (D) Thiel (D) Letzel (D) Hanisch (D) Paschold (D) Harder (D) Picard (D) Klier (D) Müller (D) Ullrich (D) Bernd (D) Wenzel (S) Schützler (D) Lützkendorf (D) Freund (D) Hepp (D) Lühnsdorf Schad Gollnick (S) Auerbach Wolf 1999 2000 2001 2002 2003 DAAD Workshop Ravda, September, 18 th - 23 th, 2006 2004 2005 2006 27

Agenda n n n Motivation XCTL and our DAAD project Short introduction to the

Agenda n n n 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, 18 th - 23 th, 2006 28

Statistics Evolution of the Project Website DAAD Workshop Ravda, September, 18 th - 23

Statistics Evolution of the Project Website DAAD Workshop Ravda, September, 18 th - 23 th, 2006 29

Project documents: detailed overview DAAD Workshop Ravda, September, 18 th - 23 th, 2006

Project documents: detailed overview DAAD Workshop Ravda, September, 18 th - 23 th, 2006 30

Number of project documents (total and per year) 1. 530 Documents total 296 Documents

Number of project documents (total and per year) 1. 530 Documents total 296 Documents / Year DAAD Workshop Ravda, September, 18 th - 23 th, 2006 31

Number of software development documents (per year) Analysis & Definition Test Design Implementation Errors

Number of software development documents (per year) Analysis & Definition Test Design Implementation Errors DAAD Workshop Ravda, September, 18 th - 23 th, 2006 32

Number of software development documents (total number) Analysis & Definition 141 Test 91 Design

Number of software development documents (total number) Analysis & Definition 141 Test 91 Design 55 Implementation 40 Errors 25 DAAD Workshop Ravda, September, 18 th - 23 th, 2006 33

Other project documents (per year) Project management Multimedia Project Tools Publications User Doc. DAAD

Other project documents (per year) Project management Multimedia Project Tools Publications User Doc. DAAD Workshop Ravda, September, 18 th - 23 th, 2006 34

Other project documents (total number) Project management 196 Multimedia Project 109 Tools 76 Publications

Other project documents (total number) Project management 196 Multimedia Project 109 Tools 76 Publications User Doc. 29 14 DAAD Workshop Ravda, September, 18 th - 23 th, 2006 35

For the sake of overview: Table of developers documents DAAD Workshop Ravda, September, 18

For the sake of overview: Table of developers documents DAAD Workshop Ravda, September, 18 th - 23 th, 2006 36

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

Size of software specification and number of errors found in the legacy system Pages Errors Behavioural specification (existing parts) 166 214 Requirements specification (new parts) 165 - Total 331 DAAD Workshop Ravda, September, 18 th - 23 th, 2006 37

Agenda n n n Motivation XCTL and our DAAD project Short introduction to the

Agenda n n n 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, 18 th - 23 th, 2006 38

Statistics Evolution of the Software System DAAD Workshop Ravda, September, 18 th - 23

Statistics Evolution of the Software System DAAD Workshop Ravda, September, 18 th - 23 th, 2006 39

Program analysis by “Understand C++“ Milestone versions Basic Legacy System +Autom Adjust Architectur +Diff/

Program analysis by “Understand C++“ Milestone versions Basic Legacy System +Autom Adjust Architectur +Diff/ Refl. +Proto col 32 -Bit. Port. +Psd Architecture +842 Motor Oct. 98 May. 01 Jul. 01 Feb. 02 Jan. 03 Jul. 03 Aug. 04 Nov. 04 Sep. 06 Classes 84 94 97 97 134 142 155 173 Files 51 58 65 66 113 118 123 157 168 1088 1167 1170 1192 2042 2204 2471 2696 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 2819 7168 8105 8428 13176 13686 16213 16300 18350 528 792 811 871 991 923 678 658 929 4461 4802 4990 4993 7480 7945 8820 8877 9703 13648 15475 16055 16819 22624 23210 25144 25143 28371 Comment/Code 0. 13 September, 0. 28 0. 30 2006 0. 37 DAAD Workshop Ravda, 18 th - 23 th, 0. 33 0. 38 Functions Lines Comment Lines Inactive Decl. Statements Exec. Statements 0. 3740

Program components: files, classes, functions 3. 000 2. 696 2. 500 2. 000 1.

Program components: files, classes, functions 3. 000 2. 696 2. 500 2. 000 1. 500 1. 088 Functions 1. 000 173 168 Classes 84 51 em st 8 y S c 99 si t. 1 a B Oc Files t en tm us 1 j d 0 A 0 o. ay 2 t u A M re tu c 1 te hi 200 c Ar Jul. l. ef R / 2. ffr 200 i D + eb. F l co o ot 03 Pr. 20 + an J t or P it 03 B. 20 2 3 ul J DAAD + Workshop Ravda, September, 18 th - 23 th, 2006 re g. tu 4 en 4 c e 0 te 0 R hi. 20 D-. 20 c S r P ug A ov N A or ot 6 M 2 - 00 84 p. 2 + e S 41

Program statements: executable and declarative 28. 371 Executable Statements 13. 648 9. 703 Declarative

Program statements: executable and declarative 28. 371 Executable Statements 13. 648 9. 703 Declarative Statements 4. 461 t en tm us 1 j d 00. A y 2 o ut a A M m te s 8 Sy 9 c . 19 i as t B Oc re tu c 1 ite 200 h rc l. A Ju l. ef R 2 r. / 0 iff. 20 D + Feb l co 3 o ot 00 Pr. 2 + an J . rt o P 3 it 0 B. 20 32 Jul . ng e e 04 -R 20 D. PS ug A re tu 4 c te 0 hi. 20 c r A Nov or ot 6 -M 00 42. 2 8 + Sep + DAAD Workshop Ravda, September, 18 th - 23 th, 2006 42

Program length and ratio comments/code 79. 499 80. 000 60. 000 50. 079 Lines

Program length and ratio comments/code 79. 499 80. 000 60. 000 50. 079 Lines 40. 000 29. 534 20. 000 Lines Code 22. 488 20. 000 18. 350 14. 000 10. 674 Lines Comment 8. 000 Lines Blank 2. 819 2. 763 2. 000 Ratio Comment/Code 0, 13 0, 28 t m en te m s t s Sy 8 ju 01 c 199 i d s t. . A 20 Ba Oc to ay u A M + 0, 30 re tu c ite 01 ch l. 20 r A Ju 0, 30 l. ef R / 2. ffr 00 Di b. 2 + e F 0, 37 0, 33 l co o 3 t ro 200 P + an. J t. or P 3 t Bi 200 32 ul. J DAAD Workshop Ravda, September, 18 th - 23 th, 2006 0, 38 g. re tu 4 en 4 c e 0 R ite 00 D-. 20 ch v. 2 S r g P u A o A N 0, 37 or ot 6 M 2 - 00 84 p. 2 + e S 43

Summary n n n XCTL as a real-life real-client project course: useful for motivation,

Summary n n n 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: n n n 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 DAAD Workshop Ravda, September, 18 th - 23 th, 2006 44