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
Mon 15 NovDisplayed time zone: Hobart change
11:00 - 14:00 | |||
11:00 3hTutorial | Explainable AI for Software Engineering Tutorials |
19:00 - 22:30 | |||
19:00 3h30mTutorial | Enhancing Requirements Reuse through Automated Similarity Matching Tutorials |
Tue 16 NovDisplayed time zone: Hobart change
02:00 - 06:00 | |||
02:00 4hTutorial | Transforming Monolithic Applications to Microservices with Mono2Micro Tutorials P: Rahul Krishna IBM Research, P: Anup K. Kalia IBM Research, P: Rachel Tzoref-Brill IBM Research, P: John Rofrano IBM Research, USA, P: Jin Xiao IBM Research, Saurabh Sinha IBM Research |
08:00 - 09:00 | |||
08:00 60mDay opening | ASE2021 Opening Plenary G: John Grundy Monash University, P: Dan Hao Peking University, P: Denys Poshyvanyk William and Mary |
09:00 - 10:00 | |||
09:00 60mTalk | MIP: UMLDiff: an Algorithm for Object-Oriented Design Differencing Plenary |
10:00 - 11:00 | |||
10:00 60mSocial Event | Virtual Reception Social/Networking |
Call for proposals
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
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. |