What's old is new again with MIT's latest bug finder

Called Pasket, it automatically accommodates for today's huge programming frameworks

Debugging code is a perennial headache for software developers, but scientists have announced a new technique that could make the process significantly easier.

Developed at MIT’s Computer Science and Artificial Intelligence Laboratory and the University of Maryland, the method essentially bridges the gap between the traditional technique of symbolic execution and today's modern software, making it possible to debug code far more efficiently.

Symbolic execution is a software-analysis technique that can be used to locate and repair bugs automatically by tracing out every path a program might take during execution. The problem is, that technique doesn't tend to work well with applications written using today’s programming frameworks.

That's because modern applications generally import functions from those frameworks, which include huge libraries of frequently reused code. Analyzing just the application itself might not be a problem, but the process becomes prohibitively time-consuming if the analyzer also has to evaluate every possible instruction for, say, adding a button to a window, including the position of the button on the screen, its movement when a user scrolls up and down, the way it changes appearance when it’s pressed, and so on.

“Forty years ago, if you wanted to write a program, you went in, you wrote the code, and basically all the code you wrote was the code that executed,” said Armando Solar-Lezama, an associate professor at MIT, whose group led the work. “Today, you go and bring in these huge frameworks and these huge pieces of functionality that you then glue together, and you write a little code to get them to interact with each other. If you don’t understand what that big framework is doing, you’re not even going to know where your program is going to start executing.”

To get around the problem, computer scientists often go through a time-consuming and error-prone process of creating models of the imported libraries that describe their interactions with new programs but don’t require their code to be evaluated line by line. In the new study, presented last week at the International Conference on Software Engineering, the researchers created a system that constructs those models automatically.

Dubbed Pasket, the system produced promising results.

"The scalability of Pasket is impressive -- in a few minutes, it synthesized nearly 2,700 lines of code," said Rajiv Gupta, a professor of computer science and engineering at the University of California at Riverside. "Moreover, the generated models compare favorably with manually created ones."

Join the newsletter!

Error: Please check your email address.
Rocket to Success - Your 10 Tips for Smarter ERP System Selection
Keep up with the latest tech news, reviews and previews by subscribing to the Good Gear Guide newsletter.

Katherine Noyes

IDG News Service
Show Comments

Cool Tech

SanDisk MicroSDXC™ for Nintendo® Switch™

Learn more >

Breitling Superocean Heritage Chronographe 44

Learn more >

Toys for Boys

Family Friendly

Panasonic 4K UHD Blu-Ray Player and Full HD Recorder with Netflix - UBT1GL-K

Learn more >

Stocking Stuffer

Razer DeathAdder Expert Ergonomic Gaming Mouse

Learn more >

Christmas Gift Guide

Click for more ›

Most Popular Reviews

Latest Articles

Resources

PCW Evaluation Team

Edwina Hargreaves

WD My Cloud Home

I would recommend this device for families and small businesses who want one safe place to store all their important digital content and a way to easily share it with friends, family, business partners, or customers.

Walid Mikhael

Brother QL-820NWB Professional Label Printer

It’s easy to set up, it’s compact and quiet when printing and to top if off, the print quality is excellent. This is hands down the best printer I’ve used for printing labels.

Ben Ramsden

Sharp PN-40TC1 Huddle Board

Brainstorming, innovation, problem solving, and negotiation have all become much more productive and valuable if people can easily collaborate in real time with minimal friction.

Sarah Ieroianni

Brother QL-820NWB Professional Label Printer

The print quality also does not disappoint, it’s clear, bold, doesn’t smudge and the text is perfectly sized.

Ratchada Dunn

Sharp PN-40TC1 Huddle Board

The Huddle Board’s built in program; Sharp Touch Viewing software allows us to easily manipulate and edit our documents (jpegs and PDFs) all at the same time on the dashboard.

George Khoury

Sharp PN-40TC1 Huddle Board

The biggest perks for me would be that it comes with easy to use and comprehensive programs that make the collaboration process a whole lot more intuitive and organic

Featured Content

Product Launch Showcase

Latest Jobs

Don’t have an account? Sign up here

Don't have an account? Sign up now

Forgot password?