VOOZH about

URL: https://www.sei.cmu.edu/secure-development/

⇱ Secure Development | CMU Software Engineering Institute


Our Research

Secure Development

Secure development refers to the set of tools, practices, and approaches that the SEI has created to identify and prevent security flaws during early development of software systems, when it is most cost effective to do so.

To create today’s software systems, developers produce billions of lines of code each year. At that volume, there’s a high opportunity for error, and it becomes harder and harder to catch those errors as the amount of code continues to increase. Even with automated testing tools, errors still manage to get into commercially available products.

Those errors come with significant costs and risks. Many research studies have shown that the cost to remove defects, including security flaws, can be hundreds of times higher after deployment. And many of those errors can also pose security risks that criminals or state agents might exploit.

Better Software Through Secure Coding Practices

The SEI’s research in secure coding focuses on ensuring that the software we use every day—such as the software that powers the systems used by the Internet of Things—remains secure and safe. The aim of our research is to reduce vulnerabilities through the elimination of coding errors by investigating how errors occur and how to prevent them. Our solutions identify and prevent security flaws during development, when the cost of prevention is much lower than during the testing phase or in post-deployment.

We are active in the programming community, and we’ve gained unique experience and knowledge from auditing millions of lines of source code and performing audits on static analysis tools. We have combined that experience with research on the standards that define programming languages and how those languages are interpreted and compiled for runtime platforms. That work has allowed us to codify best practices and coding standards that improve the security of programming languages.

In addition, we have applied our research and experience with static analysis tools to improve their effectiveness through the development of rule checkers for several tools like Clang and Rosecheckers. We have also advanced and developed other secure development tools, as well as the Source Code Analysis Laboratory (SCALe), which audits code to identify security flaws.

We contribute our knowledge to the programming community—both nationally and internationally—through publications, webinars, blogs, conferences, and more. We also offer training—through live, instructor-led courses as well as online—to help developers, auditors, and testers learn the secure development skills and best practices we identify and develop.

What We Offer

Additional Resources

The Latest from the SEI Blog

Implementing Zero Trust in Operational Technology: A Practical Case Study

Blog Post
Rhonda Brown

Zero trust frameworks tailored to the unique requirements of OT systems are just beginning to emerge. The SEI is pioneering research into the application of zero trust principles within weapon system environments with embedded OT.

READ

The Five Pillars of Software Assurance in System Acquisition

Blog Post
Dr. Carol Woody , Christopher J. Alberts , Michael S. Bandor , and Timothy A. Chick

This post presents five foundational capabilities to support the acquisition of a system with effective software assurance.

READ

The Latest from the Digital Library

LLMs to Adjudicate Static Analysis Alerts (LASAA) Assets

Collection
Software Engineering Institute

This collection contains assets related to the LLMs to Adjudicate Static Analysis Alerts (LASAA) project.

Learn More

INCH Working Group Materials

Collection
Software Engineering Institute

The Extended Incident Handling (INCH) Working Group was part of the Security Area of the Internet Engineering Task Force (IETF). The purpose of INCH was to define a data format for exchanging security incident information used by a CSIRT.

Learn More

Explore Our Secure Development Projects

1/2

Our Vision for the Future of Secure Development

Our current and future research is aimed toward improving the efficiency of identifying and removing vulnerabilities through the advancement of tool automation, using machine learning to improve the accuracy of static analysis tools, and developing tools that identify certain classes of flaws and automatically correct them.

You can also find more information about our work in secure coding by subscribing to our newsletter.

subscribe

Our Vision for the Future of Secure Development

Our current and future research is aimed toward improving the efficiency of identifying and removing vulnerabilities through the advancement of tool automation, using machine learning to improve the accuracy of static analysis tools, and developing tools that identify certain classes of flaws and automatically correct them.

You can also find more information about our work in secure coding by subscribing to our newsletter.

subscribe
👁 Secure Development Topic Page | Looking Ahead