SlideShare a Scribd company logo
UsingAI for automatic synthesis
of computer programs
Boris Cergol, PhD
Head of AI, Comtrade Digital Services
Shift AI
Introduction
Machine learning Software engineering
CI/CD, versioning, QA,
agile, data management,
microservices,
containters,…
AutoML,
NAS
?
Automatic program generation
Program
specification
Program
specification
Human-readable
program satisfying
specification
Non-interpretable
program satisfying
specification
Program synthesis
Program induction
Program synthesis with different specifications
Specification type Program synthesis type
Input-output (I/O) pairs Programming-by-example (PBE)
Incomplete code, complete Code completion
Faulty code, repair Program repair
Code, target language Code migration
Natural language Code generation/semantic parsing
Demonstration Programming-by-demonstration
(PBD)
Code, natural language, screenshots,
speech,…
Multimodal program synthesis
Why is program synthesis hard?
Program
space
intractability
Domain
specific
languages
Lack
of
data
Synthetic
data
Generalization
Specification
multi-modality
User intent
interpretation
Program
evaluation
metrics
Discrete
representatio
ns
Long
dependencies
Large
vocabularies
Rich structure
Sensitivity to
changes
Neural program synthesis
Deep learning often applied to program synthesis through encoder-decoder seq2seq type models.
I/O pairs Encoder Embedding Decoder Program
Neural vs Symbolic
Source: https://github.com/crazydonkey200/neural-symbolic-machines
Marcus, Gary. "The next decade in AI: four steps
towards robust artificial intelligence." arXiv preprint
arXiv:2002.06177 (2020).
Example of neural-symbolic hybrid
CounterExample Guided Neural Synthesis [Polgreen 2020]
1) Use symbolic SMT solver to turn logical specification into I/O examples.
2) Use neural network to generate candidate programs.
3) Use symbolic SMT solver to verify candidate programs.
[Polgreen 2020] Polgreen, Elizabeth, Ralph Abboud, and Daniel Kroening. "CounterExample Guided Neural
Synthesis." arXiv preprint arXiv:2001.09245 (2020).
Example of neural-symbolic hybrid
Learning to Infer Program Sketches [Nye 2019]
1) When programming, humans seem to combine learned patterns and explicit reasoning.
2) Program sketch: schematic outline of full program
3) Neural network generates candidate sketches.
4) Sketches are converted to full programs using symbolic synthesis.
[Nye 2019] Nye, Maxwell, et al. "Learning to infer program sketches." arXiv preprint
arXiv:1902.06349 (2019).
Reinforcement learning
Write, Execute, Assess: Program Synthesis with a REPL [Ellis 2019]
1) Use reinforcement learning to explore semantic space of programs.
2) Inspired by human trial-and-error programming and AlphaGo architecture.
3) Policy proposes code to write, value function evaluates long-term prospects of code.
4) Interpreter bridges gap between syntax and semantics.
[Ellis 2019] Ellis, Kevin, et al. "Write, execute, assess: Program synthesis with a repl." Advances in Neural
Information Processing Systems. 2019.
Some more reinforcement
1) Xu, Yifan, et al. "Neural Program Synthesis By Self-Learning." arXiv preprint
arXiv:1910.05865 (2019)
Learn to synthesize assembly code without any human knowledge.
2) Pierrot, Thomas, et al. "Learning compositional neural programs with recursive tree search and
planning." Advances in Neural Information Processing Systems. 2019.
Learn to synthesize a hierarchic library of programs required to solve a problem.
3) Liu, Xiao, et al. "Reinforcement Compiler Fuzzing." (2019)
Learn an agent that can generate programs to perform fuzz testing of compilers.
Commercial solutions?
Flash Fill in Excel
Prose
IntelliCode in VS
Aroma
Big Tech
CodeGuru
Startups
?
TF-Coder by Google
Programming-by-example system that
automatically synthesizes tensor
manipulation programs from input/output
examples and natural language
descriptions.
“TF-Coder often produces solutions that are
simpler and more elegant than those written
by TensorFlow experts (including the
authors of this paper).”
TF-Coder: Program Synthesis for Tensor Manipulations
Moving beyond software engineering
Duan, Xuguang, et al. "Watch, Reason and Code: Learning to Represent Videos Using
Program." Proceedings of the 27th ACM International Conference on Multimedia. 2019.
Synthesis of programs that describe processes carried out in videos
Moving beyond software engineering
Chollet, Franccois. “On the Measure of Intelligence.” ArXiv abs/1911.01547 (2019)
“The measure of the success of our message will be its ability to divert
the attention of some part of the community interested in general AI,
away from surpassing humans at tests of skill, towards investigating the
development of human-like broad cognitive abilities, through the lens
of program synthesis, Core Knowledge priors, curriculum optimization,
information efficiency, and achieving extreme generalization through
strong abstraction”
Thank you for
you attention
Boris Cergol
boris.cergol@comtrade.com
https://comtradedigital.com/
https://www.comtrade.ai/

