The
Department of Mathematics and Computer Science invites applications for 2 bright and motivated PhD candidates that want to research how to use AI to make 'smart' tools for mining-, analysing- and reasoning about software designs - especially at the level of software architecture. The position is placed in the Software Engineering and Technology (SET) group and will be supervised by prof.dr. Michel R. V. Chaudron.
The SET group has developed one 'moonshot'-projects: to develop an 'Intelligent Assistant for Software Developers'. Such an intelligent assistant should be able to answer various questions from developers about the system under development. We will focus on questions that relate to the design and architecture of the system, such as for example: 'Where is this feature implemented in this system?', and 'Does this API support proper Information Hiding?'
To answer such questions, we have developed a roadmap where we want to build an ecosystem of technologies and tools around the following theme's:
- Knowledge Mining - this includes techniques for mining from sources in natural language (e.g. Requirements and Architecture Descriptions using Natural Language Processing), as well as from source code and (UML) models of the design (e.g. for reconstructing Implementation-Architecture mappings)
- Knowledge Representation - All the information found about a system will be collected in a central knowledge repository using techniques like ontologies and knowledge-graphs.
- Innovative techniques for analysing/reasoning and exploration of systems - this includes techniques for reasoning about (architecture) design principles (such as e.g. layering, modularity, information hiding)
- More user-centric and more intuitive interaction such as use of voice and touch for SE-tools, as well as smart software-visualisation tools.
All of these technologies/tools are targeted at supporting engineers in developing software systems. We look for candidates that can contribute to these theme's (priority is on the first 3: Mining, Representation and Reasoning).
The Software Engineering group (
https://www.tue.nl/en/research/research-groups/computer-science/software-engineering-and-technology-w/) at TU/e has a strong track record in doing research in the areas of software architecture, model-based software development, mining software repositories and social aspects of software engineering. The SET group has many collaborations with companies in the Eindhoven region, in The Netherlands and in Europe. SET actively participates in the major SE conferences, including ICSE, ICSA, MODELS, Euromicro-SEAA. The SET group has many international members and the day-to-day language is English (also in teaching).