Skip to main content

Fujitsu

Global

Archived content

NOTE: this is an archived page and the content is likely to be out of date.

Fujitsu Develops Software Verification Technology for Practical-use Web Applications

-Enables world's first automated testing for "business specifications" of web applications-

Fujitsu Laboratories Ltd.,Fujitsu Laboratories of America Inc.

Kawasaki, Japan and Sunnyvale, US, April 04, 2008

Fujitsu Laboratories Ltd. and Fujitsu Laboratories of America, Inc. announced today their joint development of the world's first core technology for automatic verification of Java-based practical-use web applications. It is used to automatically verify if a web application can operate properly to process specified task transactions - referred to as "business specifications", without the need for manually preparing detailed test procedures or test data.

This new technology has been developed based on verification technology called "model checking", that has been conventionally used for small-scale embedded software. It enables exhaustive and automatic testing that completely covers various scenarios and input data by users, for practical-use web applications such as purchase order systems, and can thereby contribute significantly to the development of high-quality systems.

Background

As Internet technology is becoming more widespread, increasingly more companies are utilizing web applications to create internal mission-critical systems, such as purchase order systems or inventory management systems. Furthermore, in conjunction with the highly dynamic nature of businesses, enterprise systems are becoming larger and more complex, thus requiring more aggressive lead-times for development and testing. Given these circumstances, there is a need for technology capable of ensuring software quality to satisfy customer requirements.

Technological Challenges

In order to assure quality of web applications, testing is conducted to verify that the developed web application functions properly in accordance with its business specifications. Conventional testing necessitated significant manual effort, as a developer needed to review business specifications and determine which parameters to verify, then create test scenarios and test data in order to test those parameters, and then finally perform rigorous testing. It is generally known that even if such testing is conducted, 0.122 errors per 1,000 steps(1) will remain. This is attributable to the fact that it is highly difficult to avoid errors when depending solely on manual efforts, as it is extremely difficult to thoroughly cover all conceivable test scenarios.

Newly Developed Technology

In order to overcome these difficulties, building on formal verification that had been conventionally used for small-scale programs, Fujitsu Laboratories developed new technology that enables automatic and exhaustive testing of large practical-use Java-based web applications to verify their functionality with respect to the transaction specifications.

Key features of this new technology are as follows:

  1. Automatic verification of business specifications for Java programs
    A business specification is described using a simple specification language, that covers a large number of conceivable test scenarios and test data. Following the specification, an engine based on this new technology automatically verifies whether the program operates according to its transaction specifications. As a result, program developers are freed from the burden of developing detailed test scenarios or test data.
  2. Verification of practical-use web applications
    The new technology divides the web application into three parts: screen processing, transaction processing, and database processing; then it extracts just the transaction processing part and verifies it. This enables efficient verification of practical-use web applications, by limiting the scope of verification.
  3. Enables thorough, exhaustive verification
    By executing tests on variables, without instantiating concrete test data for those variables, the new technology enables exhaustive verification that is equivalent to testing all input variations, thereby making it possible to detect errors that were previously hard to detect through conventional testing methods.

As a world's first, Fujitsu Laboratories applied formal verification(2) to business specifications of practical-use Java-based web applications written. The verification system is based on Java PathFinder(3), the open source verification tool developed by NASA Ames Research Center(4). Collaborating with NASA Ames Research Center, Fujitsu Laboratories has enhanced the functionality of Java PathFinder in order to develop this verification system.

Figure 1: Fujitsu Laboratories' software verification technology for web applications

Larger View (206 KB)

Results

In an experiment in which this technology was used, it was verified that over 1,000 test scenarios were exhaustively generated for each function of a web application, compared to just approximately 30 test scenarios that had been created when using conventional manual test methods. It was also confirmed that 30% to 50% of the testing process could be automated. Furthermore, this technology offers consistent and high-quality results for practical-use web applications, as there is no need for program developers to manually create test scenarios for each function.

Future Developments

Fujitsu Laboratories plans to conduct testing for an actual project, and will continue with research targeting practical use of this technology.



  • [1] 0.122 errors per 1,000 steps

    Source: "Software Development Data White Book 2007", Software Engineer Information Technology Promotion Agency, Japan. "Step" refers to a figure used to measure program size.

  • [2] Formal Verification

    A verification method to prove the accuracy of software by mathematical means.

  • [3] Java PathFinder

    A verification tool (model checking) for Java. For more information: http://javapathfinder.sourceforge.net/

  • [4] NASA Ames Research Center

    As one of NASA's research centers, Ames Research Center provides research leadership in space-related technologies including astrobiology, robotic lunar exploration, technologies for manned space flight, the search for habitable planets, supercomputing, intelligent/adaptive systems, advanced thermal protection, and airborne astronomy. For more information: http://www.nasa.gov/centers/ames/home/index.html

About Fujitsu Laboratories

Founded in 1968 as a wholly owned subsidiary of Fujitsu Limited, Fujitsu Laboratories Limited is one of the premier research centers in the world. With a global network of laboratories in Japan, China, the United States and Europe, the organization conducts a wide range of basic and applied research in the areas of Multimedia, Personal Systems, Networks, Peripherals, Advanced Materials and Electronic Devices. For more information, please see:http://jp.fujitsu.com/group/labs/en/

About Fujitsu Laboratories of America, Inc.

Fujitsu Laboratories of America, Inc. is a wholly owned subsidiary of Fujitsu Laboratories Ltd. (Japan), focusing on research on advanced VLSI CAD, Internet, and interconnect technologies. Conducting research in an open environment, it contributes to the global research community and the working IT industry. It is headquartered in Sunnyvale, CA.
For more information, please see: www.fla.fujitsu.com

Press Contacts

Public and Investor Relations Division
Inquiries

Company:Fujitsu Limited

Technical Contacts

Software & Solutions Laboratories
Software Innovation Lab.

Phone: Phone: +81-44-754-2675
E-mail: E-mail: java-verification@ml.labs.fujitsu.com
Company:Fujitsu Laboratories Ltd.


Company and product names referenced herein are trademarks or registered trademarks of their respective owners. Information provided in this press release is accurate at time of publication and is subject to change without advance notice.

Date: 04 April, 2008
City: Kawasaki, Japan and Sunnyvale, US
Company: Fujitsu Laboratories Ltd., Fujitsu Laboratories of America, Inc., , , ,