More Related Content

PDF
Sudipta mukherjee
PDF
Sudipta_Mukherjee_2016_2017
PDF
HKOSCon18 - Chetan Khatri - Open Source AI / ML Technologies and Application ...
PDF
Rajas mhaskar resume2k19
PDF
Resume for project
PDF
Harshal-Govind3.0
PDF
PDF
Resume dilip kumar_gangwar
Sudipta mukherjee
Sudipta_Mukherjee_2016_2017
HKOSCon18 - Chetan Khatri - Open Source AI / ML Technologies and Application ...
Rajas mhaskar resume2k19
Resume for project
Harshal-Govind3.0
Resume dilip kumar_gangwar

What's hot (19)

PDF
Lec 1 25_jul13
PPTX
AI programming languages
PDF
Reversing and Patching Machine Code
PDF
Development of AI Applications without Machine Learning Skills
PDF
Goyal_cv
PDF
Siddhesh Dilip Rumde Resume
PDF
A smart source code editor for c
PDF
cv_viktor_toth
PDF
Hello world-thisIsSowmya
DOC
Unit64 asset list_191113
PDF
International Journal of Artificial Intelligence & Machine Learning (IJAIML)
PPTX
Python & Data Science
PDF
Pritam
DOCX
Raspberry pi based auto image description and converting to speech and text f...
PDF
International Journal of Artificial Intelligence & Machine Learning (IJAIML)
PDF
KevinKatsisResume
PDF
Presenter manual android development (specially for summer interns)
PPTX
The best programming language for Artificial Intelligence and Machine Learning
DOC
Nanaji_Sahukara
Lec 1 25_jul13
AI programming languages
Reversing and Patching Machine Code
Development of AI Applications without Machine Learning Skills
Goyal_cv
Siddhesh Dilip Rumde Resume
A smart source code editor for c
cv_viktor_toth
Hello world-thisIsSowmya
Unit64 asset list_191113
International Journal of Artificial Intelligence & Machine Learning (IJAIML)
Python & Data Science
Pritam
Raspberry pi based auto image description and converting to speech and text f...
International Journal of Artificial Intelligence & Machine Learning (IJAIML)
KevinKatsisResume
Presenter manual android development (specially for summer interns)
The best programming language for Artificial Intelligence and Machine Learning
Nanaji_Sahukara
Ad

Similar to Shift AI 2020: Using AI for automatic synthesis | Boris Cergol (Comtrade Digital Services) (20)

PPTX
AI_Prompt_engineering_and_LLMs- Data Science digest.pptx
PPTX
Unit 2 computer software
PPT
artificial engineering the future of computing
PPTX
Introduction to computer programming
PPTX
Intelligent Software Engineering: Synergy between AI and Software Engineering
PPTX
ACM Chicago March 2019 meeting: Software Engineering and AI - Prof. Tao Xie, ...
PDF
Compiler Design Introduction
PPTX
Semantic-Aware Code Model: Elevating the Future of Software Development
PDF
ARTIFICIAL INTELLIGENCE_21CS3002.pdf pppt
PDF
structured programming Introduction to c fundamentals
PPT
PPTX
Cs1123 2 comp_prog
PPSX
Artificial intelligence
PPT
computer programming introduction ppt.ppt
DOC
Savage_Samuel.doc
PDF
PDF
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
PDF
Big data and AI presentation slides
PPTX
programming for problem solving-1 unit -1 ppt.pptx
PDF
MSRA 2018: Intelligent Software Engineering: Synergy between AI and Software ...
AI_Prompt_engineering_and_LLMs- Data Science digest.pptx
Unit 2 computer software
artificial engineering the future of computing
Introduction to computer programming
Intelligent Software Engineering: Synergy between AI and Software Engineering
ACM Chicago March 2019 meeting: Software Engineering and AI - Prof. Tao Xie, ...
Compiler Design Introduction
Semantic-Aware Code Model: Elevating the Future of Software Development
ARTIFICIAL INTELLIGENCE_21CS3002.pdf pppt
structured programming Introduction to c fundamentals
Cs1123 2 comp_prog
Artificial intelligence
computer programming introduction ppt.ppt
Savage_Samuel.doc
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
Big data and AI presentation slides
programming for problem solving-1 unit -1 ppt.pptx
MSRA 2018: Intelligent Software Engineering: Synergy between AI and Software ...
Ad

More from Shift Conference (20)

