Hey Alexa: Amazon’s virtual assistant becomes a personal assistant to software developers

May 24, 2018

UBC computer scientists are using Amazon Alexa to handle mundane programming tasks. Photo: istockphoto.

UBC computer scientists have turned Amazon Alexa into a tool for software engineers, tasking the virtual assistant to take care of mundane programming tasks, helping increase productivity and speed up workflow.

Software engineers use many different tools for any one project. They work with millions of lines of computer code and run their code through various independent tools to help edit, build and test systems and for project management to get their programs running smoothly.

“It can be quite complicated to switch between the different tools because they each use a unique syntax and you have to understand how to put them together,” said Nick Bradley, who led this work during his master’s research in computer science at UBC. “The idea to use Alexa came out of my frustration from using these different tools and having to spend so much time looking up how to do it and use those tools together.”

Bradley and computer science professors Reid Holmes and Thomas Fritz decided to test whether Amazon’s virtual assistant could help with this process. They wanted software engineers to use simple, conversational language to ask Alexa to complete some of their tasks, the same way we ask it to give us the weather forecast or play our favourite songs.

Researchers said it was more than just a matter of teaching Alexa some key phrases and mapping different commands to the work, they also had to figure out common multi-step tasks engineers were performing and build a system that could automate those tasks. They then asked 21 engineers from local Vancouver software companies to test out their system and evaluate it. While the engineers found the tool useful and provided lots of positive feedback, there was one challenge.

“The biggest problem was using voice commands in an office environment—they found it distracting to their neighbours,” said Bradley.

The computer scientists’ next development will be to create a chat bot to fulfill a similar function so engineers can type minimal requests and have the system perform their multi-step tasks so they can focus on the more important parts of their jobs.

Holmes says this research is part of a larger effort to understand how software engineers do their jobs.

“The pace of change in the software field is so fast that engineers don’t have time to be introspective and think about the way they work,” he said. “Our job in academia is to step back and really think about how we can better support engineers to quickly and correctly build the kinds of software we depend upon in our modern society. Systems keep getting larger and more complex and using personal assistants could be one way to help developers be more effective within this fast-paced environment.”

The researchers also recognize that these virtual assistants could be programmed for a variety of occupations including medicine, law, or accounting.

“You can imagine a situation where a lawyer is reading a legal brief and asks Alexa to find relevant cases on similar topics to help with research,” said Holmes.

The study will be presented next week at the International Conference on Software Engineering (ICSE) in Gothenburg, Sweden.

 

For more information, contact…

Chris Balma

balma@science.ubc.ca
  • Internet + IT
  • Computer Science

Musqueam First Nation land acknowledegement

UBC Science acknowledges that the UBC Point Grey campus is situated on the traditional, ancestral, and unceded territory of the xʷməθkʷəy̓əm.

Learn more: Musqueam First Nation

Faculty of Science

Office of the Dean, Earth Sciences Building
2178–2207 Main Mall
Vancouver, BC Canada
V6T 1Z4
UBC Crest The official logo of the University of British Columbia. Urgent Message An exclamation mark in a speech bubble. Arrow An arrow indicating direction. Arrow in Circle An arrow indicating direction. A bookmark An ribbon to indicate a special marker. Calendar A calendar. Caret An arrowhead indicating direction. Time A clock. Chats Two speech clouds. External link An arrow pointing up and to the right. Facebook The logo for the Facebook social media service. A Facemask The medical facemask. Information The letter 'i' in a circle. Instagram The logo for the Instagram social media service. Linkedin The logo for the LinkedIn social media service. Lock, closed A closed padlock. Lock, open An open padlock. Location Pin A map location pin. Mail An envelope. Mask A protective face mask. Menu Three horizontal lines indicating a menu. Minus A minus sign. Money A money bill. Telephone An antique telephone. Plus A plus symbol indicating more or the ability to add. RSS Curved lines indicating information transfer. Search A magnifying glass. Arrow indicating share action A directional arrow. Twitter The logo for the Twitter social media service. Youtube The logo for the YouTube video sharing service.