Skip to content
Free planNo credit card requiredStart writing

Search 250 million research papers

Read the abstract, see who wrote it and who cites it, and get the citation in APA, MLA, Chicago or Harvard.

About 5,445 papers for “programming language syntax”

Keywords- Programming Language Security, Syntax Errors

R. Chinchani, A. Iyer, B. Jayaraman et al. · 2008

Insecure Programming: How Culpable is a Language’s Syntax? Abstracr-Vulnerabilities in software stem from poorly written code. In-advertent errors may creep in due to programmers not being aware of the security implications of their code. Writing secure code is largely a soft-ware engineering issue requiring the education of programmers about safe coding practices. Various projects and efforts such as memory usage profil-ing, meta-compilation and typing proofs that verify correctness of the code at compile-time and run-time provide additional assistance in this regard. In this paper, we point out that in the context of security, one aspect that is perhaps underrated or overlooked is that vulnerabilities may be inherent in the syntax and grammar of a programming language itself. We leverage on some well-studied problems to show that small syntactic discrepancies may lead to vast semantic differences in programs and in turn, correlate to hard security errors. Our work will help caution programmers on the types of errors to avoid as well as serve as a guideline for language design-ers to lay emphasis not only on richness of language features but also the unambiguity of the syntax.

Cited by 0

Syntax extension and the IMP72 programming language

Walter Bilofsky · ACM SIGPLAN Notices · 1974

The IMP72 language for the DEC PDP-10 computer is the most recent of the IMP family of extensible software implementation languages. Its facility for extending the syntax of the language, the syntax statement, is simple enough to be useful to relatively unsophisticated users, yet powerful enough that the IMP72 language is defined by an IMP72 source program consisting of syntax statements.

Cited by 4

Formal Sanskrit Syntax: A Specification for Programming Language

K. Kabi Khanganba, Girish Nath Jha · 2020

K. Kabi Khanganba, Girish Jha. Proceedings of the 1st Conference of the Asia-Pacific Chapter of the Association for Computational Linguistics and the 10th International Joint Conference on Natural Language Processing: Student Research Workshop. 2020.

Cited by 0Open access

VoiceJava: A Syntax-Directed Voice Programming Language for Java

Tao Zan, Zhenjiang Hu · Electronics · 2023

About 5–10% of software engineers suffer from repetitive strain injury, and it would be better to provide an alternative way to write code instead of using a mouse and keyboard and sitting on a chair the whole day. Coding by voice is an attractive approach, and quite a bit of work has been done in that direction. At the same time, dictating plain Java text with low accuracy through the existing voice recognition engines or providing complex panels controlled by the voice makes the coding process even more complex. We argue that current programming languages are suitable for programming by hand, not by mouth. We try to solve this problem by designing a new programming language, VoiceJava, suitable for dictating. A Java program is constructed in a syntax-directed way through a sequence of VoiceJava commands. As a result, users do not need to dictate spaces, parentheses, and commas, reducing the vocal load.

Cited by 2Open access

JAVA PROGRAMMING IN THE LANGUAGE HERITAGE TO DO SYNTAX

Sharopova, Muhayyo · Zenodo (CERN European Organization for Nuclear Research) · 2023

This JAVA programming in the article OYD is indispensable in the language part has been heritage to do Heritage to do syntax and semantics cause passed . Heritage to do circle issues and their software supply

Cited by 0Open access

An improved XML syntax for the java programming language

M. Topolnik · Proceedings of the 8th International Conference on Telecommunications, 2005. ConTEL 2005. · 2005

The benefits of using XML to encode program- ming language's source code have already been identified and XML syntaxes developed for this purpose. However, there is an absence of a systematic identification of the requirements that need to be met in order to fully leverage the potentials of XML and the key concept of the abstract syntax is being misinterpreted. Due to this the syntaxes have various deficiencies, a number of which are common to many of them. This paper clarifies the concepts, identifies these deficiencies, and proposes a new syntax for the Java programming language which avoids them. The superiority of the new syntax is demonstrated by comparing it with two of the most relevant publicly available syntaxes with the same purpose. I. INTRODUCTION The benefits of using XML to encode programming languages' source code have already been identified (1), (2) and XML syntaxes developed for this purpose (3), (4), (5). However, there is a lack of a systematic approach to the identification of more precise goals the syntax should achieve in order to fully leverage the potentials of this approach. Particularly, it appears that the central concept in the application of XML to source code, that of the abstract syntax, is not being interpreted properly. In order to explore this subject, a research project named Jezix was started. The main goal of the project was the development of an XML syntax for the Java pro- gramming language that is based on the correct treatment of the concept of the abstract syntax, which allows it to optimally leverage the identified potentials of XML. The results of the research were validated by demonstrating the proposed syntax's superiority over existing syntaxes. This was achieved by solving several code analysis prob- lems for the proposed and two of the most relevant existing syntaxes and then comparing the amount of effort needed and the properties of the resulting query code. The next section gives an overview of source code and XML. It repeats some well-known results of the formal language theory, but also clarifies important concepts and defines some terms used later. Section III presents the two key benefits of using XML for source code. Section IV reflects on the effects of using XML on the quality of the machine-to-human interface. Section V presents the most sensitive requirements the XML syntax has to meet. Section VI gives a critical overview of other existing syntaxes and identifies the common root of many of their deficiencies. Section VII briefly introduces the proposed syntax and proceeds to the presentation of the results of its comparison with the two other syntaxes. Finally, the closing section summarizes the achievements and conclusions of the Jezix project. II. OVERVIEW OF SOURCE CODE AND XML A programming language has two important compo- nents:

