Automated Cause-Effect Chains in Automotive Software

Votes: 7
Views: 194

Which input signals to an engine control unit can affect the emissions of the car? Do I have an OBDII diagnosis in place for them? Which variables must be added to a measurement setup to properly analyze a system failure? What is the technical impact of removing a specific software component, or which validation checks must be repeated after making a change? Will a newly introduced monitor inadvertently mask a MIL-relevant (Malfunction Indicator Light) diagnostic?

As embedded automotive software grows increasingly complex, engineering teams face significant challenges driven by expanding feature sets, stricter global regulations, and rapidly evolving system architectures that must co-exist with legacy, backwards-compatible platforms.

In this environment, achieving cross-domain software comprehension is highly demanding—especially when attempting to retain tribal knowledge over decades-old codebases. Without deep software visibility, OEMs waste massive amounts of manual effort generating OBD and emissions documentation, fixing unforeseen bugs, or performing redundant, "just-in-case" validation steps.

To solve this challenge, Bosch developed ProvCT. Built on the proven foundation of the established eHandbook technology, ProvCT performs static code analysis to convert source code into a graph and automatically maps cause-effect chains between user-defined start and target nodes.

Key Advantages:

  • High Efficiency: Maximizes productivity through automated dependency mapping.

  • Absolute Accuracy: Relies strictly on the ground-truth source code.

  • Context-Aware: Integrates calibration datasets so only active software paths are analyzed.

Extensible Platform

Users can define any start and target nodes. ProvCT can categorize and trace a wide range of software elements- including specific variables, sensors, actuators, bus signals, software-sharing interfaces, diagnostic trouble codes (DTCs), or function identifiers. The tool's modular architecture is designed for easy extension; Bosch can rapidly implement support for any newly defined, well-specified start or target node types (such as custom function calls) to meet evolving OEM requirements.

Actionable Deliverables

Upon completing an analysis, ProvCT delivers three key outputs:

  1. Cause-Effect chain inventory: A complete inventory of all identified cause-effect chains, detailing start/target points and chain lengths.

  2. Visual Graph: A step-by-step schematic representation of each software path.

  3. Convergent Path Viewer: A specialized view aggregating cause-effect chains with different starting points and a common target to show exactly where software paths merge.

Proven in the Field

ProvCT is already delivering tangible value. It has driven massive reductions in the manual effort required to identify emissions-influencing input signals for OBD documentation, and has successfully identified diagnostic trouble codes that are dynamically deactivated during runtime via variant coding.

For scenarios where source code cannot be shared directly with Bosch, a secure two-step approach is currently in development. By leveraging existing eHandbook methodologies or introducing a newly defined secure file format, this approach will enable comprehensive path analysis while strictly preventing reverse engineering.

Like this entry?

Learn how to vote for your favorites.

  • About the Entrant

  • Name:
    Marta Montes
  • Type of entry:
    individual
  • Profession:
    Engineer/Designer
  • Software used for this entry:
    The design is a software itself