Automating Software Development with Deep Learning Emil Wallner, 42, QCon São Paulo, 2019-05-7
01001001001010101010100111110110101010101000001010111010101010111101010111 00011100011011001100101010010101000101010100101010010101010100101010101010 10001010101010000000001111111010101111101000101010101010010010010010101010 10100111110110101010101000001010111010101010111101010111000111000110110011 00101010010101000101010100101010010101010100101010101010100010101010100000 00001111111010101111101000101010101010010010010010101010101001111101101010 10101000001010111010101010111101010111000111000110110011001010100101010001 01010100101010010101010100101010101010100010101010100000000011111110101011 11101000101010101010010010010010101010101001111101101010101010000010101110 10101010111101010111000111000110110011001010100101010001010101001010100101 01010100101010101010100010101010100000000011111110101011111010001010101010 10010010010010101010101001111101101010101010000010101110101010101111010101 11000111000110110011001010100101010001010101001010100101010101001010101010 10100010101010100000000011111110101011111010001010101010100100100100101010 10101001111101101010101010000010101110101010101111010101110001110001101100 11001010100101010001010101001010100101010101001010101010101000101010101000 Software Development 00000011111110101011111010001010101010100100100100101010101010011111011010 10101010000010101110101010101111010101110001110001101100110010101001010100 01010101001010100101010101001010101010101000101010101000000000111111101010 11111010001010101010100100100100101010101010011111011010101010100000101011 as Data 10101010101111010101110001110001101100110010101001010100010101010010101001 01010101001010101010101000101010101000000000111111101010111110100010101010 10100100100100101010101010011111011010101010100000101011101010101011110101 01110001110001101100110010101001010100010101010010101001010101010010101010 10101000101010101000000000111111101010111110100010101010101001001001001010 10101010011111011010101010100000101011101010101011110101011100011100011011 00110010101001010100010101010010101001010101010010101010101010001010101010 00000000111111101010111110100010101010101001001001001010101010100111110110 10101010100000101011101010101011110101011100011100011011001100101010010101 00010101010010101001010101010010101010101010001010101010000000001111111010 10111110100010101010101001001001001010101010100111110110101010101000001010 11101010101011110101011100011100011011001100101010010101000101010100101010 01010101010010101010101010001010101010000000001111111010101111101000101010 10101001001001001010101010100111110110101010101000001010111010101010111101 01011100011100011011001100101010010101000101010100101010010101010100101010 10101010001010101010000000001111111010101111101000101010101010010010010010 10101010100111110110101010101000001010111010101010111101010111000111000110
Software 1.0 - Traditional Software 2.0 - Deep learning Software 2.5 - Blended models
1.0
2.0
Source: Andrej Karpathy on Software 2.0
Software engineers are becoming data scientists
Can we automate software development 1.0 with 2.0 software?
2.5
Researchers seek to leverage their human knowledge of the domain, but the only thing that matters in the long run is the leveraging of computation. - Richard S. Sutton
2.5 2.0 1.0 Complexity
Novel Manifolds/Scalability Automation of integrated systems s m e t s y s d e s o l c f o n o i t a m o t u A Assisted Software Development Time Today
Understand an image Generate semantically correct text Correlate objects in images with text
Convolutional Neural Networks Recurrent Neural Networks Image Captioning Models
Start <HTML> <center> <H1> Hello World! </H1> </center> </HTML> End
Core structure: Pix2code (Tony Beltramelli, 2017)
GPT-2
Source: Thomas Leiterman using UIzard
01001001001010101010100111110110101010101000001010111010101010111101010111 00011100011011001100101010010101000101010100101010010101010100101010101010 10001010101010000000001111111010101111101000101010101010010010010010101010 10100111110110101010101000001010111010101010111101010111000111000110110011 00101010010101000101010100101010010101010100101010101010100010101010100000 00001111111010101111101000101010101010010010010010101010101001111101101010 10101000001010111010101010111101010111000111000110110011001010100101010001 01010100101010010101010100101010101010100010101010100000000011111110101011 11101000101010101010010010010010101010101001111101101010101010000010101110 10101010111101010111000111000110110011001010100101010001010101001010100101 01010100101010101010100010101010100000000011111110101011111010001010101010 10010010010010101010101001111101101010101010000010101110101010101111010101 11000111000110110011001010100101010001010101001010100101010101001010101010 10100010101010100000000011111110101011111010001010101010100100100100101010 10101001111101101010101010000010101110101010101111010101110001110001101100 11001010100101010001010101001010100101010101001010101010101000101010101000 Software Development 00000011111110101011111010001010101010100100100100101010101010011111011010 10101010000010101110101010101111010101110001110001101100110010101001010100 01010101001010100101010101001010101010101000101010101000000000111111101010 11111010001010101010100100100100101010101010011111011010101010100000101011 as Data 10101010101111010101110001110001101100110010101001010100010101010010101001 01010101001010101010101000101010101000000000111111101010111110100010101010 10100100100100101010101010011111011010101010100000101011101010101011110101 01110001110001101100110010101001010100010101010010101001010101010010101010 10101000101010101000000000111111101010111110100010101010101001001001001010 10101010011111011010101010100000101011101010101011110101011100011100011011 00110010101001010100010101010010101001010101010010101010101010001010101010 00000000111111101010111110100010101010101001001001001010101010100111110110 10101010100000101011101010101011110101011100011100011011001100101010010101 00010101010010101001010101010010101010101010001010101010000000001111111010 10111110100010101010101001001001001010101010100111110110101010101000001010 11101010101011110101011100011100011011001100101010010101000101010100101010 01010101010010101010101010001010101010000000001111111010101111101000101010 10101001001001001010101010100111110110101010101000001010111010101010111101 01011100011100011011001100101010010101000101010100101010010101010100101010 10101010001010101010000000001111111010101111101000101010101010010010010010 10101010100111110110101010101000001010111010101010111101010111000111000110
Progress Time
Image recognition Image generation Voice recognition Board games Multiplayer games Text understanding Translation Self-driving Cars Medical Image Analysis Protein Folding Handwriting Fraud detection
Progress Time
Novel Manifolds/Scalability Automation of integrated systems s m e t s y s d e s o l c f o n o i t a m o t u A Assisted Software Development Time Today
Complexity Undefined Tasks Empathy Novel Manifolds Creativity Scalability Critical thinking
2.5 2.0 1.0 Complexity
Scalability 2.5 Novel Manifolds 2.0 1.0
Augmented IDE Social Media App Bank API
Refactoring Autocomplete Code reviewing User testing GUI prototyping Semantic code search Security issues Monitoring
Scalable Novel Manifolds
Dynamic pages Linking pages Using Variables Security Rules Integrating databases
Scalable Novel Manifolds
API roles Transactions ATM integrations Communication World Model Deep Security Troubleshooting
Scalable Novel Manifolds
Systems of A program Functions Programs A document Paragraphs Documents Dynamic GUI Static GUI Advanced GUIs Conversations Short Conversations Expert-level with context Dialogs
Novel Manifolds/Scalability Automation of integrated systems s m e t s y s d e s o l c f o n o i t a m o t u A Assisted Software Development Time Today
emilwallner (github/twitter) w@llner.co
Recommend
More recommend