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.
Mon 10 OctDisplayed time zone: Eastern Time (US & Canada) change
10:00 - 10:30 | |||
10:00 15mCoffee break | Coffee Break Social |
10:30 - 12:00 | |||
10:30 90mTutorial | Teaching How to Create Inclusive Software Tutorials The Accessible Learning Labs Rochester Institute of Technology, USA |
13:30 - 15:00 | |||
13:30 90mTutorial | 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 | |||
15:00 30mCoffee break | Coffee Break Social |
15:30 - 17:00 | |||
15:30 90mTutorial | 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 OctDisplayed time zone: Eastern Time (US & Canada) change
08:30 - 10:00 | |||
08:30 90mTutorial | 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 | |||
10:00 30mCoffee break | Coffee Break Social |
10:30 - 12:00 | |||
10:30 90mTutorial | 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 90mLunch | Lunch Social |
Accepted Tutorials
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.