Generating Verified Java Components through RESOLVE

  • Authors:
  • Hampton Smith;Heather Harton;David Frazier;Raghuveer Mohan;Murali Sitaraman

  • Affiliations:
  • School of Computing, Clemson University, Clemson, USA 29634;School of Computing, Clemson University, Clemson, USA 29634;Computer Science Department, East Tennessee State University, Johnson City, USA 37614;School of Computing, Clemson University, Clemson, USA 29634;School of Computing, Clemson University, Clemson, USA 29634

  • Venue:
  • ICSR '09 Proceedings of the 11th International Conference on Software Reuse: Formal Foundations of Reuse and Domain Engineering
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

For software components to be reused with confidence, they must be correct. Unlike testing, formal verification can be used to certify that a component will behave correctly regardless of context, as long as that context satisfies component assumptions. Some verification systems for developing correct components in languages such as Java are simplified to be practical, but are not complete. Other systems that account for necessary semantic complications arising from underlying reference behavior demand non-trivial specification and verification. This paper describes an alternative. Under this approach, reusable components are specified, implemented, and verified in RESOLVE, a language with clean semantics, and are translated to Java. To improve confidence in the verification process, we are currently re-engineering the RESOLVE verification system itself with generated verified components.