PhD student position in Critical Software-Intensive Systems at the Division for Software and Systems, Linköping University.
Your work assignments
Due to the heterogeneous nature of data science teams, machine learning (ML) researchers and practitioners often come from various disciplines with limited expertise in writing high quality ML software. However, neglecting best practices for software quality assurance results in unmaintainable, inefficient and non-modular ML programs. Compared to traditional software, ML code quality is more challenging to manage as deficiencies may lead to silent pitfalls that perdure for long time and require significant time and effort to discover. As a specific quality concern, code smells are commonly appearing poor code design choices that violate best software engineering practice and have negative effects on various quality attributes (such as maintainability, scalability).
This PhD project aims to develop efficient novel techniques and scalable software tools for automatically detecting and removing various classes of anti-patterns in complex ML programs. The project plans to combine traditional graph-based detection techniques with machine learning solutions to ensure that the most critical anti-patterns are always detected while false alarms are rare.
Your involvement in the development and maintenance of a related open-source software project is foreseen in close collaboration with other researchers and graduate students in Sweden, Canada and Hungary.
As a PhD student, you devote most of your time to doctoral studies and the research projects of which you are part. Your work may also include teaching or other departmental duties, up to a maximum of 20% of full-time.