SearcharxivSearch

arXiv subjects

Christoph Knieke

Publications and source records attributed to Christoph Knieke.

7 recordsLinked to original sources

Representative Dataset Generation Framework for AI-based Failure Analysis during real-time Validation of Automotive Software Systems

Recently, thanks to its ability to extract knowledge from historical datasets, the data-driven approach has been widely used in various phases of the system development life cycle. During real-time system validation, remarkable achievements have been accomplished in developing an intelligent failure analysis based on historical data. However, despite its superiority over other conventional approaches, e.g., model-based and signal-based, the availability of representative datasets persists as a major challenge. Thus, for different engineering applications, new solutions to generate representative faulty data in different forms should be explored. Therefore, in this study, a novel approach based on Hardware-in-the-Loop (HIL) simulation and real-time Fault Injection (FI) method is proposed to generate and collect data samples under single and simultaneous faults for Machine Learning (ML) applications during system validation phases. The developed framework can generate not only sequential data, but also textual data including fault logs. The results show the applicability of the proposed framework in simulating and capturing the system behaviour under faults within the system components.

cs.SE

Generating Software Architecture Description from Source Code using Reverse Engineering and Large Language Model

Software Architecture Descriptions (SADs) are essential for managing the inherent complexity of modern software systems. They enable high-level architectural reasoning, guide design decisions, and facilitate effective communication among diverse stakeholders. However, in practice, SADs are often missing, outdated, or poorly aligned with the system's actual implementation. Consequently, developers are compelled to derive architectural insights directly from source code-a time-intensive process that increases cognitive load, slows new developer onboarding, and contributes to the gradual degradation of clarity over the system's lifetime. To address these issues, we propose a semi-automated generation of SADs from source code by integrating reverse engineering (RE) techniques with a Large Language Model (LLM). Our approach recovers both static and behavioral architectural views by extracting a comprehensive component diagram, filtering architecturally significant elements (core components) via prompt engineering, and generating state machine diagrams to model component behavior based on underlying code logic with few-shots prompting. This resulting views representation offer a scalable and maintainable alternative to traditional manual architectural documentation. This methodology, demonstrated using C++ examples, highlights the potent capability of LLMs to: 1) abstract the component diagram, thereby reducing the reliance on human expert involvement, and 2) accurately represent complex software behaviors, especially when enriched with domain-specific knowledge through few-shot prompting. These findings suggest a viable path toward significantly reducing manual effort while enhancing system understanding and long-term maintainability.

cs.SE

Neurosymbolic Architectural Reasoning: Towards Formal Analysis through Neural Software Architecture Inference

Formal analysis to ensure adherence of software to defined architectural constraints is not yet broadly used within software development, due to the effort involved in defining formal architecture models. Within this paper, we outline neural architecture inference to solve the problem of having a formal architecture definition for subsequent symbolic reasoning over these architectures, enabling neurosymbolic architectural reasoning. We discuss how this approach works in general and outline a research agenda based on six general research question that need to be addressed, to achieve this vision.

cs.SE

Software Process as a Service: Towards A Software Process Ecosystem

In large-scale projects operated in regulated environments, standard development processes are employed to meet strict compliance demands. Since such processes are usually complex, providing process users with access to their required process, which should be tailored to a project's needs is a challenging task that requires proper tool support. In this paper, we present a process ecosystem in which software processes are provided as web-based services. We outline the general idea, describe the modeling approach, and we illustrate the concept's realization using a proof-of-concept case based on a large software process line that is mandatory to use for IT projects in the German public sector. The suitability is evaluated with three experts that valued the improved accessibly and usability of the process and the end-user support tool.

cs.SE

Emergent Software Service Platform and its Application in a Smart Mobility Setting

The development dynamics of digital innovations for industry, business, and society are producing complex system conglomerates that can no longer be designed centrally and hierarchically in classic development processes. Instead, systems are evolving in DevOps processes in which heterogeneous actors act together on an open platform. Influencing and controlling such dynamically and autonomously changing system landscapes is currently a major challenge and a fundamental interest of service users and providers, as well as operators of the platform infrastructures. In this paper, we propose an architecture for such an emergent software service platform. A software platform that implements this architecture with the underlying engineering methodology is demonstrated by a smart parking lot scenario.

cs.SE

How to Extend the Abstraction Refinement Model for Systems with Emergent Behavior ?

The Abstraction Refinement Model has been widely adopted since it was firstly proposed many decades ago. This powerful model of software evolution process brings important properties into the system under development, properties such as the guarantee that no extra behavior (specifically harmful behaviors) will be observed once the system is deployed. However, perfect systems with such a guarantee are not a common thing to find in real world cases, anomalies and unspecified behaviors will always find a way to manifest in our systems, behaviors that are addressed in this paper with the name "emergent behavior". In this paper, we extend the Abstract Refinement Model to include the concept of the emergent behavior. Eventually, this should enable system developers to: (i) Concretely define what an emergent behavior is, (ii) help reason about the potential sources of the emergent behavior along the development process, which in return will help in controlling the emergent behavior at early steps of the development process.

cs.SE

Tackling Software Architecture Erosion: Joint Architecture and Implementation Repairing by a Knowledge-based Approach

Architecture erosion is a big challenge in modern architectures leading to a deterioration of the quality properties of these systems. Today, no comprehensive approach for regaining architecture consistency in eroded software systems exists and architecture consistency is essentially achieved by repairing the implementation level only. In this paper, we propose a novel approach enabling a joint architecture and implementation repairing for tackling software architecture erosion. By using a holistic view on violation causes and suitable repair actions in combination with learning mechanisms we build up a project specific knowledge-base improving accuracy and efficiency in consolidation of architecture and implementation over time.

cs.SE