Reengineering of Industrial C Code

Bachelor Thesis, Master Thesis

Sofware based systems already play a major role in industrial production and this role will only grow in the context of Industrie 4.0. In order to solve new challenges that arise in this context, existing software has to be adapted in different directions, e.g. to enable the addition of new sensors or enable the creation of a digital twin. For this purpose, we want to uncover Software Product Line features and models, which are already present implicitly, and make them explicit. Therefore the development of corresponding analyses and automatic refactorings is necessary.

Candidates would work on different topics that enable software reuse of industrial controllers written in C.

These topics include (but are not limited to):

• automatic identification and localization of features

• automatic code slicing of identified features

• adaption of analyses to the presence of C preprocessor macros

• automatic module extraction

Examiner: Prof. Dr.-Ing. Mira Mezini

Sofware based systems already play a major role in industrial production and this role will only grow in the context of Industrie 4.0. In order to solve new challenges that arise in this context, existing software has to be adapted in different directions, e.g. to enable the addition of new sensors or enable the creation of a digital twin. For this purpose, we want to uncover Software Product Line features and models, which are already present implicitly, and make them explicit. Therefore the development of corresponding analyses and automatic refactorings is necessary.

Candidates would work on different topics that enable software reuse of industrial controllers written in C.

These topics include (but are not limited to):

• automatic identification and localization of features

• automatic code slicing of identified features

• adaption of analyses to the presence of C preprocessor macros

• automatic module extraction

If you are interested in any of the above mentioned topics or have any further questions, please contact: mueller@st.informatik.tu-darmstadt.de (Patrick Müller)