Understanding Technical Debt and Assumption-Related Challenges in the Domain of Cyber-Physical Systems
Licentiate thesis, 2015

In today's world software is contributing a substantial part of the new functionalities and innovations of the automotive industry. So the size and the complexity of the software is dramatically increasing with time, which comes with additional challenges, e.g., implicit assumptions or technical debt. The problems of assumptions have been identified as one of the key reasons to software system projects and catastrophic system failures. On the other hand, unreasonable accumulation of technical debt can seriously reduce the reusability and maintainability of the software. This thesis elaborates the idea of unveiling and understanding technical debt and challenges of assumptions for software by applying model-driven engineering (MDE) on the example of a self-driving car. First, we explore the challenges of assumptions in various areas of software and system development and show how assumptions are related to other knowledge artifacts. Then we focus on reporting advantages and disadvantages of different approaches to capture and automatically check architectural assumptions. Incorporating formal methods in a rigorous assumption management tool supports various aspects of assumptions such as traceability. From our experience with formalizing assumptions, such an approach toward managing assumptions needs to combine several formal methods/languages. Developing and using a dedicated tool for assumption management is possible but the practicality of using such a tool in terms of time, budget, and manpower needs to be researched. Considering the heavy weight of a dedicated rigorous formal approach, a practical step toward managing assumptions is to better incorporate the capabilities of the tools that are already being used in a project. Using existing capabilities is a light-weight approach because it does not cost extra money to procure new tools, train developers to use the new tools, and adjust the development process to incorporate it. To check the feasibility of such a light-weight assumption management approach, we perform a study on the development of a self-driving miniature vehicle. We particularly check whether MDE tools can be leveraged to capture assumptions related to the sensor management. We also explain how capturing assumptions reduces technical debt related to knowledge distribution and documentation. From our experience with the self-driving miniature vehicle development, we see that MDE reduces knowledge debt through successfully capturing structural architectural assumptions and it reduces code debt and environmental debt through automated code generation. Thus, MDE is able to leverage the challenges of assumptions to the extent of capturing and checking them automatically, hence, reducing knowledge debt without necessarily using a dedicated assumptions management tool. Our contributions include realizing a light-weight assumption management approach through MDE and our preliminary results show that legacy or 3rd-party code has influence in the development of technical debt.

Technical Debt

Cyber-Physical Systems

Assumptions

Software Engineering

Room 520, Jupiter Building, Campus Lindholmen, Hörselgången 5, 417 56 Göteborg
Opponent: Dr. Jan Carlson, Associate Professor, Division of Software Engineering, Mälardalen University, Sweden

Author

Md Abdullah Al Mamun

Chalmers, Computer Science and Engineering (Chalmers), Software Engineering (Chalmers)

Engineering the Hardware/Software Interface for Robotic Platforms – A Comparison of Applied Model Checking with Prolog and Alloy

Proceedings of the 4th International Workshop on Domain-Specific Languages and models for ROBotic systems,;(2013)

Other conference contribution

Explicating, Understanding and Managing Technical Debt from Self-Driving Miniature Car Projects

Proceedings of the 30th IEEE International Conference on Software Maintenance and Evolution (ICSME),;(2014)p. 11-18

Paper in proceeding

MDE-based Sensor Management and Verification for a Self-Driving Miniature Vehicle

13th ACM Workshop on Domain-Specific Modeling, DSM 2013; Indianapolis, IN; United States,;(2013)p. 1-6

Paper in proceeding

COTS-Architecture with a Real-Time OS for a Self-Driving Miniature Vehicle

Proceedings of Workshop ASCoMS (Architecting Safety in Collaborative Mobile Systems) of the 32nd International Conference on Computer Safety, Reliability and Security,;(2013)p. 411-422

Paper in proceeding

Review and Challenges of Assumptions in Software Development

Second Analytic Virtual Integration of Cyber-Physical Systems Workshop (AVICPS),;(2011)

Paper in proceeding

Areas of Advance

Information and Communication Technology

Subject Categories

Software Engineering

Learning and teaching

Pedagogical work

Room 520, Jupiter Building, Campus Lindholmen, Hörselgången 5, 417 56 Göteborg

Opponent: Dr. Jan Carlson, Associate Professor, Division of Software Engineering, Mälardalen University, Sweden

More information

Created

10/8/2017