{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,12,5]],"date-time":"2025-12-05T23:41:36Z","timestamp":1764978096628,"version":"3.46.0"},"reference-count":56,"publisher":"Walter de Gruyter GmbH","issue":"1","license":[{"start":{"date-parts":[[2019,4,16]],"date-time":"2019-04-16T00:00:00Z","timestamp":1555372800000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/creativecommons.org\/licenses\/by\/4.0"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2019,12,18]]},"abstract":"<jats:title>Abstract<\/jats:title>\n                  <jats:p>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%.<\/jats:p>","DOI":"10.1515\/jisys-2018-0291","type":"journal-article","created":{"date-parts":[[2019,4,16]],"date-time":"2019-04-16T10:32:47Z","timestamp":1555410767000},"page":"1388-1407","source":"Crossref","is-referenced-by-count":10,"title":["The Use of Natural Language Processing Approach for Converting Pseudo Code to C# Code"],"prefix":"10.1515","volume":"29","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-9942-4772","authenticated-orcid":false,"given":"Ayad Tareq","family":"Imam","sequence":"first","affiliation":[{"name":"Department of Computer Science , Faculty of Information Technology, Isra University , Amman 11622 , Jordan"}]},{"given":"Ayman Jameel","family":"Alnsour","sequence":"additional","affiliation":[{"name":"Department of Computer Engineering , College of Computer Engineering and Sciences, Prince Sattam Bin Abdulaziz University , Alkharj , Kingdom of Saudi Arabia"}]}],"member":"374","published-online":{"date-parts":[[2019,4,16]]},"reference":[{"key":"2025120523362795908_j_jisys-2018-0291_ref_001","unstructured":"A. V. Aho, M. S. Lam, R. Sethi and J. Ullman, Compilers principles, techniques, and tools, 2nd ed., Addison Wesley, USA, 2008."},{"key":"2025120523362795908_j_jisys-2018-0291_ref_002","doi-asserted-by":"crossref","unstructured":"F. B. K. B. A\u00efcha Choutri, A tile logic based approach for software architecture description analysis, J. Softw. Eng. Appl. 3 (2010), 1067\u20131079.","DOI":"10.4236\/jsea.2010.311126"},{"key":"2025120523362795908_j_jisys-2018-0291_ref_003","unstructured":"Ajhais, Converting algorithm to code, Slashdot Media, NY, USA, 2013."},{"key":"2025120523362795908_j_jisys-2018-0291_ref_004","doi-asserted-by":"crossref","unstructured":"M. R. Amal, C. V. Jamsheedh and L. S. Mathew, Pseudocode to source programming language translator, IJCSITY 4 (2016), 21\u201329.","DOI":"10.5121\/ijcsity.2016.4203"},{"key":"2025120523362795908_j_jisys-2018-0291_ref_005","unstructured":"H. Ammar, W. Abdelmoez and M. S. Hamdi, Software engineering using artificial intelligence techniques: current state and open problems, in: First Taibah University International Conference on Computing and Information Technology, Al-Madinah Al-Munawwarah, Saudi Arabia, 2012."},{"key":"2025120523362795908_j_jisys-2018-0291_ref_006","doi-asserted-by":"crossref","unstructured":"N. Asher, Selectional restrictions, types and categories, J. Appl. Logic 12 (2014), 75\u201378.","DOI":"10.1016\/j.jal.2013.08.002"},{"key":"2025120523362795908_j_jisys-2018-0291_ref_007","unstructured":"E. C. M. Association, C# language specifications, Ecma International, Geneva, Swiss, 2006."},{"key":"2025120523362795908_j_jisys-2018-0291_ref_008","doi-asserted-by":"crossref","unstructured":"C. F. Baker, C. J. Fillmore and J. B. Lowe, The Berkeley FrameNet Project, in: The 17th International Conference on Computational Linguistics, Montreal, Quebec, Canada, 1998.","DOI":"10.3115\/980451.980860"},{"key":"2025120523362795908_j_jisys-2018-0291_ref_009","doi-asserted-by":"crossref","unstructured":"M. M. Baskaran, J. Ramanujam and P. Sadayappan, Automatic C-to-CUDA code generation for affine programs, in: The 19th joint European conference on Theory and Practice of Software, international conference on Compiler Construction, Paphos, Cyprus, 2010.","DOI":"10.1007\/978-3-642-11970-5_14"},{"key":"2025120523362795908_j_jisys-2018-0291_ref_010","unstructured":"K. Becker and J. Gottschlich, AI programmer: autonomously creating software programs using genetic algorithms, Cornell University, NY, USA, 2017."},{"key":"2025120523362795908_j_jisys-2018-0291_ref_011","unstructured":"D. Bell, Software engineering for students: a programming approach, 4th ed., Longman Group, London, United Kingdom, 2005."},{"key":"2025120523362795908_j_jisys-2018-0291_ref_012","doi-asserted-by":"crossref","unstructured":"D. C. Brown, Artificial intelligence for design process improvement, in: Design Process Improvement: A Review of Current Practice, pp. 158\u2013173, Springer-Verlag London, London, UK, 2005.","DOI":"10.1007\/978-1-84628-061-0_7"},{"key":"2025120523362795908_j_jisys-2018-0291_ref_013","doi-asserted-by":"crossref","unstructured":"G. Canfora, A. Cimitile and U. D. Carlini, A logic-based approach to reverse engineering tools production, IEEE Trans. Softw. Eng. 18 (1992), 1053\u20131064.","DOI":"10.1109\/32.184760"},{"key":"2025120523362795908_j_jisys-2018-0291_ref_014","doi-asserted-by":"crossref","unstructured":"G. N. Carlson, A unified analysis of the English bare plural, Linguist. Philos. 1 (1977), 413\u2013455.","DOI":"10.1007\/BF00353456"},{"key":"2025120523362795908_j_jisys-2018-0291_ref_015","unstructured":"Y. Danilchenko and R. Fox, Automated code generation using case-based reasoning, routine design and template-based programming, in: 23rd Midwest Artificial Intelligence and Cognitive Science Conference, Cincinnati, Ohio, USA, 2012."},{"key":"2025120523362795908_j_jisys-2018-0291_ref_016","doi-asserted-by":"crossref","unstructured":"V. G. D\u00edaz, E. N. Valdez, J. Espada, B. P. Garc\u00eda-Bustelo, J. C. Lovelle and C. Mar\u00edn, A brief introduction to model-driven engineering, Tecnura J. 18 (2014), 127\u2013142.","DOI":"10.14483\/udistrital.jour.tecnura.2014.2.a10"},{"key":"2025120523362795908_j_jisys-2018-0291_ref_017","doi-asserted-by":"crossref","unstructured":"B. J. Dorr, Translation, large-scale dictionary construction for foreign language tutoring and interlingual machine, Mach. Transl. 12 (1997), 271\u2013322.","DOI":"10.1023\/A:1007965530302"},{"key":"2025120523362795908_j_jisys-2018-0291_ref_018","unstructured":"C. J. Fillmore, Types of lexical information, in: Semantics: An Interdisciplinary Reader in Philosophy, Linguistics and Psychology, pp. 370\u2013392, Cambridge University Press, London, U.K., 1971."},{"key":"2025120523362795908_j_jisys-2018-0291_ref_019","unstructured":"flowgorithm.org, \u201cflowgorithm,\u201d 2017. [Online]. Available: http:\/\/www.flowgorithm.org\/index.htm. [Accessed 15 10 2017]."},{"key":"2025120523362795908_j_jisys-2018-0291_ref_020","unstructured":"O. Furuse and H. Iida, An example based method for transfer driven MT, in: 4th International Conference on Theoretical and Methodological Issues in MT, Montreal, Canada, 1992."},{"key":"2025120523362795908_j_jisys-2018-0291_ref_021","unstructured":"E. Gamma, R. Helm, R. Johnson and J. Vlissides, Design patterns elements of reusable object-oriented software, 1st ed., Addison-Wesley Professional, USA, 1994."},{"key":"2025120523362795908_j_jisys-2018-0291_ref_022","unstructured":"A. T. Imam, PAS2C: a new trend of translating program, J. Educ. Sci. 31 (1998), 91\u201396."},{"key":"2025120523362795908_j_jisys-2018-0291_ref_023","doi-asserted-by":"crossref","unstructured":"A. T. Imam, S. Aljawarneh and T. Rousan, An expert code generator using rule-based and frames knowledge representation techniques, in: 5th International Conference on Information and Communication Systems (ICICS), Irbid, Jordan, 2014.","DOI":"10.1109\/IACS.2014.6841951"},{"key":"2025120523362795908_j_jisys-2018-0291_ref_024","unstructured":"A. T. Imam, A. J. Al-Nsour and A. Al-Hroob, The definition of intelligent computer aided software engineering (I-CASE) tools, J. Inf. Eng. Appl. 5 (2015), 47\u201356."},{"key":"2025120523362795908_j_jisys-2018-0291_ref_025","unstructured":"R. Jackendoff, Semantic structures, MIT Press, Cambridge, MA and London, 1990."},{"key":"2025120523362795908_j_jisys-2018-0291_ref_026","unstructured":"D. B. Jones, Analogical natural language processing (studies in computational linguistics), UCL Press, London, UK, 1996."},{"key":"2025120523362795908_j_jisys-2018-0291_ref_027","unstructured":"D. Jurafsky and J. H. Martin, Speech and language processing, vol. 3, Pearson London, London, 2014."},{"key":"2025120523362795908_j_jisys-2018-0291_ref_028","unstructured":"P. Kingsbury and M. Palmer, From TreeBank to PropBank, in: Third International Conference on Language Resources and Evaluation, Las Palmas, Canary Islands, Spain, 2002."},{"key":"2025120523362795908_j_jisys-2018-0291_ref_029","doi-asserted-by":"crossref","unstructured":"E. Kitzelmann, Inductive programming: a survey of program synthesis techniques, in: Third International Workshop on Approaches and Applications of Inductive Programming, Edinburgh, UK, 2009.","DOI":"10.1007\/978-3-642-11931-6_3"},{"key":"2025120523362795908_j_jisys-2018-0291_ref_030","unstructured":"J. Klein, H. Levinson and J. Marchetti, Model-driven engineering: automatic code generation and beyond, Software Engineering, Carnegie Mellon University, USA, 2015."},{"key":"2025120523362795908_j_jisys-2018-0291_ref_031","doi-asserted-by":"crossref","unstructured":"D. Lonsdale, T. Mitamura and E. Nyberg, Acquisition of large lexicons for practical knowledge-based MT, Mach. Transl. 9 (1994), 251\u2013283.","DOI":"10.1007\/BF00980580"},{"key":"2025120523362795908_j_jisys-2018-0291_ref_032","unstructured":"G. F. Luger, Artificial intelligence: structures and strategies for complex problem solving, 6th ed., Pearson, London, UK, 2008."},{"key":"2025120523362795908_j_jisys-2018-0291_ref_033","unstructured":"A. Meyers, R. Reeves, C. A. Macleod, R. Szekely, V. Zielinska, B. Young and R. Grishman, The NomBank project: an interim report, Association for Computational Linguistics, Massachusetts, USA, 2004."},{"key":"2025120523362795908_j_jisys-2018-0291_ref_034","unstructured":"S. Mukherjee and T. Chakrabarti, Automatic algorithm specification to source code translation, IJCSE 2 (2011), 146\u2013159."},{"key":"2025120523362795908_j_jisys-2018-0291_ref_035","doi-asserted-by":"crossref","unstructured":"S. Nadkarni, P. Panchmatia, T. Karwa and S. Kurhade, Semi natural language algorithm to programming language interpreter, in: 2016 International Conference on Advances in Human Machine Interaction (HMI), Doddaballapur, India, 2016.","DOI":"10.1109\/HMI.2016.7449190"},{"key":"2025120523362795908_j_jisys-2018-0291_ref_036","unstructured":"D. L. Olson and D. Delen, Advanced data mining techniques, 1st ed., p. 38, Springer, Berlin, Germany, 2008."},{"key":"2025120523362795908_j_jisys-2018-0291_ref_037","unstructured":"V. Parekh and D. Nilesh, Pseudocode to source code translation, JETIR 3 (2016), 47\u201352."},{"key":"2025120523362795908_j_jisys-2018-0291_ref_038","unstructured":"C. U. Press, \u201cMeaning of \u201cpredicate\u201d in the English Dictionary,\u201d 2018. [Online]. Available: https:\/\/dictionary.cambridge.org\/dictionary\/english\/predicate."},{"key":"2025120523362795908_j_jisys-2018-0291_ref_039","unstructured":"R. S. Pressman and B. R. Maxim, Software engineering: a practitioner\u2019s approach, 8\/e, McGraw-Hill Global Education Holdings, LLC, NY, USA, 2015."},{"key":"2025120523362795908_j_jisys-2018-0291_ref_040","doi-asserted-by":"crossref","unstructured":"V. Punyakanok, D. Roth and W.-T. Yih, The importance of syntactic parsing and inference in semantic role labeling, Comput. Linguist. 34 (2008), 257\u2013287.","DOI":"10.1162\/coli.2008.34.2.257"},{"key":"2025120523362795908_j_jisys-2018-0291_ref_041","unstructured":"V. Punyakanok, D. Roth and W. Yih, \u201cDemo,\u201d 20 9 2017. [Online]. Available: http:\/\/cogcomp.org\/page\/demo_view\/srl."},{"key":"2025120523362795908_j_jisys-2018-0291_ref_042","doi-asserted-by":"crossref","unstructured":"M. Ramachandran, Automated improvement for component reuse, Software Process: Improvement and Practice 11 (2006), 591\u2013599.","DOI":"10.1002\/spip.299"},{"key":"2025120523362795908_j_jisys-2018-0291_ref_043","unstructured":"D. S. Reddy, Algorithm to code converter, Weebly, Bharat Nagar, India, 2011."},{"key":"2025120523362795908_j_jisys-2018-0291_ref_044","unstructured":"C. L. a. E. Research, \u201cA Class-Based Verb Lexicon,\u201d University of Colorado, 11 8 2017. [Online]. Available: http:\/\/verbs.colorado.edu\/ mpalmer\/projects\/verbnet.html."},{"key":"2025120523362795908_j_jisys-2018-0291_ref_045","unstructured":"C. L. a. E. Research, \u201cUnified Verb Index,\u201d University of Colorado, 15 8 2017. [Online]. Available: http:\/\/verbs.colorado.edu\/verb-index\/vn3.3\/vn\/class-h.php."},{"key":"2025120523362795908_j_jisys-2018-0291_ref_046","doi-asserted-by":"crossref","unstructured":"S. Sato, CTM: an example-based translation aid system, in: COLING \u201992 Proceedings of the 14th Conference on Computational Linguistics, Nantes, France, 1992.","DOI":"10.3115\/992424.992477"},{"key":"2025120523362795908_j_jisys-2018-0291_ref_047","unstructured":"K. K. Schuler, Verbnet: a broad-coverage, comprehensive verb lexicon, University of Pennsylvania, PA, USA, 2005."},{"key":"2025120523362795908_j_jisys-2018-0291_ref_048","unstructured":"R. Sedgewick and K. Wayne, Algorithms, 4th ed., Pearson Education, Inc, p. 4, Boston, MA, USA, 2011."},{"key":"2025120523362795908_j_jisys-2018-0291_ref_049","doi-asserted-by":"crossref","unstructured":"J. Sejans and O. Nikiforova, Problems and perspectives of code generation from UML class diagram, Scientific Journal of Riga Technical University. Computer Sciences 47 (2011), 75\u201384.","DOI":"10.2478\/v10143-011-0024-3"},{"key":"2025120523362795908_j_jisys-2018-0291_ref_050","unstructured":"A. Software, \u201cAthTek flowchart to code,\u201d 2017. [Online]. Available: http:\/\/www.athtek.com\/flowchart-to-code.html#.WehMhY-CyM9. [Accessed 15 10 2017]."},{"key":"2025120523362795908_j_jisys-2018-0291_ref_051","unstructured":"I. Sommerville, Software engineering, 9th ed., Pearson, London, UK, 2010."},{"key":"2025120523362795908_j_jisys-2018-0291_ref_052","unstructured":"L. M. Surhone, M. T. Tennoe and S. F. Henssonow, Comparison of code generation tools, Betascript Publishing, GmbH, 2010."},{"key":"2025120523362795908_j_jisys-2018-0291_ref_053","unstructured":"I. TechTarget, \u201cPseudocode,\u201d 10 10 2017. [Online]. Available: http:\/\/whatis.techtarget.com\/definition\/pseudocode."},{"key":"2025120523362795908_j_jisys-2018-0291_ref_054","unstructured":"J. Tsujii and S. Ananiadou, Knowledge based processing in MT, in: The 1st International Conference on Knowledge Bases and Knowledge Sharing, Tokyo, Japan, 1993."},{"key":"2025120523362795908_j_jisys-2018-0291_ref_055","unstructured":"P. University, \u201cWhat is WordNet?,\u201d 2015. [Online]. Available: http:\/\/wordnet.princeton.edu\/wordnet\/."},{"key":"2025120523362795908_j_jisys-2018-0291_ref_056","doi-asserted-by":"crossref","unstructured":"Z. Zhang and Y. Zhou, A fuzzy logic based approach for software testing, Int. J. Pattern Recognit. Artif. Intell. 21 (2007), 709\u2013722.","DOI":"10.1142\/S0218001407005636"}],"container-title":["Journal of Intelligent Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.degruyter.com\/view\/journals\/jisys\/29\/1\/article-p1388.xml","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/www.degruyterbrill.com\/document\/doi\/10.1515\/jisys-2018-0291\/xml","content-type":"application\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/www.degruyterbrill.com\/document\/doi\/10.1515\/jisys-2018-0291\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,12,5]],"date-time":"2025-12-05T23:39:31Z","timestamp":1764977971000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.degruyterbrill.com\/document\/doi\/10.1515\/jisys-2018-0291\/html"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019,4,16]]},"references-count":56,"journal-issue":{"issue":"1","published-online":{"date-parts":[[2018,4,25]]},"published-print":{"date-parts":[[2019,12,18]]}},"alternative-id":["10.1515\/jisys-2018-0291"],"URL":"https:\/\/doi.org\/10.1515\/jisys-2018-0291","relation":{},"ISSN":["2191-026X","0334-1860"],"issn-type":[{"type":"electronic","value":"2191-026X"},{"type":"print","value":"0334-1860"}],"subject":[],"published":{"date-parts":[[2019,4,16]]}}}