Signal Dependency Analysisand Status Propagation Tracking

University essay from KTH/Skolan för elektroteknik och datavetenskap (EECS)

Author: Peng Su; [2020]

Keywords: ;

Abstract: In software engineering, analyzing the dependence of software modules and signals is a common method of verification and testing software behaviors. Through dependency analysis, users can improve the quality and operating efficiency of the code. Also, analyzing dependencies can reflect the working status of software modules. Software signal dependence is thus very important for software verification. However, how to perform the dependency analysis is an open question. Code review is a text-based analysis method. When faced with many dependencies, the readability is significantly reduced. It is also difficult for a code reviewer to track all dependencies on a single signal. By contrast, visual dependency is a relatively intuitive analysis method, which can express the dependency of signals visually.This thesis deals with the analysis and visualization of signal dependencies in the Engine Management System (EMS), which is an essential and complex software module in vehicles. There are usually hundreds of function modules in the EMS. Understanding their dependencies can help engineers diagnose and test the system accordingly. This topic has the following difficulties: (1) how to summarize the dependence of all elements from the source code; (2) how to express dependence; (3) how to visualize dependencies; (4) what tools are needed to achieve visualization of dependencies.To solve the above problems, we need to establish a corresponding toolchain. First, we use static analysis to extract dependencies from the source code. The static analysis here refers to use scripts to automatically analyze dependencies in the source code. The script includes setting up a parser to collect data. The purpose of the parser is to parse the pre-processing code and generate the corresponding intermediate file, which needs to indicate signal dependencies and other basic information. Then, we evaluate the analysis results and choose an appropriate visualization tool to represent the signal dependency. The results show that the signal dependency can be tracked, and the visualization can be implemented by using our designed toolchain. The results are intuitive and concise, and it has a strong application prospect.

  AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)