Cited by 2

A replication study on the intuitiveness of programming language syntax

Vilma Lappi, Ville Tirronen, Jonne Itkonen · Software Quality Journal · 2023

Abstract In this article, we present a replication of an empirical experiment that evaluates intuitiveness and comprehensibility of keywords relating to different concepts in programming languages, originally conducted by Stefik and Gellenbeck. Novice programmers face many barriers when learning programming. One of these barriers is syntax, which for many languages is not designed based on empirical evidence. The purpose of the experiment was to provide more empirical evidence on the subject, to find out if the results of the original experiment can be replicated and if conducting the experiment in an environment where English is not the native language affects the results. The results of our experiment replicated most of the findings of the original study and provided further evidence that some syntactic choices in many popular programming languages are unintuitive for novice programmers. Our results suggest that the native language of participants who otherwise had good English skills had little effect when compared to the original study. These results may support programming language designers in making evidence-based design decisions and teachers of introductory programming courses in identifying some of the barriers novice programmers face.

Cited by 2Open access

Investigation of transformations between abstract syntax trees of a concrete programming language and language-independent abstract syntax trees.

Stankevičius, Rytis, · KTUePubl (Repository of Kaunas University of Technology) · 2010

Tools for transforming tree-like data structures are used for solving a range of different problems, such as creation of compilers, code optimizers, documentation and code generation tools, etc. But none of these existing tools seem to be specialized in transforming abstract syntax trees to a language-independent format or from it. This master‘s thesis describes a system that takes concrete abstract syntax trees (ASTs that represent the structure of code written in a real programming language, such a C#, Java, Ruby, etc.) and transforms them into language-independent abstract syntax trees, and vice versa. Rules for mapping one AST to the other are defined in XML-based configuration files that have a simple and clear structure. The system can be used as a stand-alone tool or used as component in third party software. Both the system’s core libraries and tools are written in Java. The purpose of the system’s investigation was to prove two things: that the system can correctly transform a given specific AST to an equivalent generic AST, and vise versa; and that the transformation execution time is within an acceptable range. Both goals were met. This led to a conclusion that the system is a suitable candidate for use by third party tools that handle code migration, refactoring, model transformation and other types of similar tasks.

Cited by 0Open access

Natural Language in Programming: An English Syntax-based Approach for Reducing the Difficulty of First Programming Language Acquisition

Andrew Riker · Brandeis Institutional Repository · 2010

Programming is an intrinsically difficult skill to learn, because first-time programmers are confronted with a large number of new concepts at the same time. This paper explores several other obstructions to first programming language acquisition, proposes modifications for modern programming languages to address them, explores the advantages and disadvantages of natural language programming, and introduces a new natural language programming language designed specifically to address the issues confronting first-time programmers

Cited by 0

Insecure programming: how culpable is a language's syntax

R. Chinchani, A. Iyer, B. Jayaraman et al. · 2003

Abstract — Vulnerabilities in software stem from poorly written code by programmers who are not aware of its security implications or some inadvertent errors that may have crept in. Writing secure code is largely a software engineering issue requiring the education of programmers about safe coding practices. Various projects and efforts such as memory usage profiling, meta-compilation and typing proofs that check correctness of the code at compile-time and runtime provide additional assistance in this regard. In this paper, we point out that in the context of security, one aspect that is perhaps underrated or overlooked is that errors could arise due to the syntax of a programming language. We show that it is possible to make very subtle errors with serious consequences. Our work will help caution programmers on the types of errors to avoid as well as serve as a guideline for language designers to lay emphasis not only on richness of language features but also the syntax of the language.

Cited by 0

Generating High-Precision Feedback for Programming Syntax Errors using Large Language Models

Phung, Tung, Cambronero, José, Gulwani, Sumit et al. · Zenodo (CERN European Organization for Nuclear Research) · 2023

Large language models (LLMs), such as Codex, hold great promise in enhancing programming education by automatically generating feedback for students. We investigate using LLMs to generate feedback for fixing syntax errors in Python programs, a key scenario in introductory programming. More concretely, given a student's buggy program, our goal is to generate feedback comprising a fixed program along with a natural language explanation describing the errors/fixes, inspired by how a human tutor would give feedback. While using LLMs is promising, the critical challenge is to ensure high precision in the generated feedback, which is imperative before deploying such technology in classrooms. The main research question we study is: Can we develop LLMs-based feedback generation techniques with a tunable precision parameter, giving educators quality control over the feedback that students receive? To this end, we introduce PyFiXV, our technique to generate high-precision feedback powered by Codex. The key idea behind PyFiXV is to use a novel run-time validation mechanism to decide whether the generated feedback is suitable for sharing with the student; notably, this validation mechanism also provides a precision knob to educators. We perform an extensive evaluation using two real-world datasets of Python programs with syntax errors and show the efficacy of PyFiXV in generating high-precision feedback.

Cited by 2Open access