Software automation typically refers to the process of generating software automatically based on formal or informal specifications. In the research community, software automation has been a decades-long dream, where software developers are freed from tedious programming tasks for constructing the initial version of software, and from expensive software maintenance tasks for evolving the software to future versions in order to catch up with the changes from requirements or execution environments. Example software automation technologies include program synthesis, code completion, program transformation, code recommendation, program repair, and software self-evolution. In the past decade, software development, maintenance, and deployment produce a huge volume of software engineering data such as source code, version histories, feature specifications, bug reports, test cases, execution traces/logs, and real-world user feedback. These data supply a valuable source of inputs for software automation technologies. These data supplies provide great potential to substantially boost these technologies’ effectiveness and efficiency toward realizing software automation in not only academic settings but also industrial settings. This technical briefing discusses recent research and future directions in data-driven software automation, as an important objective in the increasingly popular fields of software analytics and intelligent software engineering.
Wed 8 JulDisplayed time zone: (UTC) Coordinated Universal Time change
00:00 - 01:30 | |||
00:00 90mTalk | Data-Driven Software Automation Technical Briefings Tao Xie Peking University, Ge Li Peking University, Jian-Guang Lou Microsoft Research, Dongmei Zhang Microsoft Research, China |