Write a Blog >>
ASE 2021
Mon 15 - Fri 19 November 2021 Australia

Tutorials

Here are the ASE2021 tutorials and a brief description of each:

Tutorial 1

Explainable AI for Software Engineering

Authors

Chakkrit (Kla) Tantithamthavorn, Jirayus Jiarpakdee

Institution

Monash University

Duration

1.5 hours

Abstract

The success of software engineering projects largely depends on complex decision-making. For example, which tasks should a developer do first, who should perform this task, is the software of high quality, is a software system reliable and resilient enough to deploy, etc. However, erroneous decisionmaking for these complex questions is costly in terms of money and reputation. Thus, Artificial Intelligence/Machine Learning (AI/ML) techniques have been widely used in software engineering for developing software analytics tools and techniques to improve decision-making, developer productivity, and software quality. However, the predictions of such AI/ML models for software engineering are still not practical (i.e., coarse-grained), not explainable, and not actionable. These concerns often hinder the adoption of AI/ML models in software engineering practices. In addition, many recent studies still focus on improving the accuracy, while a few of them focus on improving explainability. Are we moving in the right direction? How can we better improve the SE community (both research and education)? In this tutorial, we first provide a concise yet essential introduction to the most important aspects of Explainable AI and a hands-on tutorial of Explainable AI tools and techniques. Then, we introduce the fundamental knowledge of defect prediction (an example application of AI for Software Engineering). Finally, we demonstrate three successful case studies on how Explainable AI techniques can be used to address the aforementioned challenges by making the predictions of software defect prediction models more practical, explainable, and actionable. The materials are available at https://xai4se.github.io.

Tutorial 2

Transforming Monolithic Applications to Microservices with Mono2Micro

Authors

Rahul Krishna, Anup Kalia, Saurabh Sinha, Rachel Tzoref-Brill, John Rofrano, Jin Xiao

Institution

IBM Research

Duration

Half day

Abstract

Enterprises are increasingly moving their production workloads to the cloud to take advantage of capabilities, such as streamlined provisioning of infrastructure and services, elasticity, scalability, reliability, and security. To leverage such capabilities, monolithic applications typically have to be decomposed to cloud-native architectures, such as microservices. A microservice encapsulates a small and well-defined set of business functionalities and interacts with other services using lightweight mechanisms, often implemented as RESTful APIs. A recent report shows that only 20% of the enterprise workloads are in the cloud, and they were predominately written for native cloud architectures. This leaves 80% of legacy applications onpremises, waiting to be refactored and modernized for the cloud. In this tutorial, we will discuss the motivation—supported by illustrative industrial case studies—for modernizing and migrating legacy applications to cloud. We will then present a detailed tool-supported approach for transforming a monolithic Java application into microservices. This will be followed by a handson virtual lab, where participants will have the opportunity to apply the learned concepts on a real-world enterprise application. Finally, we will conclude the tutorial with a discussion of promising directions for future research more broadly in the area of application modernization.

Tutorial 3

Enhancing Requirements Reuse through Automated Similarity Matching

Authors

Mike Mannion, Hermann Kaindl

Institution

Glasgow Caledonian University, Institute of Computer Technology

Duration

Half day

Abstract

Several socio-economic trends are driving customer demands towards individualization. Many suppliers are responding by offering supplier-led software product design customization choices (“mass customization”). Some are also offering customer-led software product design choices (“mass personalization”). This tutorial introduces these concepts and explores the implications for software product line development. One particular technical challenge is being able to respond to and manage at scale the increasing variety of common, supplier-led and customer-led features. We will discuss two different approaches to address this challenge. One is grounded in feature modelling, the other in case-based reasoning, where the latter relies on measuring similarities. We will then describe a specific product similarity evaluation process in which a product configured from a product line feature model is represented as a weighted binary string, the overall similarity between products is compared using a binary string metric, and the significance of individual feature combinations for product similarity can be explored by modifying the weights. We will illustrate our ideas with mobile phone worked examples, and discuss some of the benefits and limitations of this approach.

About

Title
Enhancing Requirements Reuse through Automated Similarity Matching
Tutorials

Explainable AI for Software Engineering
Tutorials
Transforming Monolithic Applications to Microservices with Mono2Micro
Tutorials

This program is tentative and subject to change.

You're viewing the program in a time zone which is different from your device's time zone - change time zone

Mon 15 Nov

Displayed time zone: Hobart change

11:00 - 14:00
Tutorial 1Tutorials at Bilby

Not scheduled yet

Not scheduled yet
Tutorial
Enhancing Requirements Reuse through Automated Similarity Matching
Tutorials

Not scheduled yet
Tutorial
Explainable AI for Software Engineering
Tutorials
P: Chakkrit Tantithamthavorn Monash University, P: Jirayus Jiarpakdee Monash University
Not scheduled yet
Tutorial
Transforming Monolithic Applications to Microservices with Mono2Micro
Tutorials

Call For Papers

Tutorials address a wide range of mature topics from theoretical foundations to practical techniques and tools for automated software engineering. The general chair and organizers will decide the exact dates after all proposals have been reviewed and accepted. Tutorials are intended to provide scientific background on themes relevant to ASE’s research audience.

Instructors are invited to submit proposals for 1.5h, half-day (3h) and full-day (6h) tutorials and, upon selection, are required to provide tutorial notes on the topic of presentation in PDF. Tutorial proposals are limited to 2 pages.

SUBMISSION

