Month: May 2018

The end of April is nigh, which means another edition of our software development news digest. These intriguing stories hopefully provide a measure of insight to your own application engineering efforts. If interested in checking out last month’s digest, just click on the following link. Thanks for reading!

A Deep Learning AI Routine learns how to Code

AI and machine learning continue to make an impact throughout the technology industry. These innovations are found in everything from data analysis to self-driving automobiles. In a similar matter as with robotics, some professionals wonder if their jobs are going to be taken over by a computer in the next decade.

Recently a team at Rice University developed a deep learning routine actually able to write some code. The good news for current developers is the prime directive for this AI application involves helping software engineers more easily handle interfacing with poorly documented APIs. News about this AI innovation appeared earlier this week at Tech Xplore.

The application – called Bayou – performs a deep analysis of APIs in online source code repositories, like GitHub and others, attempting to learn about the API’s usage idioms. The application is focused on the Java language at this time. Swarat Chaudhuri, associate professor of computer science at Rice and one of the creators of Bayou, commented on the tool’s genesis.

“People have tried for 60 years to build systems that can write code, but the problem is that these methods aren’t that good with ambiguity. You usually need to give a lot of details about what the target program does, and writing down these details can be as much work as just writing the code. Bayou is a considerable improvement. A developer can give Bayou a very small amount of information—just a few keywords or prompts, really—and Bayou will try to read the programmer’s mind and predict the program they want,” said Chaudhuri.

Most notably, it analyzed millions of lines of Java code as part of its self-training process. If you want to try the application for your own purposes, just simply ask Bayou.

Fannie Mae makes Software more Secure with Lean

We’ve previously talked about the Lean methodology. Considered a variant of Agile, Lean actually grew out of the manufacturing world in an attempt to make operational processes more efficient. Now, mortgage lender Fannie Mae is leveraging Lean to make its software development process faster and more secure. News about their efforts appeared this week in CSO.

Since implementing Lean in 2013, Fannie Mae’s development cycle decreased by half. Working more efficiently allowed the software engineering team to subsequently make their applications safer from hackers and other nefarious agents. They also saved hundreds of millions of dollars over that time, according to company VP, Michael Garcia.

Writing safer code from the beginning is a core principle of Lean applied to software engineering. Other Agile techniques, like smaller increments and faster testing, improve overall efficiency. The company explored applying the principles Six Sigma to their development process, but ultimately felt Lean made a better fit.

Lean is definitely an Agile variant worthy of evaluation for larger software development shops. A more efficient process simply brings many advantages, including more secure applications and an increase in business value. Dive into the CSO article for a further exploration of the use of Lean at Fannie Mae.

Stay tuned to the Betica Blog for additional news and insights from the constantly evolving world of software development.