Archive 10 academic presentations from ~/Downloads/slides/ (2014-2018)
- PhD defense slides (defense.key, Nov 2018) → phd_defense/ - Master's defense on MOOC peer evaluation (Dec 2014) - ENGI 600 data-driven program repair (Apr 2015) - COMP 600 data-driven program completion (Fall 2015, Spring 2016) - COMP 600 Program Splicing presentation + feedback + response (Spring 2018) - Program Splicing slides in .key and .pdf formats (Spring 2018) Each file has a .md transcription with academic frontmatter. Skipped www2015.pdf (duplicate of existing www15.zip) and syncthing conflict copy.
This commit is contained in:
55
documents/academic/presentations/engi600_2015.md
Normal file
55
documents/academic/presentations/engi600_2015.md
Normal file
@@ -0,0 +1,55 @@
|
||||
---
|
||||
category: academic
|
||||
type: academic
|
||||
person: Yanxin Lu
|
||||
date: 2015-04
|
||||
source: engi600_2015.pptx
|
||||
---
|
||||
|
||||
# ENGI 600: Data-Driven Program Repair
|
||||
|
||||
Yanxin Lu, Swarat Chaudhuri, Christopher Jermaine, Joe Warren, and Scott Rixner. 12 slides.
|
||||
|
||||
## Slide 1: Title
|
||||
Data-Driven Program Repair
|
||||
|
||||
## Slide 2: Debugging is difficult
|
||||
|
||||
## Slide 3: Related work
|
||||
- Talus, tutoring system (Murray, 1986) — reference program, program analysis
|
||||
- Mutation (Debroy and Wong, 2010) — predefined rules for mutating programs
|
||||
|
||||
## Slide 4: Data-driven program repair
|
||||
- Code database for evaluatePoly
|
||||
- Incorrect Program → Correct Program
|
||||
|
||||
## Slide 5: EvaluatePoly
|
||||
- A program which evaluates polynomials
|
||||
- Poly: a list of coefficients
|
||||
- X: the x value in the polynomial
|
||||
|
||||
## Slide 6: Similar and correct implementations
|
||||
- Distance between programs
|
||||
- Incorrect Program → Code Database → Correct Programs → Template Generation
|
||||
|
||||
## Slide 7: Template Generation
|
||||
- Find differences and replace them with holes
|
||||
- Ignore variable names
|
||||
|
||||
## Slide 8: Filling in the Holes
|
||||
- Search for ways to replace holes
|
||||
- Variable Renaming
|
||||
|
||||
## Slide 9: Variable Renaming
|
||||
- Rename variables in the good program
|
||||
|
||||
## Slide 10: Unit Testing
|
||||
- Filter all incorrect fixes using unit testing
|
||||
- If multiple correct fixes, choose the most similar one
|
||||
|
||||
## Slide 11: Experiment
|
||||
|
||||
## Slide 12: Conclusion
|
||||
- Data-driven program repair
|
||||
- Effective in fixing small incorrect programs
|
||||
- Computer science education — same mistakes
|
||||
Reference in New Issue
Block a user