Exploring the applicability of Generative AI and LLM on Software Performance and Self-Adaptive Systems
a. Project Description
Generative AI has attracted a lot of attention recently from the research community. Its ability to generate complex solution from similar examples has made it an interesting solution for problems that require a certain degree of creativity. Runtime adaptation to maintain software quality and performance may require similarly creative solutions. In addition, software quality assurance is a multidimensional problem, which necessitates a proper human-system interface to facilitate the work of system administrators. In this sense, runtime adaptation design can also benefit from the use of large language models (LLM), known for their ability to understand and generate natural language. The objective of this project is to explore the ability of LLMs and generative AI to produce self-adaptive strategies for complex distributed systems at runtime. The developed models will need to extract functional and non-functional requirements and produce automatically deployable adaptation strategies, using infrastructure-as-code (IaC) following proper software performance engineering principles. Explainability and justifiability are of utmost importance for the produced strategies.
b. Tasks and responsibilities
The hired student will work towards the review of relevant technologies and its applications on Software Performance so far, as well as on the use of current technologies for the generation of self-adaptive systems. The student will develop the theoretical foundation as well as practical experience on the use of generative AI and LLM tools and methods on Software Performance. The student will aim to publish in top-tier journals, including IEEE Transactions on Software Engineering, Elsevier Journal of Systems and Software, and conferences, such as ICPE, SEAMS, ACSOS, ICSE, and others. The student will also be responsible for supervising and mentoring MSc and BSc students working on the project. The position is open for Winter, Summer or Fall 2024.
c. Required Skills
The student will be asked to demonstrate adequate understanding or expertise in the following topics through relevant courses (on undergraduate or graduate level) or through relevant publications in international conferences or journals. The student should consider applying if they have the expert-level skills and at least 50% of the good-level skills.
- Expert programming skills, preferably in Java or Python.
- Good knowledge on software performance engineering, self-adaptive systems and DevOps.
- Adequate knowledge on AI, machine learning, deep learning and relevant technologies.
d. Application process
Upon contacting the professor to inquire for the position, the student is also asked to submit the following documents:
- A copy of the most recent version of their CV or Resume.
- A copy of the transcripts of their undergraduate and/or master studies, if available.
- The aforementioned documents are also required by the EECS application process for the PhD or MSc programs (along with a statement of purpose). The candidate student is highly encouraged to complete the EECS application in parallel to contacting the professor. More information about the EECS application can be found here: https://lassonde.yorku.ca/eecs/academics/graduate/future-students/#phd.
- The names and contact information of 3 referees.
-
A review for one of the three following articles. The review (maximum one page) should contain a summary of the paper, its strengths and weaknesses and comments about the improvement or extension of the work presented in the paper.
- Khlaisamniang, P., Khomduean, P., Saetan, K. and Wonglapsuwan, S., 2023, November. Generative AI for Self-Healing Systems. In 2023 18th International Joint Symposium on Artificial Intelligence and Natural Language Processing (iSAI-NLP) (pp. 1-6). IEEE.
- Nascimento, N., Alencar, P. and Cowan, D., 2023, September. Self-adaptive large language model (llm)-based multiagent systems. In 2023 IEEE International Conference on Autonomic Computing and Self-Organizing Systems Companion (ACSOS-C) (pp. 104-109). IEEE.
- Nakagawa, H. and Honiden, S., 2023, September. MAPE-K Loop-Based Goal Model Generation Using Generative AI. In 2023 IEEE 31st International Requirements Engineering Conference Workshops (REW) (pp. 247-251). IEEE.
- Metzger, A., Laufer, J., Feit, F. and Pohl, K., 2023. A user study on explainable online reinforcement learning for adaptive systems. arXiv preprint arXiv:2307.04098.
- Sarda, K., 2023, September. Leveraging Large Language Models for Auto-remediation in Microservices Architecture. In 2023 IEEE International Conference on Autonomic Computing and Self-Organizing Systems Companion (ACSOS-C) (pp. 16-18). IEEE.
- (Only for PhD candidates) An example of a proposal (as evidence of writing) written by the student for a research project relevant to the position or of a topic selected by the student. The proposal should include background, motivation, methodology and a plan for evaluation. The proposal should be maximum 2 pages.
- The candidate student should submit these documents by email to the professor with the subject “Software Performance PhD 2024” for PhD candidates or “Software Performance MSc 2024” for MSc candidates). No email will be considered unless it has this subject and the required attachments (CV, transcripts, review, proposal). In the email, the student should express their interest to the position and provide the corresponding evidence to the required skills as this appears in the attached documents.