Proposal submissions should include the following information:

  • Name and affiliation of the proposer/organizer (including e-mail address)
  • Name and affiliation of each additional instructor
  • Instructors’ experience in the area, including other tutorials, courses, etc.
  • Title, objective, abstract, and duration
  • Outline with approximate timings
  • Target audience, including the indication of level (novice, intermediate, expert)
  • Assumed background of attendees
  • Brief biography of each instructor (for later inclusion in publicity materials)
  • History of the tutorial (if it has been already presented; provide location, approximate attendance, etc.)
  • Audio-visual and technical requirements
  • Preferences for tutorial date, duration (1.5h, half-day or full-day), and any other scheduling constraints, with justification for full day (if a full day is proposed)

Proposals are due by June 11, 2021 and should be submitted over HotCRP. All submissions must be in PDF format and conform, at time of submission, to the IEEE Conference Proceedings Formatting Guidelines (title in 24pt font and full text in 10pt type, LaTeX users must use \documentclass[10pt,conference]{IEEEtran} without including the compsoc or compsocconf option).

Tutorial proposals will be reviewed by the ASE 2021 tutorial co-chairs Tanjila Kanij and Humphrey Obie. Acceptance will be based on the timeliness and expected interest in the topic and the potential for attracting a sufficient number of participants. Note that tutorials with too few registered attendees may be cancelled.

Accepted Papers

After acceptance, the list of paper authors can not be changed under any circumstances and the list of authors on camera-ready papers must be identical to those on submitted papers. After acceptance paper titles can not be changed except by permission of the Track Chairs, and only then when referees recommended a change for clarity or accuracy with paper content.

Tutorials

Here are the ASE2021 tutorials and a brief description of each:

Tutorial 1

Explainable AI for Software Engineering

Authors

Chakkrit (Kla) Tantithamthavorn, Jirayus Jiarpakdee

Institution

Monash University

Duration

1.5 hours

Abstract

The success of software engineering projects largely depends on complex decision-making. For example, which tasks should a developer do first, who should perform this task, is the software of high quality, is a software system reliable and resilient enough to deploy, etc. However, erroneous decisionmaking for these complex questions is costly in terms of money and reputation. Thus, Artificial Intelligence/Machine Learning (AI/ML) techniques have been widely used in software engineering for developing software analytics tools and techniques to improve decision-making, developer productivity, and software quality. However, the predictions of such AI/ML models for software engineering are still not practical (i.e., coarse-grained), not explainable, and not actionable. These concerns often hinder the adoption of AI/ML models in software engineering practices. In addition, many recent studies still focus on improving the accuracy, while a few of them focus on improving explainability. Are we moving in the right direction? How can we better improve the SE community (both research and education)? In this tutorial, we first provide a concise yet essential introduction to the most important aspects of Explainable AI and a hands-on tutorial of Explainable AI tools and techniques. Then, we introduce the fundamental knowledge of defect prediction (an example application of AI for Software Engineering). Finally, we demonstrate three successful case studies on how Explainable AI techniques can be used to address the aforementioned challenges by making the predictions of software defect prediction models more practical, explainable, and actionable. The materials are available at https://xai4se.github.io.

Tutorial 2

Transforming Monolithic Applications to Microservices with Mono2Micro

Authors

Rahul Krishna, Anup Kalia, Saurabh Sinha, Rachel Tzoref-Brill, John Rofrano, Jin Xiao

Institution

IBM Research

Duration

Half day

Abstract

Enterprises are increasingly moving their production workloads to the cloud to take advantage of capabilities, such as streamlined provisioning of infrastructure and services, elasticity, scalability, reliability, and security. To leverage such capabilities, monolithic applications typically have to be decomposed to cloud-native architectures, such as microservices. A microservice encapsulates a small and well-defined set of business functionalities and interacts with other services using lightweight mechanisms, often implemented as RESTful APIs. A recent report shows that only 20% of the enterprise workloads are in the cloud, and they were predominately written for native cloud architectures. This leaves 80% of legacy applications onpremises, waiting to be refactored and modernized for the cloud. In this tutorial, we will discuss the motivation—supported by illustrative industrial case studies—for modernizing and migrating legacy applications to cloud. We will then present a detailed tool-supported approach for transforming a monolithic Java application into microservices. This will be followed by a handson virtual lab, where participants will have the opportunity to apply the learned concepts on a real-world enterprise application. Finally, we will conclude the tutorial with a discussion of promising directions for future research more broadly in the area of application modernization.

Tutorial 3

Enhancing Requirements Reuse through Automated Similarity Matching

Authors

Mike Mannion, Hermann Kaindl

Institution

Glasgow Caledonian University, Institute of Computer Technology

Duration

Half day

Abstract

Several socio-economic trends are driving customer demands towards individualization. Many suppliers are responding by offering supplier-led software product design customization choices (“mass customization”). Some are also offering customer-led software product design choices (“mass personalization”). This tutorial introduces these concepts and explores the implications for software product line development. One particular technical challenge is being able to respond to and manage at scale the increasing variety of common, supplier-led and customer-led features. We will discuss two different approaches to address this challenge. One is grounded in feature modelling, the other in case-based reasoning, where the latter relies on measuring similarities. We will then describe a specific product similarity evaluation process in which a product configured from a product line feature model is represented as a weighted binary string, the overall similarity between products is compared using a binary string metric, and the significance of individual feature combinations for product similarity can be explored by modifying the weights. We will illustrate our ideas with mobile phone worked examples, and discuss some of the benefits and limitations of this approach.