Title: XCTL - during the last year and more
1XCTL - during the last year and more
- Uli Sacklowski
- Klaus Bothe
- Kay Schuetzler
2From the workshop programs 2003 - 2006
Workshop Software Engineering Education and
Reverse Engineering
2003 2005
K. Schützler, U. Sacklowski, K. BotheXCTL
during the last year
2006
K. Schützler, U. Sacklowski, K. BotheXCTL
during the last year and more
3Agenda
- 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
4Importance 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)
5Importance of real-world case studiesRPRCC
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 (RPRCCs)
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.
6Importance of real-world case studiesSWECP
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.
7Agenda
- 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
8Cooperative 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
9Agenda
- 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
10Short 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)
11XCTL working place
X-ray topography camera
12Presenting structuresas graphics
Graphic of an atom core with its e-shell
- Measuring method
- Diffractometry/Reflectometry
13Features 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)
14Agenda
- 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
15Educational 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)
16Basic one-semester real-project team work
- Tasks 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
17Advanced project work Areas of diploma theses
(MA, BA)
TestautomationATOS (6 theses)
Porting to anotherenviromentMicrosoft Visual
C 6.0 IDE(3 thesis)
Metrics forquality assessment(1 BA thesis)
Environment simulator(1 BA thesis)
Correctness of user interfaces (2 theses)
Reengineering ofuser interfaces(2 thesis)
XCTL system
Architecture recovery (2 theses)
Software reconstruction through refactoring(1
theses)
New and extendeduse cases(6 thesis)
Multi-mediavisualisationof functions(1 BA
thesis)
Formal Specification(1 thesis)
- Summary
- 33 thesis (MA,BA)
- 14 men years
18Advanced project work particular activities
- Cooperation
- Meetings
- Team work
Requirements negotiation with users
XCTL system
Version control cvs
- Reverse Engineering develop documents at a
higher abstraction level - Requirements documents
- design
- understand and comment code
- Find and document errors
Design test cases Regression Testing ATOS
19Diploma theses at HU (1)
- Kay SchützlerRecovery of subsystems by use case
analysis and file restructuring demonstrated by
the XCTL system, April 2001 - Sebastian Freund, Derrick HeppFrom reverse
engineering to program extension automatic
adjustment of a X-ray topogrophy control program,
May 2001 - Bernhard BussFrom 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
20Diploma 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 LetzelAutomating 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
21Diploma 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 HirthAutomatic generation of testscript
kommands by capturing of user inputs in GUI
programmes, September 2005
22Some important BA themes (1)
- Stefan LüzkendorfSoftwaremetrics of XCTL using
the McCabe-Tool, May 1999 - Marlies GollnickReverse Engineering des
Subsystems Topographie, Oct. 2000 - Kay Schützler Environment simulation of
detectors, Oct. 2000 - Sebastian Freund, Derrick HeppSpecification of
an interface to motor devices the C interface of
the XCTL program, Oct. 2000 - Jan Picard, Rene Harder, Alexander
PascholdReverse Engineering of the subsystem
Detectors, Nov. 2000
23Some important BA themes (2)
- Jens KlierReverse Engineering Reengineering of
the initialisation file structure of the XCTL
program to increase the security, Jun. 2001 - Johann Letzel, Jens HanischAutomatic regression
test fo the XCTL System, Jan. 2002 - Andreas WenzelXCTL project Multimedia
Presentation, Mar. 2005
24Current 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
25Statistics
- Project participants and diploma theses
26Project participants and diploma theses
- Total numbers
- Beginners (basic one-semester work) 131
- Advanced
31 - Diploma thesis
21 - Other fundamental theses (e.g. BA) 13
27Advanced project work and diploma theses
28Agenda
- 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
29Statistics
Evolution of the Project Website
30Project documents detailed overview
31Number of project documents (total and per year)
32Number of software development documents (per
year)
33Number of software development documents (total
number)
34Other project documents (per year)
35Other project documents (total number)
36For the sake of overviewTable
of developers documents
37Size 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
331
Total
38Agenda
- 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
39Statistics
Evolution of the Software System
40Program analysis by Understand C
Basic LegacySystemOct.98 AutomAdjustMay.01 Archi-tecturJul.01 Diff/Refl.Feb.02 ProtocolJan.03 32-Bit-Port.Jul.03 PsdAug.04 Archi-tectureNov.04 842-MotorSep.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
41Program components files, classes, functions
42Program statements executable and declarative
43Program length and ratio comments/code
44Summary
- 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