Measuring Design Pattern Compliance Using Programming Language Models

Loading...
Thumbnail Image

Date

Type

Examensarbete för masterexamen

Programme

Model builders

Journal Title

Journal ISSN

Volume Title

Publisher

Abstract

The complexity of automotive control software makes evaluation of the quality of their design difficult. Software architects, on whom falls the responsibility of verifying whether the implementation complies with specified design patterns, often have little choice but to revert to fully manual review. Such a clearly inefficient process is prone to error, increasing the chances of design regression. In recent days, neural language models (like BERT) pre-trained on source code corpora are beginning to be used for automating a variety of programming tasks. The primary objective of this work is to assess whether such a language model can also be used to automate the assessment of design compliance. Training a Programming Language Model using the Masked language Modeling objective and applying the principle of linguistic regularity in program embeddings, we demonstrate a method that measures compliance with one automotive software design pattern. Results from this work indicate that, by automating such design compliance checking, neural language models can provide valuable assistance to human architects in assessing and fixing violations in automotive software design.

Description

Keywords

Software design patterns, programming language models, embeddings, linguistic regularity, compliance test

Citation

Architect

Location

Type of building

Build Year

Model type

Scale

Material / technology

Index

Endorsement

Review

Supplemented By

Referenced By