YoVDO

Deep Learning and Software Engineering - A Retrospective and Paths Forward

Offered By: Association for Computing Machinery (ACM) via YouTube

Tags

Deep Learning Courses Machine Learning Courses Neural Networks Courses Software Engineering Courses Feature Engineering Courses

Course Description

Overview

Explore the intersection of deep learning and software engineering in this comprehensive ACM SIGSOFT webinar. Delve into the current state of Deep Learning for Software Engineering (DL4SE) research, examining its applications across various tasks like code suggestion, program repair, and synthesis. Analyze the use of different software artifacts and deep learning architectures, and confront pressing challenges in the field. Gain insights into promising future directions and opportunities for impactful, open, and reproducible research in the DL4SE community. Learn about the transition from traditional software engineering to DL-based systems (Software 2.0) and the associated challenges in development, maintenance, testing, debugging, and deployment. Discover how deep learning is revolutionizing software engineering practices and shaping the future of the field.

Syllabus

Intro
Talk Outline
What is Machine Learning?
The Hierarchy of Artificial Intelligence
Machine Learning Taxonomy
ML Representations
Machine Learning vs. Traditional Programming
When do We Need Machine Learning?
The Computational Learning Process
Supervised ML Applied to Image Classificatio
The Five Elements of the Learning Process
Feature Engineering for "Canonical" Machine Learnin
"Canonical" ML Image Classification
Shortcomings of Traditional ML Techniques
The Advent of Deep Learning
Neurons: The Building Blocks of Rich Features
Neural Networks for Rich Embeddings
Automated Feature Discovery
How Can a Model Learn from Deep Embedding
CNN-Accuracy
Deep Learning Advantages and Drawbacks
Mining Software Repositories
Automation in Software Engineering Research
Systematic Literature Review
SLR Search Process
Publication Distribution By Venue
Data Processing Techniques by SE Task
DL4SE Neural Network Architectures
DLUSE Techniques to Combat Overfitting
DL4SE Benchmarks
Consideration of Occam's Razor
Non-Reproducibility Factors
Resulting Guidelines
Future Research Directions in DL4SE (cont'd)
Ethical and Social Considerations of DL4SE
HCI Aspects of Al-Assisted Developer Tools
New Application Areas and Data-Sources
Combining Empirical Knowledge with Deep Learning
Software 1.0 vs. Software 2.0
Software 2.0 = DL-based systems
Optimization by Gradient Descent to Find The Progra
Real-world DL-based System (Software 2.0)
The Transition to Software 2.0
Traditional SE Development vs. DL Developmer
Challenges: Software Development for DL
Challenges: Software Maintenance for DL
Challenges: Testing for DL
Challenges: Debugging for DL
Challenges: DL Deployment
What are the Next Steps?


Taught by

Association for Computing Machinery (ACM)

Related Courses

Neural Networks for Machine Learning
University of Toronto via Coursera
Good Brain, Bad Brain: Basics
University of Birmingham via FutureLearn
Statistical Learning with R
Stanford University via edX
Machine Learning 1—Supervised Learning
Brown University via Udacity
Fundamentals of Neuroscience, Part 2: Neurons and Networks
Harvard University via edX