Write a Blog >>

Here are the ASE ’22 tutorials and a brief description of each:

Extract Method Refactoring: Challenges, Opportunities, and Recent Application

Authors: Eman Abdullah AlOmar, Mohamed Wiem Mkaouer, and Le Nguyen

Institution: Stevens Institute of Technology and Rochester Institute of Technology

Duration: 1.5 hour

Abstract: Refactoring is a critical task in software maintenance and is usually performed to enforce better design and coding practices, while coping with design defects. The Extract Method refactoring is widely used for merging duplicate code fragments into a single new method. Several studies attempted to recommend Extract Method refactoring opportunities using different techniques, including program slicing, program dependency graph analysis, change history analysis, structural similarity, and feature extraction. However, irrespective of the method, most of the existing approaches interfere with the developer's workflow: they require the developer to stop coding and analyze the suggested opportunities and consider all refactoring suggestions in the entire project without focusing on the development context. To increase the adoption of the Extract Method refactoring, in this tutorial, we aim to show the effectiveness of machine learning and deep learning algorithms for its recommendation while maintaining the workflow of the developer. Finally, we demonstrate case study on how Extract Method technique can be used to address the aforementioned challenges by making the predictions of Extract Method refactoring more practical, and actionable.

Authors: The Accessible Learning Labs

Institution: Rochester Institute of Technology

Duration: 1.5 hour

Abstract: Software should be inclusive and accessible for everyone. Are you doing enough to teach your students how to create accessible software? Are you informing and motivating that software should be equally available for everyone? This workshop will present the Accessibility Learning Labs (ALL) which provide instructors complete material to easily incorporate the imperative topic of accessibility into a wide-range of existing courses; requiring no setup or preparation time by the instructor. During this workshop, we will present our educational accessibility labs that can be included into a variety of curricula ranging from 9-12 to undergraduate and graduate courses. We will also discuss new, innovative and simple ways of including accessibility into already tight curriculum.

Authors: Anthony Peruma and Christian D. Newman

Institutions: University of Hawai‘i at Mānoa and Rochester Institute of Technology

Duration: 1.5 hour

Abstract: A precursor to many software maintenance tasks is program comprehension, where developers read the source code to understand the system's behavior. Consuming a majority of this source code are identifier names, i.e., lexical tokens that uniquely identify entities in the code (such as classes, methods, variables, etc.). Hence, to assist with developer productivity and the quality of their work and thereby with software maintenance costs, it is imperative that identifier names are both readable and understandable. A strong or high-quality name is one that reflects its intended behavior. This tutorial provides an overview of the importance of identifier naming in source code and past research in this field. We also examine common identifier naming structures, best practices, and semantics through examples. More specifically, we introduce the attendees to the concept of naming evolution, grammar patterns, and linguistic anti-patterns. Additionally, we explore how readable names can be of poor quality by examining the context around the usage of terms in the name and their relationship to the surrounding code. Finally, we will also demonstrate tools that help developers with identifier name appraisals and recommendations.

Authors: Zhijie Wang, Yuheng Huang, Lei Ma, Houssem Ben Braiek, and Foutse Khomh

Institutions: University of Alberta and Polytechnique Montréal

Duration: Half day

Abstract: Data-driven AI (e.g., deep learning) has become a driving force and has been applied in many applications across diverse domains. The human-competitive performance makes them stand as core components in complicated software systems for tasks, e.g., computer vision (CV) and natural language processing (NLP). Corresponding to the increasing popularity of deploying more powerful and complicated DL models, there is also a pressing need to ensure the quality and reliability of these AI systems. However, the data-driven paradigm and black-box nature make such AI software fundamentally different from classical software. To this end, new software quality assurance techniques for AI-driven systems are thus challenging and needed. In this tutorial, we introduce the recent progress in AI Quality Assurance, especially for testing techniques for DNNs and provide hands-on experience. We will first give the details and discuss the difference between testing for traditional software and AI software. Then, we will provide hands-on tutorials on testing techniques for feed-forward neural networks (FNNs) with a CV use case and recurrent neural networks (RNNs) with an NLP use case. Finally, we will discuss with the audience the success and failures in achieving the full potential of testing AI software as well as possible improvements and research directions. The materials are available at AI Quality Assurance.

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

Mon 10 Oct

Displayed time zone: Eastern Time (US & Canada) change

10:00 - 10:30
Coffee BreakSocial at Gold B
10:00
15m
Coffee break
Coffee Break
Social

10:30 - 12:00
Inclusive SoftwareTutorials at Gold A
10:30
90m
Tutorial
Teaching How to Create Inclusive Software
Tutorials
The Accessible Learning Labs Rochester Institute of Technology, USA
12:00 - 13:30
LunchSocial at Gold B
12:00
90m
Lunch
Lunch
Social

13:30 - 15:00
Identifier NamingTutorials at Gold A
13:30
90m
Tutorial
A Primer on High-Quality Identifier Naming
Tutorials
Anthony Peruma University of Hawai‘i at Mānoa, Christian D. Newman Rochester Institute of Technology
Media Attached
15:00 - 15:30
Coffee BreakSocial at Gold B
15:00
30m
Coffee break
Coffee Break
Social

15:30 - 17:00
Extract Method RefactoringTutorials at Gold A
15:30
90m
Tutorial
Extract Method Refactoring: Challenges, Opportunities, and Recent Application
Tutorials
Eman Abdullah AlOmar Stevens Institute of Technology, Mohamed Wiem Mkaouer Rochester Institute of Technology, Le Nguyen Rochester Institute of Technology

Fri 14 Oct

Displayed time zone: Eastern Time (US & Canada) change

08:30 - 10:00
AI Quality Assurance I (Part I)Tutorials at Gold C
08:30
90m
Tutorial
AI Quality Assurance
Tutorials
Zhijie Wang University of Alberta, Yuheng Huang University of Alberta, Canada, Lei Ma University of Alberta, Houssem Ben Braiek École Polytechnique de Montréal, Foutse Khomh Polytechnique Montréal
10:00 - 10:30
Coffee BreakSocial at Ballroom B
10:00
30m
Coffee break
Coffee Break
Social

10:30 - 12:00
AI Quality Assurance II (Part II)Tutorials at Gold C
10:30
90m
Tutorial
AI Quality Assurance
Tutorials
Zhijie Wang University of Alberta, Yuheng Huang University of Alberta, Canada, Lei Ma University of Alberta, Houssem Ben Braiek École Polytechnique de Montréal, Foutse Khomh Polytechnique Montréal
12:00 - 13:30
12:00
90m
Lunch
Lunch
Social

Call for Proposals

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 May 13, 2022 and should be submitted at https://ase2022-tutorials.hotcrp.com/.

All submissions must be in PDF format and conform, at time of submission, to the ACM Proceedings Template (LaTEX users must use \documentclass[sigconf,review]{acmart}).

Tutorial proposals will be reviewed by the ASE 2022 tutorial committee. 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.