Skip to main content

12 Best Software Composition Analysis Tools Shortlist

I've assessed and handpicked a top shortlist of the best software composition analysis tools here:

  1. CloudDefense.AI - Best for comprehensive vulnerability detection
  2. Veracode - Best for robust security integrations
  3. Synopsys Coverity SAST Software - Best for in-depth static analysis
  4. SOOS SCA + DAST - Best for combined static and dynamic analysis
  5. Mend SCA - Best for GitHub integration
  6. OX - Best for secure open-source usage
  7. Sonarcloud - Best for cloud-based code analysis
  8. Checkmarx - Best for open-source scanning
  9. HCL AppScan - Best for automated security testing
  10. Black Duck Software Composition Analysis - Best for software component visibility
  11. Gitlab - Best for DevOps lifecycle management
  12. GitHub - Best for collaborative code development

Navigating the world of code security, I've come to appreciate the power of software composition analysis tools. As a cloud-native sca platform, this tool becomes a linchpin for security teams, addressing not only security vulnerabilities and known vulnerabilities but also the more nuanced aspects of open-source license risk and software supply chain security. It adeptly handles third-party components and API usage, turning them from potential pitfalls into streamlined operations.

In essence, software composition analysis tools bring clarity and control to your use of open-source and third-party components, improving your overall code security. The biggest benefit? These tools greatly reduce false positives and speed up remediation, making it easier than ever to fix vulnerabilities. Believe me, when it comes to navigating licensing requirements and mitigating license risk, these platforms are game changers.

What Is a Software Composition Analysis Tool?

Software composition analysis (SCA) tools are integral to the software development process, used primarily by developers, security analysts, and quality assurance professionals. These tools dissect the components of a software's source code to provide comprehensive visibility into its composition. They identify and analyze open-source components, third-party libraries, and other dependencies that are embedded within the code.

This helps in understanding potential vulnerabilities, licensing complexities, and code quality issues. Therefore, these tools serve as a first line of defense in enhancing software security, ensuring compliance, and improving code reliability.

Overviews of the 12 Best Software Composition Analysis Tools

1. CloudDefense.AI - Best for comprehensive vulnerability detection

Applications tab of CloudDefense.AI software composition analysis tool
The applications tab of CloudDefense.AI organizes the list of projects/applications available to scan.

CloudDefense.AI is a potent tool in the realm of software composition analysis, offering extensive insight into potential vulnerabilities in your codebase. It's designed to scrutinize every facet of your code, leaving no stone unturned when it comes to detecting potential security risks, justifying its title as best for comprehensive vulnerability detection.

Why I Picked CloudDefense.AI:

When curating this list, I took particular note of CloudDefense.AI due to its holistic approach toward code analysis. The platform stands out with its all-encompassing examination of software, making it an ideal choice for those in need of thorough, comprehensive vulnerability detection.

The ability to discover vulnerabilities at every layer of code truly makes CloudDefense.AI the best tool for this specific use case.

Standout Features & Integrations:

One of the highlights of CloudDefense.AI is its extensive vulnerability database which is continually updated. This ensures users have the most relevant data at their disposal for accurate analysis.

It also offers automated security regression testing, which effectively helps in reducing the risk of recurring vulnerabilities. CloudDefense.AI integrates with popular coding platforms like GitHub, GitLab, and Bitbucket, making it a perfect fit for diverse development environments.


CloudDefense.AI starts from $50/user/month (billed annually).


  • Provides extensive and thorough vulnerability analysis
  • Automated security regression testing
  • Excellent integration with major coding platforms


  • Higher starting price compared to other tools
  • The learning curve can be steep for beginners
  • Mostly focused on vulnerability detection, and less on other aspects of software composition

2. Veracode - Best for robust security integrations

Home page for Veracode software composition analysis tool
Take a look at the home page of Veracode where easy access to start scans, view results as well as performance analysis can be seen.

In the realm of software composition analysis, Veracode distinguishes itself with a comprehensive platform that not only analyzes your code but also offers a host of robust security integrations. These features streamline and reinforce your software's overall safety, making Veracode the go-to option for robust security integrations.

Why I Picked Veracode:

I chose Veracode for this list because it excels in merging comprehensive code analysis with solid security integrations. It stands out from other software composition analysis tools in the blending of these features.

