Abstract

Abstract Although current computer-aided software engineering tools support developers in composing a program, there is no doubt that more flexible supportive tools are needed to address the increases in the complexity of programs. This need can be met by automating the intellectual activities that are carried out by humans when composing a program. This paper aims to automate the composition of a programming language code from pseudocode, which is viewed here as a translation process for a natural language text, as pseudocode is a formatted text in natural English language. Based on this view, a new automatic code generator is developed that can convert pseudocode to C# programming language code. This new automatic code generator (ACG), which is called CodeComposer, uses natural language processing (NLP) techniques such as verb classification, thematic roles, and semantic role labeling (SRL) to analyze the pseudocode. The resulting analysis of linguistic information from these techniques is used by a semantic rule-based mapping machine to perform the composition process. CodeComposer can be viewed as an intelligent computer-aided software engineering (I_CASE) tool. An evaluation of the accuracy of CodeComposer using a binomial technique shows that it has a precision of 88%, a recall of 91%, and an F-measure of 89%.

Highlights

  • Software manufacturing can be enhanced in terms of both its quality and quantity by means of computeraided software engineering (CASE) tools, which are a set of software systems for fully or partially automating certain activities of the software development process

  • The solution proposed here is the use of the semantic role labeling (SRL) of natural language processing (NLP) in an automatic code generator (ACG)

  • Developers can benefit from the automatic conversion of their pseudocode into a programming language code that can be put to work immediately

Read more

Summary

Introduction

Software manufacturing can be enhanced in terms of both its quality and quantity by means of computeraided software engineering (CASE) tools, which are a set of software systems for fully or partially automating certain activities of the software development process. These tools are available either separately or as a package. The composition of a program is a fundamental phase in the software development life cycle (SDLC) that can be automated via code generation CASE tools [39]. The conversion of a certain design to a programming language code is a relatively straightforward task compared to the other software development tasks [51]

Objectives
Methods
Results
Discussion
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call