Nav: Home

Computer programming made easier

August 15, 2016

Nobody said computer programming was easy. But maybe in the future, it could be.

In order to simplify program development, a National Science Foundation (NSF)-supported project called Expeditions in Computer Augmented Program Engineering (ExCAPE), is developing technology that provides human operators with automated assistance.

"Computers have revolutionized our daily lives, and yet the way we program computers has changed little in the last several decades," said Rajeev Alur, a professor in the department of computer and information science at the University of Pennsylvania.

Alur heads a team of researchers -- representing nine leading computer science programs in the U.S. -- that collaborates on the ExCAPE project. NSF supports ExCAPE with a $10 million, five-year Expeditions in Computing award, which funds interdisciplinary research teams working to transform computing and technology.

Alur said the team is taking on a longstanding problem: "Software development remains a tedious and error-prone activity."

Using a model of programming called automated program synthesis, however, computers can generate pieces of code based on a user's intent, expressed using various non-code-based forms, such as examples, demonstrations or natural language commands.

"ExCAPE aims to change programming from a purely manual task to one in which a programmer and an automated program synthesis tool can collaborate to generate software that meets its specification," Alur said.

By removing the need for would-be programmers to learn esoteric programming languages, the method has the potential to significantly expand the number of people engaged in programming in a variety of disciplines, from personalized education to robotics.

Programming tools

Emerging technology known as Software-Defined Networks (SDN) allows network operators to tailor a computer network to the traffic running on it, thereby improving efficiency. Most network operators, however, are not traditional programmers and, as a result, cannot take full advantage of all the technology offers.

To address this shortcoming, the ExCAPE team developed a tool called NetEgg that lets a network operator specify the desired functionality of a switch using examples. NetEgg then automatically generates the code needed to implement that behavior while ensuring maximal throughput for network traffic.

Now patented, NetEgg has already been tested in a classroom setting and forms the basis of an NSF I-Corps project, which will explore the product's transition to commercial deployment.

Computer-aided education and beyond

Looking at the growing area of online learning, the ExCAPE team further recognized the role that program synthesis tools could play in generating automatic feedback for students -- analyzing their solutions, grading their assignments, and providing meaningful explanations of their mistakes.

That's why the team created Automata Tutor, which has been used by more than 5,000 students from more than 10 universities around the world. Alur and his colleagues presented the results from the early deployment of Automata Tutor in ACM Transactions on Computer-Human Interaction and at the International Joint Conference on Artificial Intelligence.

The group has created other tools, including AutoProf, which provides feedback on introductory programming assignments in computer languages, such as Python. Another tool, CPSgrader, automatically grades laboratory courses in cyber-physical systems and provides feedback.

More broadly, the ExCAPE team was able to develop a method that formalized and standardized the core computational problem in emerging synthesis tools. Called Syntax-Guided Synthesis, the new method has allowed the team to build a number of prototype solvers over the past two years.

"This effort has been instrumental in advancing the state-of-the-art in computational approaches, and it has facilitated novel applications of program synthesis, for instance, in automatic optimization of programs for quantum computers," Alur said.

Industry adoption

The ExCAPE team's research has affected the commercial software world, too. Its notion of syntax-guided synthesis inspired Microsoft to create automated program synthesizers for its suite of software.

"At Microsoft, we have invested significantly in the field of program synthesis, especially programming-by-examples, and with applications to end-user programming," said Sumit Gulwani, of Microsoft Research, USA.

Microsoft started out by developing domain-specific synthesizers such as FlashFill and FlashExtract, each of which uses examples to generate custom code that improves efficiency. FlashFill, which was released as a feature of Microsoft's Excel 2013, allows data entered into one column of a worksheet table to be entered in a new table column using only a few keystrokes. FlashExtract, which was included in Microsoft's PowerShell and Operations Management Suite, extracts structured data from semi-structured log files using examples.

The technology giant has also developed a generic programming-by-example synthesizer called FlashMeta.

"All of our ongoing development of by-example synthesizers at Microsoft for various domains is now being carried out over the FlashMeta framework," Gulwani said. "In fact, we have set up an entire research and engineering team for development of this framework, called PROSE. This has yielded one order of magnitude effectiveness in the overall development process."

In years to come, the process of using coding languages for programming may be seen as an evolutionary step in computing, just as other methods replaced the punch cards and assembly languages used to program early computers.