Veracode's diverse integrations, coupled with its in-depth code analysis, make it undeniably the best choice for teams in need of strong security connectivity.

Standout Features & Integrations:

Veracode's SCA solution tool leverages its powerful policy engine to help teams stay compliant while using open-source libraries. Its binary scanning feature allows the tool to analyze compiled code, thus offering another layer of security. In terms of integrations, Veracode offers robust connectivity with popular IDEs, build systems, and ticketing systems like JIRA, further enhancing its utility.


Veracode's pricing starts at $50/user/month (billed annually).


  • Advanced policy engine for compliance
  • Binary scanning feature for added security
  • Wide range of integrations


  • High starting price point
  • Might be complex for new users
  • Limited to certain languages

3. Synopsys Coverity SAST Software - Best for in-depth static analysis

Source code checking of Synopsys Coverty software composition analysis tool
Here's a case of Synopsys Coverity identifying problems in the source code.

Synopsys Coverity takes software composition analysis up a notch, specializing in detailed static analysis. This tool dives deep into your code, checking each line for potential vulnerabilities, making it the prime choice for teams looking for in-depth static analysis.

Why I Picked Synopsys Coverity SAST Software:

I selected Synopsys Coverity because it really pushes the envelope when it comes to static analysis. This tool dives into the heart of your code, dissecting each line and each function.

Its ability to perform such detailed, microscopic examination of static code makes Synopsys Coverity Static Application Security Testing (SAST) Software the best pick for in-depth static analysis.

Standout Features & Integrations:

Synopsys Coverity shines with its comprehensive static code analysis that can efficiently find and fix quality and security issues. The tool supports a wide range of programming languages, making it flexible for various project requirements.

It integrates well with other development tools in the ecosystem, such as Jenkins for continuous integration and JIRA for issue tracking, enhancing its usability in a typical development workflow.


Pricing for Synopsys Coverity SAST Software starts from $500/user/month (billed annually).


  • Deep-dive static code analysis
  • Supports a wide range of programming languages
  • Effective integrations with common development tools


  • High pricing can be prohibitive for small teams
  • May have a steep learning curve
  • Interface could be more intuitive

4. SOOS SCA + DAST - Best for combined static and dynamic analysis

Developer dashboard of SOOS SCA + DAST software composition analysis tool
Utilize SOOS SCA + DAST to probe your software for potential vulnerabilities and licensing concerns. Here's a screenshot of the tool's dashboard.

SOOS SCA + DAST brings a new approach to software composition analysis, delivering both static and dynamic testing capabilities. This combo makes it a stand-out choice for teams needing both types of analysis in their development process.

Why I Picked SOOS SCA + DAST:

I picked SOOS SCA + DAST because it beautifully amalgamates the best of both worlds: static and dynamic analysis. While static analysis lays bare any vulnerabilities in the code, dynamic analysis ensures the code performs optimally under real-world conditions. This combination makes SOOS SCA + DAST the best tool for teams needing both static and dynamic analysis capabilities.

Standout Features & Integrations:

SOOS SCA + DAST impresses with its unique ability to perform both static and dynamic testing. Its key features include the identification of open-source risks, automated policy enforcement, and continuous monitoring of new threats. As for integrations, the tool can be integrated into your CI/CD pipeline with popular tools like Jenkins, CircleCI, and TeamCity.


SOOS SCA + DAST pricing starts from $15/user/month (min 5 seats).


  • Combines static and dynamic analysis
  • Continuous threat monitoring
  • Integrates easily into existing CI/CD pipelines


  • May require technical expertise to make the most of its features
  • Smaller teams may find the minimum seats requirement challenging
  • Advanced features can be complex for new users

5. Mend SCA - Best for GitHub integration

Mend SCA risk analysis feature
Mend SCA, formerly known as WhiteSource, is a cutting-edge technology that simplifies the process of creating secure software, without sacrificing speed or flexibility. Take a look at its licenses tab.

Mend SCA excels in the realm of software composition analysis with an emphasis on simplifying the process of identifying, tracking, and addressing open-source vulnerabilities. It is particularly well-suited for teams using GitHub, as its robust integration facilities make it shine in such environments.

Why I Picked Mend SCA:

In my selection process, Mend SCA made a strong impression with its excellent GitHub integration. The majority of modern software development teams use GitHub extensively, and the ability of Mend SCA to deeply integrate with GitHub sets it apart.

