Skip to main content

FoCuS

A tool that implements the functional coverage methodology, providing detailed coverage information and improving testing.

Date Posted: April 26, 1999

alphaworks tab navigation


 

Update: November 6, 2009
Version 1.7.4 supports memory optimization, performance improvement for combinatorial test design, support for boolean attributes, substring holes can be exported to html, and adding constraints for hierarchy and holes drill down reports is enabled.

 

What is FoCuS?

FoCuS is a general-purpose tool for improving the testing of an application. FoCuS aids in making sure that both the design of the application and the test suite are complete and cover every aspect of what the application is meant to do. FoCuS is independent of specific applications, while providing much of the functionality of existing domain-specific tools, such as test planning, design and requirements review, code coverage analysis and functional coverage.

How does it work?

FoCuS allows for user definition of a model, and then it performs advanced analyses that produce different orthogonal views of the model states that help locate omission problems and design mistakes. When the model represents a test design, FoCuS's combinatorial test design and test selection technologies can be applied to select a small subset of the tests that maintains a high coverage of the test space, thus maintaining a high quality test suite while significantly reducing the required resources. FoCuS also assists in gathering coverage data that matches the user-defined model, and provides detailed coverage information on the areas in which testing is lacking.

FoCuS also provides extensive views and analyses for code coverage. A user-defined model is not required for these, but rather FoCuS reads code coverage data generated by different tools such as ConTest for Java, IBM Binary Prober (both alphaWorks® technologies) and Gcov. FoCuS can be easily extended through an open Java API to read code coverage data from other tools. FoCuS provides traditional coverage views such as source views and hierarchical views, and more advanced analyses that imply, given code coverage data, what functionality is missing from the test suite and what functionality is covered by the test suite. Additional analyses compare the coverage data produced by different sources and enable understanding the difference in the application behavior across different sites or test suites. All coverage views and reports are exportable to html format.

About the technology author(s)

Rachel Tzoref-Brill holds a B.Sc. and M.Sc in computer science from the Technion, Israel Institute of Technology. Since 2001, she has worked at the IBM Haifa Research Laboratory, where she participates in the development of tools and algorithms for formal verification and multi-threaded programs testing and debugging. She has published several conference papers on these topics. Since 2008 she has been the main developer of FoCuS.

Yoram Adler holds a B.Sc. in computer science from the Technion, Israel Institute of Technology. Since 1996, he has worked at the IBM Haifa Research Laboratory, where he participates in the development of real time applications, device drivers, software lifecycle tools, areas of networking, multi-media, program understanding and coverage analysis.

Eitan Farchi, Ph.D. has been with the IBM Haifa Research Laboratory since 1992. He has led projects for improving operating system performance and is now the manger and architect of the Software Testing Analysis and Reviews group, which specializes in the testing of concurrent and distributed programs. A new review methodology developed recently by

Dr. Farchi has been deployed in IBM labs around the world. The new methodology requires no to little preparation and overcomes time constraint issues while maintaining the effectiveness of traditional reviews. Some of the unique features of FoCus support this methodology. Dr. Farchi is a frequent speaker at software testing conferences and is the author of a tutorial on the testing of distributed components. He has written more than 40 technical papers and holds 8 patents.

Olga Mishin holds a B.Sc. in computer science from the MIIT, Moscow State University of Railway Engineering. She participates in the development of software testing tools, and is member of the development team of FoCuS.

Yarden Nir-Buchbinder holds an M.A. in philosophy from the University of Haifa and a B.Sc. in computer science from the Technion, Israel Institute of Technology. Since 2000 he has worked at the IBM Haifa Research Laboratory, where he participates in the development of software lifecycle tools, especially in the areas of concurrency and coverage. He is the main developer of ConTest - a concurrency testing tool . He has published several conference papers on these topics.

Dr. Shmuel Ur is a research scientist in IBM research lab in Haifa, Israel. He works in the field of software testing and concentrates on coverage and testing of multi-threaded programs. Shmuel is the technical lead of the area of Coverage in IBM and is also an IBM Master Inventor. Shmuel teaches software testing in the Technion and Haifa University.

Shmuel received his PhD. in Algorithms Optimization and Combinatorics in 1994 in Carnegie Mellon University. Shmuel received his Bs.C. and Ms.C. from the Technion, Israel Institute of Technology. Shmuel has published in the fields of hardware testing, artificial intelligence, algorithms, software testing and testing of multi-threaded programs. He is also the chair of PADTAD, a workshop on testing multi-threaded applications.

In the area of coverage, Shmuel worked and published on functional coverage, minimizing regression suite size, coverage directed generation, visual code coverage techniques and coverability. He has written more than 50 technical papers and holds 15 patents.

Trademarks




Related technologies