Parasoft

Last updated
Parasoft
Company type Private
Industry Computer software, Software testing
Founded1987;37 years ago (1987) in Pasadena, California, USA
Founders Adam Kolawa
Jon Flower
Marc Goroff
Headquarters Monrovia, California, USA
Number of locations
9
Area served
Worldwide
Key people
  • Elizabeth Kolawa
  • (CEO)
  • Dave Vano
  • (CRO)
  • Igor Kirilenko
  • (CPO)
  • Adam Sontag
  • (CFO)
Products
Subsidiaries
  • Parasoft Deutschland GmbH
  • Parasoft India Private Limited
  • Parasoft Netherlands BV
  • Parasoft Polska Sp. z o.o.
  • Parasoft Shanghai Co. Ltd
  • Parasoft South East Asia Pte Ltd
  • Parasoft Sweden AB
  • Parasoft UK Limited
Website www.parasoft.com   OOjs UI icon edit-ltr-progressive.svg

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] [3] which was the first working hypercube computer built. [4]

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.

Technologies

Parasoft develops automated defect prevention technologies that support the Automated Defect Prevention methodology developed by Adam Kolawa. [5] 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. [6] Since then, the original static analysis technology has been extended to include security static analysis, data flow analysis, and software metrics. [7] [8] In 1996, Parasoft submitted patent applications for technology that automatically generates unit test cases. [9] Since then, the original unit testing technology has been extended to include code coverage analysis, regression testing, and traceability. [5] 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. [10]

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. [11] Parasoft's service and SOA quality technology was first developed in 2002. [12]

Parasoft also develops memory error detection technology that finds run-time errors in C and C++ programs. [13]

Patents were submitted for this technology in 1995 and 1996. [14] [15]

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. [16] [17] [18] [19]

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. [20]

Parasoft joined the Eclipse Consortium board of stewards in 2002. [21] [22]

Related Research Articles

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.

<span class="mw-page-title-main">Software testing</span> Checking software against a standard

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.

Unit testing, a.k.a. component or module testing, is a form of software testing by which isolated source code is tested to validate expected behavior.

<span class="mw-page-title-main">Code review</span> Activity where one or more people check a programs code

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).

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.

<span class="mw-page-title-main">Adam Kolawa</span>

Adam Kazimierz Kolawa was CEO and co-founder of Parasoft, a software company in Monrovia, CA that makes software development tools.

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.

High performance computing applications run on massively parallel supercomputers consist of concurrent programs designed using multi-threaded, multi-process models. The applications may consist of various constructs with varying degree of parallelism. Although high performance concurrent programs use similar design patterns, models and principles as that of sequential programs, unlike sequential programs, they typically demonstrate non-deterministic behavior. The probability of bugs increases with the number of interactions between the various parallel constructs. Race conditions, data races, deadlocks, missed signals and live lock are common error types.

Software construction is a software engineering discipline. It is the detailed creation of working meaningful software through a combination of coding, verification, unit testing, integration testing, and debugging. It is linked to all the other software engineering disciplines, most strongly to software design and software testing.

<span class="mw-page-title-main">Parasoft C/C++test</span> Integrated set of tools

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.

Runtime error detection is a software verification method that analyzes a software application as it executes and reports defects that are detected during that execution. It can be applied during unit testing, component testing, integration testing, system testing, or penetration testing.

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.

References

  1. "Interview: Adam Kolawa, Parasoft" in socaltech.com, February 9, 2004
  2. "An Experimental Assessment of Express Parallel Programming Environment". CiteSeerX   10.1.1.113.8007 .{{cite journal}}: Cite journal requires |journal= (help)
  3. History of Supercomputing
  4. Anderson, A. John (1994). Foundations of Computer Technology. CRC Press. p. 378. ISBN   978-0412598104.
  5. 1 2 "Parasoft Company ProfileBusinessWeek
  6. "Method and system for automatically checking computer source code quality based on rulesuspto.gov
  7. "Jtest continues its trek toward code-testing supremacy Archived 2009-02-13 at the Wayback Machine product review in InfoWorld, October 6, 2006
  8. Grehan, Rick (December 19, 2003). "Jtest promotes good Java hygiene". InfoWorld. Retrieved 2020-07-21.
  9. "Method and system for generating a computer program test suite using dynamic symbolic execution uspto.gov
  10. "Parasoft C++test developer toolkit integrated into IDEs" at SearchSoftwareQuality.com, April 3, 2007
  11. "Clean up your SOAP-based Web services" product review in InfoWorld, November 26, 2007
  12. "System and method for testing of web servicesuspto.gov
  13. "Survey of Systems for Detecting Serial Run-Time Errors Archived 2016-03-03 at the Wayback Machine " by Iowa State University's High Performance Computing Group, February 22, 2006
  14. "Method using a computer for automatically instrumenting a computer program for dynamic debugging " at www.uspto.gov
  15. "Method and system for dynamically detecting leaked memory space in a computer program" at www.uspto.gov
  16. Parasoft Delivers Virtualize Platform by Darryl K. Taft, eWeek, June 2011
  17. Parasoft Aims to Ease App Testing Constraints by Adrian Bridgwater, Dr. Dobb's Journal, June 2011
  18. Parasoft Sends In Software "Liberation" Troops by Adrian Bridgwater, Dr. Dobb's Journal, February 2011
  19. Parasoft creates test environment for transactions by Victoria Reitano, SD Times, February 2011
  20. "Don’t let Testing Stop your Agility" by Christina Cardoza, SD Times, July 28, 2016
  21. Eclipse Board minutes December 2002
  22. Parasoft Joins Eclipse