For teams reliant on GitHub for their software development, I believe Mend SCA to be the best tool given its unparalleled integration capabilities.

Standout Features & Integrations:

Mend SCA's comprehensive vulnerability database and efficient tracking system are key features that streamline the process of identifying and resolving vulnerabilities. Its most crucial integration is undoubtedly its deep tie-in with GitHub, which allows it to automatically scan every commit and pull request, providing immediate feedback on potential issues.


Pricing for Mend SCA starts from $20/user/month (billed annually).


  • Excellent GitHub integration
  • Comprehensive vulnerability database
  • Immediate feedback on potential issues


  • Might be less useful for teams not using GitHub
  • Annual billing may not suit all customers
  • Pricing could be prohibitive for smaller teams

6. OX - Best for secure open-source usage

Connections page found in the OX software composition analysis tool
The connections page of OX provides a view of the supported connectors by the tool.

OX is a tool designed to help organizations safely use open-source software by providing comprehensive security analysis and risk assessment. Given the prevalence of open-source usage in today's software landscape, OX's focused efforts to secure such environments make it a crucial player in the field.

Why I Picked OX:

In comparing several tools, OX stood out for its robust capabilities specifically aimed at open-source security. Open-source code is both a boon and a bane, as it can speed up development but also introduce security risks.

I picked OX for this list because it expertly navigates this dual-edged aspect of open-source usage, making it the best in my judgment for those heavily using open-source components in their software.

Standout Features & Integrations:

OX's proprietary security analysis techniques are particularly noteworthy, providing in-depth risk assessments for open-source components. Additionally, it offers vital integrations with popular software development tools, including but not limited to GitHub, GitLab, and Bitbucket, allowing teams to smoothly incorporate it into their existing workflows.


OX's pricing starts from $50/user/month (billed annually).


  • Specializes in open-source security
  • Offers detailed risk assessments
  • Provides integrations with popular development tools


  • More expensive than some competitors
  • Might be overkill for teams not heavily using open-source
  • Annual billing might not be ideal for all teams

7. SonarCloud - Best for cloud-based code analysis

SonarCloud dashboard used for quality control
Here's a screenshot of the SonarCloud dashboard used for quality control.

SonarCloud is an online service for continuous code quality inspection and technical debt management. As a cloud-based solution, SonarCloud offers the flexibility and scalability that development teams need in today's distributed and fast-paced software development environment.

Why I Picked SonarCloud:

I selected SonarCloud because its cloud-based nature provides a distinct advantage for teams that are looking for a scalable and flexible solution to code analysis. In the landscape of similar tools, SonarCloud's cloud-first approach and its commitment to continuous code inspection make it stand out.

Hence, I concluded that it's the best for cloud-based code analysis.

Standout Features & Integrations:

SonarCloud excels in providing an array of features like bug and vulnerability detection, code smells identification, and technical debt management. What's also significant is its capability to integrate with popular DevOps tools such as GitHub, GitLab, and Bitbucket, along with continuous integration tools like Jenkins and Travis CI.


SonarCloud's pricing begins at $10/user/month (billed annually).


  • Excellent for continuous code inspection
  • Cloud-based for scalability and flexibility
  • Integrates with popular DevOps and CI/CD tools


  • Might not be suitable for organizations with strict data locality requirements
  • More expensive than some other options
  • Reliance on an internet connection could be a potential disadvantage for some teams

8. Checkmarx - Best for open-source scanning

Data Analysis tab of Checkmarx software composition analysis tool
Here's the Data Analysis tab of Checkmarx showing a report, providing users with straightforward and intuitive analytical reporting for all their requirements.

Checkmarx is a software security solution that helps identify, track, and fix technical and logical security flaws in the software development lifecycle. Known for its open-source scanning capabilities, Checkmarx can effectively scan and mitigate vulnerabilities in open-source components.

Why I Picked Checkmarx:

In my evaluation of software security tools, Checkmarx stood out due to its excellent capabilities in open-source scanning. My selection is based on the comparison of its features against other tools in this category.

With the increasing reliance on open-source components in modern software development, Checkmarx's robustness in this aspect makes it an optimal choice. Therefore, I determined it to be the best for open-source scanning.

Standout Features & Integrations:

Checkmarx offers extensive features including static and interactive application security testing, software composition analysis, and incremental scans. It integrates effectively with popular development and project management tools like Jira, GitHub, and Jenkins, which are crucial for maintaining a continuous software development pipeline.


Pricing information for Checkmarx starts from $50/user/month.


  • Comprehensive open-source scanning capabilities
  • Provides both static and interactive application security testing
  • Effective integrations with popular project management tools


  • Higher cost compared to some other tools
  • The interface can be complex for beginners
  • The incremental scanning feature could use improvements

9. HCL AppScan - Best for automated security testing

XML scan feature of HCL AppScan software composition analysis tool
One of the many features of HCL AppScan is its XML scan, further providing your vulnerability solutions.

HCL AppScan is a dynamic application security testing tool that helps to uncover vulnerabilities in web and mobile applications. As a tool that excels in automated security testing, it enhances the detection and mitigation of potential risks in software applications.

Why I Picked HCL AppScan:

During my selection process, HCL AppScan surfaced as a clear leader in automated security testing. The tool's commitment to automation, which accelerates vulnerability detection and resolution, caught my attention.

In comparing its automated testing features with others, it became apparent that AppScan provided a superior and more efficient solution, which is why I consider it to be the best for automated security testing.

Standout Features & Integrations:

HCL AppScan offers robust features such as interactive application security testing, software composition analysis, and automated discovery of new and updated applications. Additionally, it provides essential integrations with commonly used development tools such as Jenkins, Bamboo, and TeamCity, supporting a smoother, more cohesive workflow.


HCL AppScan pricing starts from $60/user/month.


  • Extensive automated security testing capabilities
  • Supports both web and mobile applications
  • Effective integration with popular development tools


  • User interface could be more intuitive
  • Initial setup can be complex
  • Pricing could be prohibitive for small teams

10. Black Duck Software Composition Analysis - Best for software component visibility

Components tab found in the Black Duck SCA software composition analysis tool
Take a look at Black Duck SCA's components tab where each component is labeled according to usage, license, as well as security and operational risk.

Black Duck software composition analysis (SCA) is a comprehensive solution that enables clear visibility into open-source software components. The tool provides detailed insights into potential vulnerabilities and compliance issues associated with these components, making it the best choice for software component visibility.

Why I Picked Black Duck Software Composition Analysis:

In my assessment, Black Duck SCA stood out due to its robust capabilities in providing clear visibility into software components. I selected this tool because of its in-depth visibility into open-source software, revealing potential risks that other tools may overlook.

Its ability to provide insights into the entire codebase, down to individual components, sets it apart, justifying its position as the best for software component visibility.

Standout Features & Integrations:

Black Duck SCA offers features like open-source risk assessment, software bill of materials (BOM), and license compliance. These features allow teams to have a complete understanding of the open-source components in their applications.

Black Duck SCA also integrates with a variety of tools in the development ecosystem, such as Jira, Jenkins, and GitLab, to enable effective workflow management.


The pricing for Black Duck software composition analysis starts from $120/user/month.


  • Provides detailed visibility into software components
  • Offers comprehensive open-source risk assessment
  • Integrates well with popular development tools


  • Could be considered expensive for smaller teams
  • May require some time to learn and fully utilize
  • Could benefit from more granular control options

11. GitLab - Best for DevOps lifecycle management

Pipelines tab of GitLab software composition analysis tool
GitLab's graphical dashboard provides a consolidated view of all your pipelines.

GitLab is an all-in-one platform that integrates a broad range of tools for software development and operations (DevOps). Offering a complete suite for code creation, review, deployment, and tracking, GitLab excels in managing the DevOps lifecycle, allowing teams to streamline their workflow and enhance productivity.

Why I Picked GitLab:

I chose GitLab for its comprehensive suite that covers the entire DevOps lifecycle, from planning to monitoring. Compared to other tools, GitLab's uniqueness lies in its unified interface, providing an excellent experience across all stages of software development and operations.

For this reason, I believe GitLab is the best for DevOps lifecycle management.

Standout Features & Integrations:

GitLab provides an impressive range of features including source code management, continuous integration/continuous delivery (CI/CD), and application security. Additionally, it comes with its own integrated DevOps tools, reducing the need for multiple integrations. However, it also offers robust integrations with platforms like Kubernetes, Slack, Jira, and more for added flexibility.


The pricing for GitLab starts from $19/user/month (billed annually).


  • Comprehensive platform covering the entire DevOps lifecycle
  • Unified interface across all stages
  • Robust built-in features reducing the need for multiple integrations


  • Could be overwhelming for beginners due to its broad feature set
  • More expensive compared to some other tools
  • Some users have reported occasional slow performance

12. GitHub - Best for collaborative code development

Overview tab for the GitHub software composition analysis tool
GitHub allows you to administer your organization, providing a platform where you can oversee and manage all repositories, packages, individuals, teams, and more on the organization page.

GitHub is a popular code hosting platform that enables developers to collaborate on projects. It offers powerful version control capabilities through Git and provides an environment where developers can review, manage, and contribute to each other's code. Its capacity for collaboration is arguably unmatched, making it my top pick for collaborative code development.

Why I Picked GitHub:

I chose GitHub primarily for its robust collaborative features, including the ability to fork repositories, make pull requests, and conduct code reviews. Additionally, GitHub has a vast community of developers, making it an excellent platform for open-source projects and collaboration on a global scale.

It's this collaborative prowess and community strength that led me to consider GitHub as the best for collaborative code development.

Standout Features & Integrations:

GitHub is renowned for its intuitive interface and robust features such as issue tracking, task management, and continuous integration. The platform's standout features include GitHub Actions for CI/CD, GitHub Packages for package management, and GitHub Pages for web hosting. Importantly, GitHub offers integrations with a wide array of third-party tools, including Slack, Jira, and AWS.


GitHub's pricing starts from $4/user/month.


  • Robust collaborative features like pull requests and code reviews
  • Integration with a large number of third-party tools
  • Enormous community of developers


  • May be complex for beginners to navigate
  • Private repositories require a paid plan
  • Advanced features like security alerts are only available in higher-priced tiers

Other Noteworthy Software Composition Analysis Tools

Below is a list of additional software composition analysis tools that I shortlisted, but did not make it to the top 12. Definitely worth checking them out.

  1. Contrast Security - Good for runtime application self-protection
  2. Snyk - Good for managing open-source security
  3. CAST Highlight - Good for portfolio-level software health analysis
  4. Flexera - Good for software asset management
  5. Revenera - Good for software composition analysis
  6. Wiz - Good for cloud environment vulnerability management
  7. JFrog - Good for DevOps artifact lifecycle management
  8. Qwiet AI - Good for automating codebase security audits
  9. MergeBase - Good for managing vulnerabilities in third-party code
  10. Sonatype - Good for automated open-source governance
  11. ReversingLabs - Good for deep file inspection and malware detection
  12. - Good for container security and vulnerability scanning
  13. Dependency-Track - Good for tracking and reporting on dependencies in your software supply chain

Selection Criteria for Choosing Software Composition Analysis Tools

Having personally tested and scrutinized numerous application security tools, I've boiled down my selections to those that truly excel in a number of key areas. This field of software is vast, and it's essential to choose tools that not only tick boxes for functionality but also offer key features, and maintain high standards of usability. Here's a more detailed look at these criteria:

Core Functionality

In the realm of application security tools, there are several critical functions that they should proficiently enable you to do:

  • Detect vulnerabilities: The tool should help identify and locate software vulnerabilities efficiently.
  • Automate security testing: It should provide functionality to automate security testing to save time and enhance accuracy.
  • Generate insightful reports: To facilitate decision-making, the tool should offer comprehensive and clear reporting.

Key Features

Here are the pivotal features that were considered while picking these tools:

  • Real-time threat detection: The ability to detect threats and vulnerabilities in real time can drastically improve response times.
  • Integrations: It's crucial for the tool to work smoothly with other systems or software used in your development and deployment process.
  • Compliance reporting: For businesses in regulated industries, compliance reporting features can help ensure adherence to required standards.


Beyond functionality and features, the overall user experience can significantly impact the utility of an application security tool. The following elements are crucial for a user-friendly experience:

  • Intuitive interface: A clean, well-organized interface makes the tool easier to navigate, reducing the time to understand and use it effectively.
  • Robust support and documentation: An extensive knowledge base, thorough documentation, and responsive customer support can significantly smoothen the learning curve.
  • Impeccable onboarding: The process to set up the tool, start using it, and, if necessary, migrate from another tool, should be straightforward and well-guided.

Most Common Questions Regarding Software Composition Analysis Tools

What are the benefits of using software composition analysis tools?

There are several benefits of using software composition analysis tools.

  1. They provide visibility into open-source components, helping you understand the vulnerabilities that might exist in your code.
  2. They automate the process of identifying and managing security risks, saving time and effort.
  3. They aid in maintaining compliance with various industry standards and regulations.
  4. These tools often come with integrations with other development tools, making it easier to incorporate them into your existing workflows.
  5. They provide comprehensive reports that can guide your security decisions.

How much do software composition analysis tools typically cost?

Pricing for software composition analysis tools can vary greatly based on the complexity of the tool and the size of your organization. Most providers offer several tiers, each with a different set of features, so you only pay for what you need.

What are the common pricing models for software composition analysis tools?

Most software composition analysis tools use a subscription-based pricing model, where users pay a monthly or annual fee. Some offer a per-user pricing model, while others may price based on the size of your codebase or the number of projects you manage. Enterprise-level plans, which provide more extensive features, are often custom-priced to fit the unique needs of the organization.

What is the typical range of pricing for software composition analysis tools?

Basic plans can start as low as $20 per user per month, while more advanced plans with extensive features can cost several hundred dollars per user per month. Enterprise plans, which typically offer the highest level of features and customizations, usually require a quote from the provider.

Which are the cheapest and most expensive software composition analysis tools?

Among the cheaper options are tools like Dependency-Track, with its open-source version available for free. On the expensive side, tools like Black Duck offer comprehensive features and extensive support but come with a higher price tag, often several hundred dollars per user per month.

Are there free options for software composition analysis tools?

Yes, some providers do offer free versions of their software composition analysis tools. Dependency-Track, for instance, is an open-source tool that you can use without any cost. However, free versions usually come with limited features compared to their paid counterparts.

What factors should I consider when choosing a software composition analysis tool?

You should consider factors such as the core functionalities offered, key features like real-time threat detection and compliance reporting, and usability factors like an intuitive interface and strong support. Moreover, the tool's pricing, the cost-effectiveness of its features, and its integrations with your current systems are also crucial.

How do software composition analysis tools enhance security?

These tools work by scanning the open-source components of your software, identifying vulnerabilities, and providing detailed reports. They help you spot potential security risks early in the development process and take appropriate steps to mitigate them, enhancing the overall security of your applications.

Other Software Analysis Tool Reviews


In conclusion, choosing the best software composition analysis tool largely depends on your specific needs and circumstances. These tools offer a range of functionalities, from open-source risk management to enhanced code quality control, and each has unique features that can cater to different requirements.

Whether you're a small business or a large enterprise, the right software composition analysis tool can provide the visibility and control you need to manage software vulnerabilities and keep your code base secure and efficient.

Key Takeaways

  1. Understand your needs: Different software composition analysis tools excel in different areas. Some are ideal for open-source risk management, others shine in code quality control, and still others offer extensive software component visibility. Recognize your specific needs to select the tool that's best for you.
  2. Evaluate core functionalities and features: Look beyond the glossy interface and marketing language. The best tools will offer robust core functionalities that align with your requirements and key features that provide additional value, such as integrations with existing systems or collaborative capabilities.
  3. Consider pricing and usability: While functionality is important, so too are pricing and usability. Strive for a balance between cost-effectiveness and ease of use. Remember that a low-cost solution may not always be the best one if it lacks the necessary features or offers a poor user experience.

What Do You Think?

That wraps up my list, but I’m always on the lookout for more top-quality software composition analysis tools. If there's a tool that you believe should be included in this list, please feel free to let me know. I appreciate your suggestions and look forward to exploring more excellent resources.

By Paulo Gardini Miguel

Paulo is the Director of Technology at the rapidly growing media tech company BWZ. Prior to that, he worked as a Software Engineering Manager and then Head Of Technology at Navegg, Latin America’s largest data marketplace, and as Full Stack Engineer at MapLink, which provides geolocation APIs as a service. Paulo draws insight from years of experience serving as an infrastructure architect, team leader, and product developer in rapidly scaling web environments. He’s driven to share his expertise with other technology leaders to help them build great teams, improve performance, optimize resources, and create foundations for scalability.