Automatic Construction of Java Programs from Functional Program Specifications

Abstract

This paper presents a novel approach to construct Java programs automatically from the input functional program specifications on natural numbers from the constructive proofs of the input specifications using an inductive theorem prover called Poiti'n. The construction of a Java program from the input functional program specification involves two phases. The theorem prover is used to construct a higher order functional (HOF) program from the input specification expressed as an existential theorem. A set of mapping rules for a Programming Language Translation System (PLTS) is defined for translating functional expressions to their semantic equivalent Java code. The generated functional program is translated into intermediate Java code in the form of a Java function using the PLTS module. The generated Java function requires a small refinement to obtain a syntactically correct Java function. This Java function is encapsulated within a user defined Java class as a member operation, which is invoked within a Java application class consisting of a main function by creating objects resulting in an executable Java program. The constructed functional program and the generated Java program both are correct with respect to the input specification as they produce the same output.

Authors and Affiliations

Md. Kabir

Keywords

Related Articles

A Context-Sensitive Approach to Find Optimum Language Model for Automatic Bangla Spelling Correction

Automated spelling correction is an important phenomenon in typing that has intense effect on aiding both literate and semi-literate people while using keyboard or other similar devices. Such automated spelling correctio...

Competitive Representation Based Classification Using Facial Noise Detection

Linear representation based face recognition is hotly studied in recent years. Competitive representation classification is a linear representation based method which uses the most competitive training samples to sparsel...

Exploiting Document Level Semantics in Document Clustering

Document clustering is an unsupervised machine learning method that separates a large subject heterogeneous collection (Corpus) into smaller, more manageable, subject homogeneous collections (clusters). Traditional metho...

Fine-grained Accelerometer-based Smartphone Carrying States Recognition during Walking

Due to the dependency of our daily lives on smartphones, the states of the device have impact on the quality of services offered through a smartphone. In this article, we focus on the carrying states of the device while...

Performance Comparison of Protocols Combination based on EIGRP and OSPF for Real-Time Applications in Enterprise Networks

This work studies the impact of redistribution on network performance compared with the use of a single routing protocol. A real network with real traffic parameters is simulated, in order to investigate a real deploymen...

Download PDF file
  • EP ID EP132443
  • DOI 10.14569/IJACSA.2015.060409
  • Views 118
  • Downloads 0

How To Cite

Md. Kabir (2015). Automatic Construction of Java Programs from Functional Program Specifications. International Journal of Advanced Computer Science & Applications, 6(4), 65-72. https://europub.co.uk/articles/-A-132443