Abstract
Building multi-lingual software is a practical necessity. At present, with object-oriented programming the dominant paradigm, it is common to assemble software systems comprising components written in at least two different object-oriented languages. Modern object-oriented languages provide exception handling mechanisms as a means of enriching the signatures of methods with a specification of what to do if the method “fails”, i.e., cannot carry out its intended (normal) function for some reason. Indeed, Java and C++ (and many other object-oriented languages, including C#) have remarkably similar exception handling mechanisms. As we demonstrate, however, those exception handling mechanisms do not necessarily interoperate smoothly when used in multi-lingual software systems.We believe that our long-term goal of maximally effortless and error-free multi-lingual programming requires automated tools that are based on solid formal foundations. Toward that end, we have developed a formal language, which we call RIPLS, that can be used to rigorously study properties of multi-lingual software. In this paper, we demonstrate RIPLS and our approach by using it to study exception handling in multilingual object-oriented systems, and show how use of our methods can identify problems that standard techniques cannot. We then exhibit a correctly-working version of multi-lingual exception-handling and use our methods to confirm its correctness. Finally we discuss how experience with these RIPLS-based methods has informed our designs for automated tools that will implement correctly-working multi-lingual exception handling.This work makes a significant contribution by demonstrating that formal, theoretical foundations can be used to solve practical problems in multi-lingual software development.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.