PDF
Shift Remote: AI: How Does Face Recognition Work (ars futura)
PDF
Shift Remote: AI: Behind the scenes development in an AI company - Matija Ili...
PDF
Shift Remote: AI: Smarter AI with analytical graph databases - Victor Lee (Ti...
PDF
Shift Remote: DevOps: Devops with Azure Devops and Github - Juarez Junior (Mi...
PDF
Shift Remote: DevOps: Autodesks research into digital twins for AEC - Kean W...
PPTX
Shift Remote: DevOps: When metrics are not enough, and everyone is on-call - ...
PDF
Shift Remote: DevOps: Modern incident management with opsgenie - Kristijan L...
PDF
Shift Remote: DevOps: Gitlab ci hands-on experience - Ivan Rimac (Barrage)
PDF
Shift Remote: DevOps: DevOps Heroes - Adding Advanced Automation to your Tool...
PDF
Shift Remote: DevOps: An (Un)expected Journey - Zeljko Margeta (RBA)
PDF
Shift Remote: Game Dev - Localising Mobile Games - Marta Kunic (Nanobit)
PDF
Shift Remote: Game Dev - Challenges Introducing Open Source to the Games Indu...
PDF
Shift Remote: Game Dev - Ghost in the Machine: Authorial Voice in System Desi...
PDF
Shift Remote: Game Dev - Building Better Worlds with Game Culturalization - K...
PPTX
Shift Remote: Game Dev - Open Match: An Open Source Matchmaking Framework - J...
PDF
Shift Remote: Game Dev - Designing Inside the Box - Fernando Reyes Medina (34...
PDF
Shift Remote: Mobile - Efficiently Building Native Frameworks for Multiple Pl...
PDF
Shift Remote: Mobile - Introduction to MotionLayout on Android - Denis Fodor ...
PDF
Shift Remote: Mobile - Devops-ify your life with Github Actions - Nicola Cort...
PPTX
Shift Remote: WEB - GraphQL and React – Quick Start - Dubravko Bogovic (Infobip)
Shift Remote: AI: How Does Face Recognition Work (ars futura)
Shift Remote: AI: Behind the scenes development in an AI company - Matija Ili...
Shift Remote: AI: Smarter AI with analytical graph databases - Victor Lee (Ti...
Shift Remote: DevOps: Devops with Azure Devops and Github - Juarez Junior (Mi...
Shift Remote: DevOps: Autodesks research into digital twins for AEC - Kean W...
Shift Remote: DevOps: When metrics are not enough, and everyone is on-call - ...
Shift Remote: DevOps: Modern incident management with opsgenie - Kristijan L...
Shift Remote: DevOps: Gitlab ci hands-on experience - Ivan Rimac (Barrage)
Shift Remote: DevOps: DevOps Heroes - Adding Advanced Automation to your Tool...
Shift Remote: DevOps: An (Un)expected Journey - Zeljko Margeta (RBA)
Shift Remote: Game Dev - Localising Mobile Games - Marta Kunic (Nanobit)
Shift Remote: Game Dev - Challenges Introducing Open Source to the Games Indu...
Shift Remote: Game Dev - Ghost in the Machine: Authorial Voice in System Desi...
Shift Remote: Game Dev - Building Better Worlds with Game Culturalization - K...
Shift Remote: Game Dev - Open Match: An Open Source Matchmaking Framework - J...
Shift Remote: Game Dev - Designing Inside the Box - Fernando Reyes Medina (34...
Shift Remote: Mobile - Efficiently Building Native Frameworks for Multiple Pl...
Shift Remote: Mobile - Introduction to MotionLayout on Android - Denis Fodor ...
Shift Remote: Mobile - Devops-ify your life with Github Actions - Nicola Cort...
Shift Remote: WEB - GraphQL and React – Quick Start - Dubravko Bogovic (Infobip)

Recently uploaded (20)

PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
Spectroscopy.pptx food analysis technology
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Encapsulation theory and applications.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
sap open course for s4hana steps from ECC to s4
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Empathic Computing: Creating Shared Understanding
PDF
KodekX | Application Modernization Development
NewMind AI Weekly Chronicles - August'25 Week I
Spectroscopy.pptx food analysis technology
Digital-Transformation-Roadmap-for-Companies.pptx
20250228 LYD VKU AI Blended-Learning.pptx
Encapsulation theory and applications.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
MIND Revenue Release Quarter 2 2025 Press Release
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Mobile App Security Testing_ A Comprehensive Guide.pdf
Unlocking AI with Model Context Protocol (MCP)
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
sap open course for s4hana steps from ECC to s4
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Network Security Unit 5.pdf for BCA BBA.
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Spectral efficient network and resource selection model in 5G networks
Empathic Computing: Creating Shared Understanding
KodekX | Application Modernization Development

Shift AI 2020: Using AI for automatic synthesis | Boris Cergol (Comtrade Digital Services)

  • 1. UsingAI for automatic synthesis of computer programs Boris Cergol, PhD Head of AI, Comtrade Digital Services Shift AI
  • 2. Introduction Machine learning Software engineering CI/CD, versioning, QA, agile, data management, microservices, containters,… AutoML, NAS ?
  • 3. Automatic program generation Program specification Program specification Human-readable program satisfying specification Non-interpretable program satisfying specification Program synthesis Program induction
  • 4. Program synthesis with different specifications Specification type Program synthesis type Input-output (I/O) pairs Programming-by-example (PBE) Incomplete code, complete Code completion Faulty code, repair Program repair Code, target language Code migration Natural language Code generation/semantic parsing Demonstration Programming-by-demonstration (PBD) Code, natural language, screenshots, speech,… Multimodal program synthesis
  • 5. Why is program synthesis hard? Program space intractability Domain specific languages Lack of data Synthetic data Generalization Specification multi-modality User intent interpretation Program evaluation metrics Discrete representatio ns Long dependencies Large vocabularies Rich structure Sensitivity to changes
  • 6. Neural program synthesis Deep learning often applied to program synthesis through encoder-decoder seq2seq type models. I/O pairs Encoder Embedding Decoder Program
  • 7. Neural vs Symbolic Source: https://github.com/crazydonkey200/neural-symbolic-machines Marcus, Gary. "The next decade in AI: four steps towards robust artificial intelligence." arXiv preprint arXiv:2002.06177 (2020).
  • 8. Example of neural-symbolic hybrid CounterExample Guided Neural Synthesis [Polgreen 2020] 1) Use symbolic SMT solver to turn logical specification into I/O examples. 2) Use neural network to generate candidate programs. 3) Use symbolic SMT solver to verify candidate programs. [Polgreen 2020] Polgreen, Elizabeth, Ralph Abboud, and Daniel Kroening. "CounterExample Guided Neural Synthesis." arXiv preprint arXiv:2001.09245 (2020).
  • 9. Example of neural-symbolic hybrid Learning to Infer Program Sketches [Nye 2019] 1) When programming, humans seem to combine learned patterns and explicit reasoning. 2) Program sketch: schematic outline of full program 3) Neural network generates candidate sketches. 4) Sketches are converted to full programs using symbolic synthesis. [Nye 2019] Nye, Maxwell, et al. "Learning to infer program sketches." arXiv preprint arXiv:1902.06349 (2019).
  • 10. Reinforcement learning Write, Execute, Assess: Program Synthesis with a REPL [Ellis 2019] 1) Use reinforcement learning to explore semantic space of programs. 2) Inspired by human trial-and-error programming and AlphaGo architecture. 3) Policy proposes code to write, value function evaluates long-term prospects of code. 4) Interpreter bridges gap between syntax and semantics. [Ellis 2019] Ellis, Kevin, et al. "Write, execute, assess: Program synthesis with a repl." Advances in Neural Information Processing Systems. 2019.
  • 11. Some more reinforcement 1) Xu, Yifan, et al. "Neural Program Synthesis By Self-Learning." arXiv preprint arXiv:1910.05865 (2019) Learn to synthesize assembly code without any human knowledge. 2) Pierrot, Thomas, et al. "Learning compositional neural programs with recursive tree search and planning." Advances in Neural Information Processing Systems. 2019. Learn to synthesize a hierarchic library of programs required to solve a problem. 3) Liu, Xiao, et al. "Reinforcement Compiler Fuzzing." (2019) Learn an agent that can generate programs to perform fuzz testing of compilers.
  • 12. Commercial solutions? Flash Fill in Excel Prose IntelliCode in VS Aroma Big Tech CodeGuru Startups ?
  • 13. TF-Coder by Google Programming-by-example system that automatically synthesizes tensor manipulation programs from input/output examples and natural language descriptions. “TF-Coder often produces solutions that are simpler and more elegant than those written by TensorFlow experts (including the authors of this paper).” TF-Coder: Program Synthesis for Tensor Manipulations
  • 14. Moving beyond software engineering Duan, Xuguang, et al. "Watch, Reason and Code: Learning to Represent Videos Using Program." Proceedings of the 27th ACM International Conference on Multimedia. 2019. Synthesis of programs that describe processes carried out in videos
  • 15. Moving beyond software engineering Chollet, Franccois. “On the Measure of Intelligence.” ArXiv abs/1911.01547 (2019) “The measure of the success of our message will be its ability to divert the attention of some part of the community interested in general AI, away from surpassing humans at tests of skill, towards investigating the development of human-like broad cognitive abilities, through the lens of program synthesis, Core Knowledge priors, curriculum optimization, information efficiency, and achieving extreme generalization through strong abstraction”
  • 16. Thank you for you attention Boris Cergol boris.cergol@comtrade.com https://comtradedigital.com/ https://www.comtrade.ai/