1 / 44

XCTL - during the last year and more …

XCTL - during the last year and more …. Uli Sacklowski Klaus Bothe Kay Schuetzler. 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:.

shirlyn
Download Presentation

XCTL - during the last year and more …

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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 …

  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

  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)

  5. 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.”

  6. 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.”

  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

  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

  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

  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)

  11. XCTL working place X-ray topography camera

  12. Presenting structuresas graphics Graphic of an atom core with its e-shell • Measuring method: Diffractometry/Reflectometry

  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)

  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

  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)

  16. Basic 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

  17. Advanced project work: Areas of diploma theses (MA, BA) Testautomation:ATOS … (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-media:visualisationof functions(1 BA thesis) Formal Specification(1 thesis) • Summary: • 33 thesis (MA,BA) • 14 men years

  18. Advanced project work: particular activities Requirements negotiation with users • Cooperation: • Meetings • Team work 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

  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

  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

  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

  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

  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

  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

  25. Statistics Project participants and diploma theses

  26. Beginners Advanced Diploma Theses 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

  27. 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 2000 2001 2002 2003 2004 2005 2006 1999 Advanced project work and diploma theses

  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

  29. Statistics Evolution of the Project Website

  30. Project documents: detailed overview

  31. 1.530 Documents total 296 Documents / Year Number of project documents (total and per year)

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

  33. Analysis & Definition 141 Test 91 Design 55 40 Implementation Errors 25 Number of software development documents (total number)

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

  35. Project management 196 Multimedia Project 109 Tools 76 Publications User Doc. 29 14 Other project documents (total number)

  36. For the sake of overview:Table of developers documents

  37. 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 331 Total

  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

  39. Statistics Evolution of the Software System

  40. Program analysis by “Understand C++“ Milestone versions

  41. 3.000 2.696 2.500 2.000 1.500 1.088 Functions 1.000 173 168 Classes 84 51 Files + Diffr./Refl. Feb. 2002 + Protocol Jan. 2003 32 Bit Port Jul. 2003 PSD-Reeng. Aug. 2004 Architecture Nov. 2004 + 842-Motor Sep. 2006 Basic System Oct. 1998 Architecture Jul. 2001 + Auto. Adjustment May 2001 Program components: files, classes, functions

  42. 28.371 Executable Statements 13.648 9.703 Declarative Statements 4.461 PSD-Reeng. Aug. 2004 32 Bit Port. Jul. 2003 + Diffr./Refl. Feb. 2002 + Protocol Jan. 2003 Architecture Jul. 2001 Architecture Nov. 2004 + 842-Motor Sep. 2006 Basic System Oct. 1998 + Auto. Adjustment May 2001 Program statements: executable and declarative

  43. 79.499 80.000 60.000 50.079 Lines 40.000 29.534 Lines Code 22.488 20.000 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 0,37 0,30 0,33 0,30 0,38 0,38 0,37 32 Bit Port. Jul. 2003 PSD-Reeng. Aug. 2004 Architecture Jul. 2001 + 842-Motor Sep. 2006 + Protocol Jan. 2003 Architecture Nov. 2004 + Diffr./Refl. Feb. 2002 Basic System Oct. 1998 + Auto. Adjustment May 2001 Program length and ratio comments/code

  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

More Related