Dataflow Testing of Java Programs with DFC

  • Ilona Bluemke
  • Artur Rembiszewski
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7054)


The objective of this paper is to present a tool supporting dataflow coverage testing of Java programs. Code based (”white box”) approach to testing can be divided into two main types: control flow coverage and data flow coverage methods. Dataflow testing was introduced for structural programming languages and later adopted for object languages. Among many tools supporting code based testing of object programs, only JaBUTi and DFC (Data Flow Coverage) support dataflow testing of Java programs. DFC is a tool implemented at the Institute of Computer Science Warsaw University of Technology as an Eclipse plug-in. DFC finds all definition-uses (def − u) pairs in tested unit and provides also the def − u graph DUG for methods. After the execution of tests the information which def − u pairs were covered is shown. An example of usage of DFC and the comparison with JaBUTi data flow testing tool of Java program is also presented.


Dataflow coverage testing tool supporting testing 


  1. 1.
    Bezier, B.: Software System Testing and Quality Assurance. Van Nostrad Rheinhold, New York (1984)Google Scholar
  2. 2.
    Binder, R.V.: Testing Object Oriented Systems. Addison Wesley (1999)Google Scholar
  3. 3.
    Rapps, S., Weyuker, E.J.: Selecting Software Test Data Using Data Flow Information. IEEE Transactions on Software Engineering 11, 367–375 (1985)CrossRefzbMATHGoogle Scholar
  4. 4.
    Harrold, M.J., Rothermel, G.: Performing Data Flow Testing on Classes. In: Proceedings of the 2nd ACM SIGSOFT Symposium on Foundations of Software Engineering, pp. 154–163 (1994)Google Scholar
  5. 5.
    Harold, M.J., Soffa, M.L.: Interprocedural Data Flow Testing. In: Proceedings of the 3rd Testing, Analysis, and Verification Symposium, pp. 158–167 (1989)Google Scholar
  6. 6.
    Vincenzi, A.M.R., Maldonado, J.C., Wong, W.E., Delamaro, M.E.: Coverage Testing of Java Programs and Components. Science of Computer Programming 56, 211–230 (2005)MathSciNetCrossRefzbMATHGoogle Scholar
  7. 7.
    Woodward, M.R., Hennell, M.A.: On the Relationship Between Two Control-flow Coverage Criteria: All JJ-paths and MCDC. Information & Software Technology 48, 433–440 (2006)CrossRefGoogle Scholar
  8. 8.
    Malevris, N., Yates, D.F.: The Collateral Coverage of Data Flow Criteria When Branch Testing. Information and Software Technology 48, 676–686 (2006)CrossRefGoogle Scholar
  9. 9.
    Chen, M.H., Kao, H.M.: Testing Object-Oriented Programs An Integrated Approach. In: Proceedings of the 10th International Symposium on Software Reliability Engineering, pp. 73–83 (1999)Google Scholar
  10. 10.
    JaBUTi Homepage, (access, December 2007)
  11. 11.
    Emma, (access, 2008)
  12. 12.
    PurifyPlus, IBM Rational, (access, March 2008)
  13. 13.
    EclEmma 1.2.0, (access, 2008)
  14. 14.
    TPTP: Eclipse Test & Performance Tools Platform Project, (access, March 2009)
  15. 15.
    Horgan, J.R., London, S.: A Data Flow Coverage Testing Tool for C. In: International Symposium on Software Testing and Analysis 1991, pp. 87–97 (1991)Google Scholar
  16. 16.
  17. 17.
  18. 18.
    JUnit, (access December 2008)
  19. 19.
    Rembiszewski, A.: Data Flow Coverage of Object Programs. Msc Thesis, Institute of Computer Science, Warsaw University of Technology (2009) (in polish)Google Scholar

Copyright information

© IFIP International Federation for Information Processing 2012

Authors and Affiliations

  • Ilona Bluemke
    • 1
  • Artur Rembiszewski
    • 1
  1. 1.Institute of Computer ScienceWarsaw University of TechnologyWarsawPoland

Personalised recommendations