"This project builds on decades of foundational advances in formal methods and programming languages," says Nina Amla, program director in the Division of Computing and Communication Foundations at NSF. "It signals a paradigm shift in the way we teach basic programming principles, and develop reliable software systems."
-end-


National Science Foundation

Related Technology Articles:

Technology innovation for neurology
TU Graz researcher Francesco Greco has developed ultra-light tattoo electrodes that are hardly noticeable on the skin and make long-term measurements of brain activity cheaper and easier.
April's SLAS Technology is now available
April's Edition of SLAS Technology Features Cover Article, 'CURATE.AI: Optimizing Personalized Medicine with Artificial Intelligence'.
Technology in higher education: learning with it instead of from it
Technology has shifted the way that professors teach students in higher education.
Post-lithium technology
Next-generation batteries will probably see the replacement of lithium ions by more abundant and environmentally benign alkali metal or multivalent ions.
Rethinking the role of technology in the classroom
Introducing tablets and laptops to the classroom has certain educational virtues, according to Annahita Ball, an assistant professor in the University at Buffalo School of Social Work, but her research suggests that tech has its limitations as well.
The science and technology of FAST
The Five hundred-meter Aperture Spherical radio Telescope (FAST), located in a radio quiet zone, with the targets (e.g., radio pulsars and neutron stars, galactic and extragalactic 21-cm HI emission).
AI technology could help protect water supplies
Progress on new artificial intelligence (AI) technology could make monitoring at water treatment plants cheaper and easier and help safeguard public health.
Transformative technology
UC Davis neuroscientists have developed fluorescence sensors that are opening a new era for the optical recording of dopamine activity in the living brain.
Do the elderly want technology to help them take their medication?
Over 65s say they would find technology to help them take their medications helpful, but need the technology to be familiar, accessible and easy to use, according to research by Queen Mary University of London and University of Cambridge.
Technology detecting RNase activity
A KAIST research team of Professor Hyun Gyu Park at Department of Chemical and Biomolecular Engineering developed a new technology to detect the activity of RNase H, a RNA degrading enzyme.
More Technology News and Technology Current Events

Trending Science News

Current Coronavirus (COVID-19) News

Top Science Podcasts

We have hand picked the top science podcasts of 2020.
Now Playing: TED Radio Hour

Our Relationship With Water
We need water to live. But with rising seas and so many lacking clean water – water is in crisis and so are we. This hour, TED speakers explore ideas around restoring our relationship with water. Guests on the show include legal scholar Kelsey Leonard, artist LaToya Ruby Frazier, and community organizer Colette Pichon Battle.
Now Playing: Science for the People

#568 Poker Face Psychology
Anyone who's seen pop culture depictions of poker might think statistics and math is the only way to get ahead. But no, there's psychology too. Author Maria Konnikova took her Ph.D. in psychology to the poker table, and turned out to be good. So good, she went pro in poker, and learned all about her own biases on the way. We're talking about her new book "The Biggest Bluff: How I Learned to Pay Attention, Master Myself, and Win".
Now Playing: Radiolab

Uncounted
First things first: our very own Latif Nasser has an exciting new show on Netflix. He talks to Jad about the hidden forces of the world that connect us all. Then, with an eye on the upcoming election, we take a look back: at two pieces from More Perfect Season 3 about Constitutional amendments that determine who gets to vote. Former Radiolab producer Julia Longoria takes us to Washington, D.C. The capital is at the heart of our democracy, but it's not a state, and it wasn't until the 23rd Amendment that its people got the right to vote for president. But that still left DC without full representation in Congress; D.C. sends a "non-voting delegate" to the House. Julia profiles that delegate, Congresswoman Eleanor Holmes Norton, and her unique approach to fighting for power in a virtually powerless role. Second, Radiolab producer Sarah Qari looks at a current fight to lower the US voting age to 16 that harkens back to the fight for the 26th Amendment in the 1960s. Eighteen-year-olds at the time argued that if they were old enough to be drafted to fight in the War, they were old enough to have a voice in our democracy. But what about today, when even younger Americans are finding themselves at the center of national political debates? Does it mean we should lower the voting age even further? This episode was reported and produced by Julia Longoria and Sarah Qari. Check out Latif Nasser's new Netflix show Connected here. Support Radiolab today at Radiolab.org/donate.