Engineering Iron Man's JARVIS: Dr. Emily Hill Drew University
Engineering Iron Man's JARVIS: Dr. Emily Hill Drew University
OOPSLE 2015
Art informs Science
JARVIS:
Just A Rather Very Intelligent System
TONY: Connect to the sys. co. Have it reconfigure the shell metals. Use
the gold titanium alloy from the seraphim tactical satellite. That should
ensure a fuselage integrity while maintaining power-to-weight ratio.
Got it?
Challenges:
- unnaturally precise wording?
- Dealing with ambiguity & domain
knowledge
People-Specific Languages
• Domain-specific languages taken to the
extreme
• Open problems:
– What personality/programming traits should be
part of a PSL?
• Male/female?
• Personality features: intro vs extrovert?
– Tool support to convert between PSLs
Informal Software Representations
Phrasal Concepts in Source Code
• Phrasal concepts generalize to arbitrary phrases
using 4 types of semantic roles:
direct object (DO)
– action (verb) e.g., “add item to list”
– theme (direct object) indirect object (IO)
– secondary argument (preposition + indirect object)
– auxiliary arguments (any remaining signature information)
Phrasal Concepts in Source Code
Method invocation sequences:
RANDOOP
Problem Summary: Translation
• High-level NL description of problem ➡
executable code
• Possible solutions/directions:
– Pull out actionable VPs from NL & search for code
examples or chains of invocations (a la RANDOOP)
– Constrain NL (a la Pegasus) or train PL with people-
specific DSLs
– Learn correspondence between HL NL -> PL
• Documentation-code mining (naming conventions &
naming bugs)
• Apply comment generation rules in reverse
End-user naturalistic
programming: