From internship project to published research and a role at Amazon

Building quality software tends to follow a well -known routine for most developers. You type code on your computer with an integrated development environment (idea), and to check for any security errors, upload it to a central restitor and run a security scan. The results appear on dashboard in your web browser, separate from idea.

Linghui Luo was asked to consider this workflow during a five-month internship at Amazon Web Services (AWS) in 2020. On the basis, she came up with a prototype for a new way of running security scans. The prototype became the basis of a research article from 2021 and developed into the newly launched Amazon Codeguru Security plugin for two ides, Amazon Sagemaker Studio and Jupyter Notebooks.

View Amazon’s Berlin Research Office

Customer-Obsished Science produced by Teams in Berlin is integrated into several Amazon products and services, including retail, Alexa, Robotics and more.

Luo joined Amazon full time in early 2022 as AWS AWS scientist, shortly after Øre-Ph in computer science at the Heinz Nixdorf Institute at Paderborn University in Germany. Now, based in Berlin, she has continued her research into faster, lighter methods of one -sting code is stable and secure. The first line of her GitHub biography -page says it best: “The use of security analysis tools must become an industrial convention in safe software development. However, we need to create useful analysis tools first.”

Stringing of security scans

Luo’s work makes it easier for developers to use Amazon Codeguru Security, a tool that can identify critical problems, safety vulnerability and difficult to find bugs. Codeguru Security is a static analysis tool, which means it evaluates each code line without running it, which allows you to go out of the problems as the workplace progress.

But she doesn’t just focus on the software – she also studies the developers who use it. The results confirm an important Amazon practice: Works backwards from the customer.

Codeguru Security works in the cloud, which is ideal for static analysis tools – partly those who perform the kind of deep analysis that safety test requires. In the cloud, users can track and shops from in a central rent, and each scan runs more efficiently than it would on a single machine.

Notebook-interface.jpg

Related content

Based on study of thousands of machine learning practitioners, a new Codeguru extension solves common problems, such as code cell execution order, incorrect API calls and security.

When developers use popular continuous integration workflows, they receive security recommendations each time they push code. Appear in the developer’s web browser.

What if developers could have a direct line to Codeguru security, run static analysis in the cloud from idea? This was the challenge that AWS used scientist Martin Schäf, who was going to Luo for her internship.

“In the beginning, most people would think this is a software technical problem, but it actually isn’t,” Luo said. “What we took was basically a user -centric approach.”

Start with the user

Luo first interview AWS developers to determine what they accelerated from an idea-based static analysis tool. When should the analysis happen? How automated should it be? How long did they think it should take?

The problem may not be as straightforward as it sounds. While some tools are already performing static analysis within an idea, it is typically “lightweight” scanning that catches shiny problems and takes maybe 10 seconds at most to complete. Static Application Safety Test on the other hand more intensively at the code. It takes several minutes, even with sky resources – in the past such a test was much slower and took hours. Successful integration would have to control the user’s expectations of timing, among other aspects.

Dynamodb 10 Jubilee.png

Related content

Priority of predictability rather than efficiency, data partitioning to traffic and continuous verification are a few of the principles that help ensure stability, accessibility and efficiency.

Based on her interviews with developers, Luo developed a prototype codeguru security extension to Visual Studio, a popular idea. There she is testing random test to see that reading she built matched the needs of the developers.

The project, Luo said, expanded its horizons by understanding how to build more useful tools for developers. Actions that may have seemed trivial to her, such as having to take code out of idea and upload it somewhere for analysis, proved to be bread for developers who wanted a static analysis integration to be as seamless as possible.

“As a PhD student who has always been to university, I had Seme talks about what developers would like,” Luo said. “But after talking to them, I found that what they want is completely different.” The experience reinforced to her meaning of talking with uses before developing a tool.

Validation of code from notebooks

The new Codeguru plugin for Jupyter and Sagemaker Studio is intended to help users for expected mistakes to sneak into developed in notebooks. Data scientists like notebooks because they can add text and receive images to code lines.

But the platform can be suitable for reproducibility. Let’s say you have oven lines with code, each in another code cell within a notebook. For the user can run the code cells in arbitrary order; But when the code is shared, another user may run them in a different order. It is a result because driving cells in a different order may produce different results. Luo offers the example in a recent article on the subject co-author of Amazon colleagues Schäf, Ben Liblit, Alejandro Molina Ramirez, Rajdeep Mukherjee, Goran Piskachev, Omer Tripp and Willem certain; Along with Zachary Patterson of the University of Texas in Dallas.

Left: Cod cells made in non -linear order; Right: Code cells made in linear order.

Notebooks are good for data exploration and presentation, Luo explained, but all too often the code goes to and implemented without being controlled. “If you can’t reproduce the result, how can you make sure your code is running correctly?” Said Luo. The Codeguru plugin can mark such potential shortcomings and suggest improvements.

Of race, a security recommendation is only really useful if the developer news rejects it. Ongoing research on Luo’s team explores how to measure the quality of static analysis regions by measuring certain developer actions.

Visible influence

Luo developed an interest in computers as a high school student in China. It was a “natural choice,” she said, and went straight into computer science in college. Her interest in computer safety came out of a personal experience while she was a graduate student. She noticed that an app she was used was allowed to change the mobile phone number linked to an account without any verification. The app was connected to her bank and she was horrified at how insecure it was. This realization led to her focus on software security during her doctorate program.

My team at Amazon is a good platform for me to put science into production and has visible influence in a short time.

Luos Initiative during her Amazon internship – and the openness of her team – made it possible to make the most of her time there. When her internship was finished, she already had an offer to participate in the team full time. Schäf, Luos hiring manager, pushed that Luo owned the science work at Sagemaker -Plugin from start to finish.

“At Amazon, we are the customer crew, which is that it is so important to have scientists like her who follow a good scientific process to help our engineers understand who brings the best value to our customer,” he said. “She quickly transforms ideas into prototypes that allow us to verify what benefits from our customers and what doesn’t.”

Luo had considered staying in Akademia after serving her doctorate, and at one point she also received an offered to join a research institution in Germany as the retention faculty. But Ultimataly decided Shel that Amazon was the place for her.

“It was a really tough decision,” she said. “But I have always wanted to make more usable science. My team at Amazon is a good platform for me to put science into production and have visible influence in a short time.”

Leave a Comment