Applying and Adapting Software Engineering Methods and Tools to CSE Research Projects
The goal of this project is to apply software engineering methods and tools to the field of CSE and use the gained experiences to continuously evaluate and improve them. In particular, the applications of a uniform project model will be in our focus. The tool-supported approach of this project model can externalize all artefacts relevant for a project in one central repository. These can be requirements, analysis and design objects, but also project-management related elements such as team members or individual tasks. Also explicit and implicit relations between these artefacts are captured, which enables traceability. For example, this allows to trace the requirements of an algorithm to the run time complexity of its implementation.
This kind of approach has its strengths in particular in a complex environment with high rates of change. Therefore, we want to adopt and apply the uniform project model to CSE and use it to investigate the following core topics:
- Managing changes in the model of the system under design: We will investigate techniques for change management to facilitate changes on the model and to predict their effects. This is important due to the high rate of change which can be expected in CSE projects (requirements, technology, or selection of different algorithms).
- Managing changes in the process model: We expect CSE projects to require a wide range from traditional to agile or even mixed processes. Also changes to the process due to personal fluctuation and dynamic project environments are likely. Therefore, we will investigate approaches to dynamically adapt and shift the development process.
- Model visualisation: To understand the complex dependencies in CSE projects, in particular when changes occur in the system or development process, an innovative representation is required. The research of an appropriate visualisation can simplify decision-making processes for developers.
We will investigate the following three CSE research sub-projects:
- MPP’s ATLAS participation as an existing large and globally distributed project. One Ph.D. student will integrate and evaluate our software engineering approach as a part of the ATLAS team (Prof. Bethke).
- Computational Steering as a mid-size, emerging project. We will integrate the approach in this project and, in particular, investigate research topic 3 (model visualisation) in close cooperation with Prof. Westermann´s chair.
- SEISSOL as an existing small project, which will be integrated by a Ph.D. student at Prof. Bunge’s chair. Two Ph.D. students will work cross-project at Prof. Brügge’s chair and at Prof. Kemper’s chair to investigate the first two research topics: managing changes in the product and in the process model.
In Subproject SeisSol, to improve the software comprehensibility and maintainability, we work on three interrelated parts, namely, a novel domain specific requirements model for scientific computing, recovering traceability links between source code and documentation and reengineering SeisSol.
In subproject ATLAS, we are working on evaluating how the level of quality awareness and importance within scientific software development paradigm influence the practices of bug tracking. In addition, we are investigating whether automating bug triaging will influence the rate of bug fixes and the quality of bug tracking.
|Prof. Bernd Brügge, Ph.D. (coordination)||Applied Software Engineering|
|Prof. Dr. Siegfried Bethke||Particle Physics|
|Prof. Dr. Hans-Peter Bunge||Geophysics|
|Prof. Alfons Kemper, Ph.D.||Database Systems|
|Prof. Dr. Rüdiger Westermann||Computer Graphics & Visualization|
|Dr. Hoda M. Naguib|
|Dr. Sebastian Hagen|
|Dr. Yang Li|
Poster (PDF) - Yang Li
Poster (PDF) - Yang Li
- Hoda Naguib. Issue Tracking Metrics and Assignee Recommendation in Scientific Software Projects, Dissertation, Department of Informatics, Technical University of Munich, 2015
- Yang Li. DRUMS: Domain-specific Requirements Modeling for Scientists, Dissertation, Department of Informatics, Technical University of Munich, 2015
- Yang Li, Nitesh Narayan, Jonas Helming, and Maximilian Koegel. A domain specific requirements model for scientific computing: NIER track. In Proceeding of the 33rd international conference on Software engineering (ICSE '11). ACM, New York, NY, USA, 848-851.
- Yang Li. Reengineering a scientific software and lessons learned . In Proceeding of the 4th international workshop on Software engineering for computational science and engineering (SECSE '11). ACM, New York, NY, USA, 41-45.
- Yang Li, Matteo Harutunian, Nitesh Narayan, Bernd Bruegge and Gerrit Buse. Requirements Engineering for Scientific Computing: a Model-based Approach . To be appeared in the proceedings of the e-Science workshops, 2011 7th IEEE International Conference on e-Science.
- Nitesh Narayan, Yang Li, Jonas Helming, Maximilian Koegel. Interaction Centric Requirements Traceability . In the proceedings of 6th International Conference on Evaluation of Novel Approaches to Software Engineering, Beijing - China, 2011
- Jonas Helming, Maximilian Koegel, Hoda Naguib, Miriam Schmidberger, Florian Schneider, Bernd Brügge. An Analysis of Tool-Based Research in Software Engineering. COMPSAC 2010: 53-61.
- Hoda Naguib, Yang Li (Position Paper). Applying software engineering methods and tools to CSE research projects . In Procedings of ICCS 2010 Volume 1, Issue 1, May 2010, Pages 1505-1509
- S. Hagen. Algorithms for the Efficient Verification and Planning of Information Technology Change Operations . Dissertation, 2013
- Hoda Naguib, Nitesh Narayan, Bernd Brügge, Dina Helal. Bug report assignee recommendation using activity profiles. In Proceedings of MSR 2013, Pages 22-30