Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Characterizing Implicit Communal Components as Technical Debt in Automotive Software Systems

Characterizing Implicit Communal Components as Technical Debt in Automotive Software Systems

I gave this talk at the SE 2017 Conference in Hannover.

Andreas Vogelsang

February 22, 2017
Tweet

More Decks by Andreas Vogelsang

Other Decks in Research

Transcript

  1. Characterizing Implicit Communal Components as Technical Debt in Automotive Software

    Systems Software Engineering, Hannover, 2017 originally presented at WICSA 2016 February 22, 2017 Andreas Vogelsang1, Henning Femmer2, Maximilian Junker2 @andivogelsang 1Technische Universität Berlin 2Technische Universität München
  2. Context: Automotive Software Development 2 Features Signal catalog F1 F2

    C1 C2 C3 Feature Architecture C4 C5 Implicit dependencies between components/features by ad hoc reuse of signals from the bus
  3. F1 • A communal component reads or writes signals of

    components of other features • An implicit communal component is a communal component associated with a feature Implicit Communal Components 4 C1 C2 C3 C4 C5 C7 C6 F2 F3
  4. F1 • A communal component reads or writes signals of

    components of other features • An implicit communal component is a communal component associated with a feature • An explicit communal component is a communal component associated with a dedicated platform component layer (PCL). Implicit Communal Components 5 C1 C2 C3 C4 C5 C7 C6 F2 F3 PCL
  5. To refactor or not to refactor… 6 Implicit communal components

    increase costs for… Implicit communal components save costs for… Technical debt metaphor Interest Principal
  6. Study Design Research questions: RQ1: How many implicit communal components?

    RQ2: How are feature dependencies distributed over implicit communal components? RQ3: What is the interest of implicit communal components? RQ4: What is the potential refactoring effort? Study Objects: 7 Automated analysis of feature architectures Stakeholder interviews to extract cost factors
  7. Study Results 9 • RQ2: How are feature dependencies distributed

    over implicit communal components? We need to refactor < 10 % of implicit communal components to save > 90% of feature dependencies
  8. Discussion • Implicit communal components as technical debt – Currently

    introduced unintentionally – Developers and managers not aware of long-term costs – Fosters rethinking current architectures (e.g., introduction of a PCL) • Operationalization – Unclear whether quantification is possible – But: • Technical debt in the automotive context – Only few types of automotive-specific TD known – Cost/benefit estimation largely dependent on automotive context (see diversity of cost factors) 12
  9. Summary Definition of (implicit) communal components Quantification of extent and

    distribution Characterization as technical debt @andivogelsang [email protected] Thank you.