PhD Seminar on AI-Assisted Software Engineering

Location

The seminar is held physically. There is no online participation opportunity.

Pori University Campus (address: Pohjoisranta 11, 28100 Pori)


Registration 

Registration is open until May 4. 

Speakers

Professor Pekka Abrahamsson, Tampere University

Professor Tarmo Lipping, Tampere University

Expert-presenters

Professor Niklas Lavesson, Blekinge Institute of Technology, Sweden
Associate professor Dominik Siemon, LUT University
Postdoctoral researcher Muhammad Waseem , University of Jyväskylä
Postdoctoral researcher Kai-Kristian Kemell, University of Helsinki
University lectuter, dr. Zheying Zhang, Tampere University
Doctoral candidate Mika Saari, Tampere University
Dr. Timo Lehtonen, Senior developer, Solita
Senior Data Scientist Petteri Ranta, Tietoevry
Mr. Kari Sainio, Tampere University

Overview

The seminar is targeted at individuals who are interested in learning about AI-assisted software engineering, including:

  1. PhD students in software engineering or related fields who are interested in using AI techniques to improve their research projects and advance their knowledge of the field.
  2. Researchers and practitioners in software engineering who are interested in learning about the latest advances in AI techniques and their potential applications in software engineering.
  3. Software engineers and developers who are interested in learning about how AI can be applied to improve software testing, debugging, code generation, and optimization.
  4. Industry professionals who are interested in understanding the potential impact of AI on their business and how AI can be used to improve their software development practices.
  5. Anyone with a general interest in AI and its applications in software engineering, regardless of their technical background or level of expertise.


Preparations 

Familiarize yourself with the research literature on AI-assisted software engineering (See materials). This will help you put the concepts covered in the seminar into a broader context and understand the state-of-the-art in the field.

Regarding your own research / role, Identify any specific research questions or challenges you are currently working on and consider how AI-assisted techniques might be able to help you address those questions or challenges. This will help you approach the seminar with a specific set of goals and objectives.


Detailed Program

Day 1

09-12 Morning Session (Prof. Niklas Lavesson)

Lecture 1: Introduction to AI-assisted software engineering

  • Key concepts and techniques in AI-assisted software engineering
  • Overview of recent advances and current state-of-the-art in the field
  • How AI can be used to improve software design, development, and testing
  • Potential other applications and benefits of AI in software engineering

Lecture 2: Introduction to Transformer networks

I. Transformer networks Basics

  • Overview of the architecture and components of Transformer networks
  • Applications of Transformer networks in natural language processing and other fields
  • Comparison of Transformer networks to other types of neural networks

II. History of the development of Transformer networks

  • Overview of the research and papers that led to the development of Transformer networks
  • Discussion of key innovations and breakthroughs in the field
  • Comparison of early versions of Transformer networks to BERT and GPT-4

12-13 Lunch

13-15.30 Hands-on session

Track 1: Hands-on Session (using AI for technical software engineering - part I) (Mika Saari and Dominik Siemon)

  • Hands-on lab session: using AI for technical software engineering including testing and debugging
  • Overview of existing tools and frameworks for AI-assisted software suitable for the task
  • Implementation and experimentation with selected tools and frameworks
  • Discussion and review of lab results

Track 2: Hands-on Session (using AI for software engineering management) (Kari Sainio and Zheying Zhang)

  • Hands-on lab session: using AI for software engineering management including project management, estimation, people management, software engineering processes
  • Overview of existing tools and frameworks for AI-assisted software suitable for the task
  • Implementation and experimentation with selected tools and frameworks
  • Discussion and review of lab results

Track 3: Fine-tuning a transformer model based on a text corpus  (Petteri Ranta)

  • Getting an overview on the implementations of transformer networks
  • Overview of available pretrained networks
  • Selecting the task and corpus for fine-tuning a transformer
  • Performing the fine-tuning and analyzing the results
  • Discussion and review

15.30-17 Late-Afternoon Session (Q&A, panel), coffee break included (Timo Lehtonen, Niklas Lavesson)

  • Guest speaker talk: industry applications of AI in software engineering
  • Discussion and Q&A session with the guest speaker

19-22 Joint seminar dinner (at own cost)

Day 2:

09-12 Morning session

3 Parallel tracks

Track 1: Hands-on-lab  session: using AI for technical software engineering - part II (Dominik Siemon and Mika Saari)

  • Hands-on lab session: using AI for code generation and optimization
  • Overview of existing tools and frameworks for AI-assisted code generation and optimization
  • Implementation and experimentation with selected tools and frameworks
  • Discussion and review of lab results

Track 2: Morning Session II (using ChatGPT for software engineering research)  (Kai-kristian Kemell and Muhammad Waseem)

  • Includes hands-on lab exercises
  • Topics include items such as writing research papers, reviewing papers, summarizing key points, generating ideas and language checking among others.
  • Overview of other tools than ChatGPT for AI-assisted software engineering research
  • Implementation and experimentation
  • Discussion and review of lab results

Track 3: Developing custom transformer architecture (Petteri Ranta)

  • Overview of BERT model and its architecture
  • How to implement transformer architecture in PyTorch
  • Hands-on session: using the data produced on day 1, designing custom transformer model
  • Discussion and review

12-13 Lunch

13-15 Workshop and panel discussion: ethical and societal implications of AI in software engineering and in software engineering research (Pekka Abrahamsson, Tarmo Lipping and all the speakers)

  • Panelists from academia and industry discuss the ethical and societal implications of AI-assisted software engineering
  • Audience Q&A session with panelists

