Vacancies

Unfortunately, we do not have full-time positions opened at the moment.
However, our group currently have the following funding opportunities for Ph.D. applicants:
  • School of Computer Science Scholarships: For home and international students, full PhD studentships funded by the School of Computer Science are available, covering tuition fee and living expenses for 3.5 years. (Details can be found here)
  • China Scholarship Council (CSC) Funds: For Chinese national students, PhD studentships funded by China Scholarship Council are available, covering full international tuition fee, living expenses and air fare. (This year there are up to 10 scholarships available, see here)
  • Egyptian Cultural and Education Bureau Scholarships: Students in receipt of a scholarship from the Ministry of Higher Education and Scientific Research in Egypt are eligible for a bursary that covers around 25% of the tuition fee.
  • Turkish Embassy Scholarships: Students in receipt of a scholarship from the Turkish Embassy Education Counsellor’s Office in Turkey are eligible for a bursary that covers around 20% of the tuition fee.
  • Doctoral Fee Scholarships: Students who qualifies to the Home/EU fee status can apply for the PhD studentship that covers the full tuition fee.
Below are some potential Ph.D. topics to start with:
Configurable software systems, especially those that are equipped with AI algorithms, can be tuned for better runtime, accuracy, or resource consumption. However, the tuning is a challenge because there are many benchmarks settings, data volume, and nondeterministic outcomes to consider. This project seeks to investigate a multi-fidelity tuning approach that considers different environmental conditions under tuning, striking a balance between the precision and speed of the overall tuning process. To that end, the project will leverage advanced algorithms from the optimization and operation research fields, and combine them with domain understanding of the software system to tune. Experience in Artificial Intelligence or hyper-parameter tuning is a plus for this project. Collaborating with a software company is possible for this project.
Software performance optimization by finding promising configurations involves many obstacles, one of which is the dependency constraints between certain configuration options. For example, a cahce_mode cannot be set until the cache option has been enabled. Yet, given the increasing complexity of software systems, information about those constraints may not always be available. This renders the problem of uncertain constraints. This project seeks to build an advanced technique to tune software configuration with unknown constraints, whose information is only partially available or accurate, e.g., by parsing from some outdated documents or manual. The goal is to intelligently bypass those constraints without degrading the effectiveness and efficiency of the tuning process. Good mathematical knowledge and empirical experience in software configuration are a plus for this project.
Self-adaptive software systems can adapt themselves to cope with the changing environment, but doing so continuously and effectively is challenging. This project seeks to investigate and realize the concept of “lifelong optimization” — where the optimization process in the planner would never stop, but adopt to whatever changes that the system would have experienced at runtime. This is opposed to stationary planning, where each time a brand new optimization process is triggered. In this way, the hypothesis is that, by retaining certain properties of the system operating under changing environments, the planning process can be largely beneficial to become better and faster. Experience in self-adaptive systems and the cyber-physical system is a plus for this project.
Classic performance learning has relied on a single set of software elements, e.g., configuration, architecture, or patterns. However, software systems are highly complex, and homogenous data cannot fully describe its behavior, i.e., the performance. This project seeks to predict software performance by using the heterogeneous source of data, e.g., code, configuration, documents, reports, and design patterns etc. This can be achieved by combing notions between classic feature engineering and natural language processing, building an approach that uses the best from both worlds. Experience in NLP is a plus.
Explainable AI (XAI) is an increasingly popular topic, but it remains to be primarily done in the context of machine/deep learning and its application to Software Engineering. Search-Based Software Engineering (SBSE), on the other hand, leverages search algorithms to improve different engineering tasks, and there is very little research on XSBSE. This project seeks to provide such an explainability to certain SBSE problems using advanced landscape analysis methods and causal inference concepts. The aim is to inform developers how and why a particular solution(s) was produced by a search algorithm so that s/he can better refine the algorithm, the software systems, or even the engineering process itself. Experience in SBSE or metaheuristic search is a plus.
Many Search-Based Software Engineering (SBSE) problems involve multiple conflicting objectives, but how the results generated by different SBSE methods can be rigorously evaluated according to the preference remain a challenge. This project seeks to build a generic approach that can guide, assist, or automate the process of evaluating SBSE methods with respect to unique preferences between the objectives. The ultimate deliverable is expected to be a tool that can help practitioners in this particular field of research, thus creating an important academic impact.
For more information, please contact Dr. Chen, the director of IDEAS lab at: