This article contains promotional content .(October 2020) |
Company type | Private |
---|---|
Industry | Computer software, Software testing |
Founded | 1987Pasadena, California, USA | in
Founders | Adam Kolawa Jon Flower Marc Goroff |
Headquarters | Monrovia, California, USA |
Number of locations | 9 |
Area served | Worldwide |
Key people |
|
Products | |
Subsidiaries |
|
Website | www |
Parasoft (officially Parasoft Corporation) is an independent software vendor specializing in automated software testing and application security with headquarters in Monrovia, California. It was founded in 1987 by four graduates of the California Institute of Technology [1] who planned to commercialize the parallel computing software tools they had been working on for the Caltech Cosmic Cube, [2] which was the first working hypercube computer built. [3]
During the 90's, Parasoft leveraged technology in their parallel software toolkit to create software test automation tools for traditional software development as well as parallel. Starting with runtime error detection for C and C++ with their Insure++ product, they also added capabilities for static code analysis, unit testing, and ultimately expanded to include application security, functional testing, and service virtualization.
Parasoft develops automated defect prevention technologies that support the Automated Defect Prevention methodology developed by Adam Kolawa. [4] These technologies automate a number of defect prevention practices for Java, C and C++, and .NET. The static code analysis practice identifies coding issues that lead to security, reliability, performance, and maintainability issues later on. In 1996, Parasoft submitted a patent application for their rule-based static code analysis. [5] Since then, the original static analysis technology has been extended to include security static analysis, data flow analysis, and software metrics. [6] [7] In 1996, Parasoft submitted patent applications for technology that automatically generates unit test cases. [8] Since then, the original unit testing technology has been extended to include code coverage analysis, regression testing, and traceability. [4] The peer code review practice involves manually inspecting source code to examine algorithms, review design, and search for subtle errors that automated tools cannot detect. Although the peer inspection itself cannot be automated, peer code reviews preparation, notification, and tracking can be automated. [9]
For cloud, SOA, APIs, and enterprise IT environments, Parasoft technologies automate practices such as API testing, integration testing, system testing, load testing, and penetration testing. [10] Parasoft's service and SOA quality technology was first developed in 2002. [11]
Parasoft also develops memory error detection technology that finds run-time errors in C and C++ programs. [12]
Patents were submitted for this technology in 1995 and 1996. [13] [14]
For service virtualization, Parasoft technologies are used to automatically capture and emulate dependent system behavior of mainframes, third-party components, or any system component that is unavailable or difficult to access for development and testing purposes. [15] [16] [17] [18]
Parasoft's various technologies are used for demonstrating industry or regulatory compliance and adopting Agile software development, DevOps, Continuous delivery, Continuous testing, and Test automation. [19]
In computer science, static program analysis is the analysis of computer programs performed without executing them, in contrast with dynamic program analysis, which is performed on programs during their execution in the integrated environment.
Software testing is the act of checking whether software satisfies expectations.
A software bug is a bug in computer software.
Regression testing is re-running functional and non-functional tests to ensure that previously developed and tested software still performs as expected after a change. If not, that would be called a regression.
In computer science, program analysis is the process of automatically analyzing the behavior of computer programs regarding a property such as correctness, robustness, safety and liveness. Program analysis focuses on two major areas: program optimization and program correctness. The first focuses on improving the program’s performance while reducing the resource usage while the latter focuses on ensuring that the program does what it is supposed to do.
In software engineering and development, a software metric is a standard of measure of a degree to which a software system or process possesses some property. Even if a metric is not a measurement, often the two terms are used as synonyms. Since quantitative measurements are essential in all sciences, there is a continuous effort by computer science practitioners and theoreticians to bring similar approaches to software development. The goal is obtaining objective, reproducible and quantifiable measurements, which may have numerous valuable applications in schedule and budget planning, cost estimation, quality assurance, testing, software debugging, software performance optimization, and optimal personnel task assignments.
Code review is a software quality assurance activity in which one or more people check a program, mainly by viewing and reading parts of its source code, either after implementation or as an interruption of implementation. At least one of the persons must not have authored the code. The persons performing the checking, excluding the author, are called "reviewers".
Jtest is an automated Java software testing and static analysis product developed by Parasoft. The product includes technology for data-flow analysis, unit test-case generation and execution, static analysis, and more. Jtest is used by companies such as Cisco Systems and TransCore. It is also used by Lockheed Martin for the F-35 Joint Strike Fighter program (JSF).
Software assurance (SwA) is a critical process in software development that ensures the reliability, safety, and security of software products. It involves a variety of activities, including requirements analysis, design reviews, code inspections, testing, and formal verification. One crucial component of software assurance is secure coding practices, which follow industry-accepted standards and best practices, such as those outlined by the Software Engineering Institute (SEI) in their CERT Secure Coding Standards (SCS).
Security testing is a process intended to detect flaws in the security mechanisms of an information system and as such help enable it to protect data and maintain functionality as intended. Due to the logical limitations of security testing, passing the security testing process is not an indication that no flaws exist or that the system adequately satisfies the security requirements.
Dynamic program analysis is the act of analyzing software that involves executing a program – as opposed to static program analysis, which does not execute it.
Adam Kazimierz Kolawa was CEO and co-founder of Parasoft, a software company in Monrovia, CA that makes software development tools.
Parasoft SOAtest is a testing and analysis tool suite for testing and validating APIs and API-driven applications. Basic testing functionality include functional unit testing, integration testing, regression testing, system testing, security testing, simulation and mocking, runtime error detection, web UI testing, interoperability testing, WS-* compliance testing, and load testing.
API testing is a type of software testing that involves testing application programming interfaces (APIs) directly and as part of integration testing to determine if they meet expectations for functionality, reliability, performance, and security. Since APIs lack a GUI, API testing is performed at the message layer. API testing is now considered critical for automating testing because APIs serve as the primary interface to application logic and because GUI tests are difficult to maintain with the short release cycles and frequent changes commonly used with Agile software development and DevOps.
Continuous testing is the process of executing automated tests as part of the software delivery pipeline to obtain immediate feedback on the business risks associated with a software release candidate. Continuous testing was originally proposed as a way of reducing waiting time for feedback to developers by introducing development environment-triggered tests as well as more traditional developer/tester-triggered tests.
Parasoft C/C++test is an integrated set of tools for testing C and C++ source code that software developers use to analyze, test, find defects, and measure the quality and security of their applications. It supports software development practices that are part of development testing, including static code analysis, dynamic code analysis, unit test case generation and execution, code coverage analysis, regression testing, runtime error detection, requirements traceability, and code review. It's a commercial tool that supports operation on Linux, Windows, and Solaris platforms as well as support for on-target embedded testing and cross compilers.
Development testing is a software development process that involves synchronized application of a broad spectrum of defect prevention and detection strategies in order to reduce software development risks, time, and costs.
Parasoft Virtualize is a service virtualization product that can create, deploy, and manage simulated test environments for software development and software testing purposes. These environments simulate the behavior of dependent resources that are unavailable, difficult to access, or difficult to configure for development or testing. It simulates the behavior of dependent resources such as mainframes, ERP systems, databases, web services, third-party information systems, or other systems that are out of direct developer/tester control. The product is used in conjunction with hardware/OS virtualization to provide developers and testers with the resources they need to execute their development and testing tasks earlier, faster, or more completely. Its technologies for automating continuous testing are used as part of continuous delivery, continuous integration, and continuous release.
{{cite journal}}
: Cite journal requires |journal=
(help)