15-16 Final Session  (Niklas Lavesson)

  • Guest speaker talk: research frontiers in AI-assisted software engineering
  • Discussion and Q&A session with the guest speaker

16-16:30 Closing of the seminar


Materials & pre-seminar assignment

For those students who want to get 2 ECTS credits from the INFORTE course, do the following:

Software engineering students: Select one paper from each category (Categories I, II and III) and prepare a summary of each paper using the ChatGPT language model. Write a 500 word critical reflection of the key findings from the papers on your own and use ChatGPT only for language checking. Send the summaries and the 500 word critical reflection to pekka.abrahamsson@tuni.fi by May-8th, 2023 (23:59).

AI/Data engineering students: Select one book from Categoriy IV and prepare a summary of the book using the ChatGPT language model. Write a 500 word critical reflection of the key findings from the papers on your own and use ChatGPT only for language checking. Send the summaries and the 500 word critical reflection to tarmo.lipping@tuni.fi by May-8th, 2023 (23:59).

Category I: General AI and SE (historical outlook)

  • Martínez-Fernández, S., Bogner, J., Franch, X., Oriol, M., Siebert, J., Trendowicz, A., Vollmer, A.M. and Wagner, S., 2022. Software engineering for AI-based systems: a survey. ACM Transactions on Software Engineering and Methodology (TOSEM), 31(2), pp.1-59.
  • Tsai, W.T., Heisler, K.G., Volovik, D. and Zualkernan, I.A., 1988, August. A critical look at the relationship between ai and software engineering. In [Proceedings] 1988 IEEE Workshop on Languages for Automation@ m_Symbiotic and Intelligent Robotics (pp. 2-18). IEEE.
  • Harman, M., 2012, June. The role of artificial intelligence in software engineering. In 2012 First International Workshop on Realizing AI Synergies in Software Engineering (RAISE) (pp. 1-6). IEEE.

Category II: Materal on ChatGPT and SE (all of these are unpublished manuscripts)

  • Ahmad, A., Waseem, M., Liang, P., Fehmideh, M., Aktar, M. S., & Mikkonen, T. (2023). Towards Human-Bot Collaborative Software Architecting with ChatGPT. arXiv preprint arXiv:2302.14600.
  • Jalil, S., Rafi, S., LaToza, T. D., Moran, K., & Lam, W. (2023). ChatGPT and Software Testing Education: Promises & Perils. arXiv preprint arXiv:2302.03287.
  • White, J., Fu, Q., Hays, S., Sandborn, M., Olea, C., Gilbert, H., Elnashar, A., Spencer-Smith, J. and Schmidt, D.C., 2023. A Prompt Pattern Catalog to Enhance Prompt Engineering with ChatGPT. arXiv preprint arXiv:2302.11382.
  • Sobania, D., Briesch, M., Hanna, C. and Petke, J., 2023. An analysis of the automatic bug fixing performance of chatgpt. arXiv preprint arXiv:2301.08653.
  • Khalil, M. and Er, E., 2023. Will ChatGPT get you caught? Rethinking of Plagiarism Detection. arXiv preprint arXiv:2302.04335.
  • Haque, M.U., Dharmadasa, I., Sworna, Z.T., Rajapakse, R.N. and Ahmad, H., 2022. " I think this is the most disruptive technology": Exploring Sentiments of ChatGPT Early Adopters using Twitter Data. arXiv preprint arXiv:2212.05856.

Category III: Material on Copilot and SE (recent studies with Github’s copilot)

  • Imai, S., 2022, May. Is GitHub copilot a substitute for human pair-programming? An empirical study. In Proceedings of the ACM/IEEE 44th International Conference on Software Engineering: Companion Proceedings (pp. 319-321).
  • Dakhel, A.M., Majdinasab, V., Nikanjam, A., Khomh, F., Desmarais, M.C. and Ming, Z., 2022. GitHub Copilot AI pair programmer: Asset or Liability?. arXiv preprint arXiv:2206.15331.
  • Mastropaolo, A., Pascarella, L., Guglielmi, E., Ciniselli, M., Scalabrino, S., Oliveto, R. and Bavota, G., 2023. On the Robustness of Code Generation Techniques: An Empirical Study on GitHub Copilot. arXiv preprint arXiv:2302.00438.

Category IV: Transformer technologies

  • Rothman, D., & Gulli, A. (2021). Transformers for Natural Language Processing: Build, train, and fine-tune deep neural network architectures for NLP with Python, PyTorch, TensorFlow, BERT, and GPT-3 (2nd ed.). Packt Publishing.
  • Tunstall, L., von Werra, L., & Wolf, T. (2022). Natural Language Processing with Transformers, Revised Edition. O’Reilly Media.


Post-seminar assignment

The PhD students participated in the seminar are eligible for 2 ECTS by completing the pre-assignment and post-seminar assignment. The post-assignment is as follows.

Prepare and conduct a mini-experiment on your choice of AI-Assisted SE tool and report the experiment results to the organizers by May-26th, 2023 (23:59). The experiment report should include the following

  1. Goal of the experiment
  2. Method / procedure
  3. Results
  4. Your recommendations


Credit points

Doctoral students participating in the seminar can obtain 2 credit points. This requires participating and completing the assignments.

Registration fee

This seminar is free-of-charge for Inforte.fi member organization's staff and their PhD students. For others the participation fee is 400 €. The participation fee includes access to the event and the event materials. Lunch and dinner are not included.