Correct Syntax

14,000,000 Leading Edge Experts on the ideXlab platform

Scan Science and Technology

Contact Leading Edge Experts & Companies

Scan Science and Technology

Contact Leading Edge Experts & Companies

The Experts below are selected from a list of 168 Experts worldwide ranked by ideXlab platform

Amjad Altadmri - One of the best experts on this subject based on the ideXlab platform.

  • Novice Java Programming Mistakes: Large-Scale Data vs. Educator Beliefs
    ACM Transactions on Computing Education, 2017
    Co-Authors: Neil C. C. Brown, Amjad Altadmri
    Abstract:

    Teaching is the process of conveying knowledge and skills to learners. It involves preventing misunderstandings or Correcting misconceptions that learners have acquired. Thus, effective teaching relies on solid knowledge of the discipline, but also a good grasp of where learners are likely to trip up or misunderstand. In programming, there is much opportunity for misunderstanding, and the penalties are harsh: failing to produce the Correct Syntax for a program, for example, can completely prevent any progress in learning how to program. Because programming is inherently computer-based, we have an opportunity to automatically observe programming behaviour -- more closely even than an educator in the room at the time. By observing students’ programming behaviour, and surveying educators, we can ask: do educators have an accurate understanding of the mistakes that students are likely to make? In this study, we combined two years of the Blackbox dataset (with more than 900 thousand users and almost 100 million compilation events) with a survey of 76 educators to investigate which mistakes students make while learning to program Java, and whether the educators could make an accurate estimate of which mistakes were most common. We find that educators’ estimates do not agree with one another or the student data, and discuss the implications of these results.

Jose Nelson Amaral - One of the best experts on this subject based on the ideXlab platform.

  • Syntax and sensibility using language models to detect and Correct Syntax errors
    IEEE International Conference on Software Analysis Evolution and Reengineering, 2018
    Co-Authors: Eddie Antonio Santos, Joshua Charles Campbell, Dhvani Patel, Abram Hindle, Jose Nelson Amaral
    Abstract:

    Syntax errors are made by novice and experienced programmers alike; however, novice programmers lack the years of experience that help them quickly resolve these frustrating errors. Standard LR parsers are of little help, typically resolving Syntax errors and their precise location poorly. We propose a methodology that locates where Syntax errors occur, and suggests possible changes to the token stream that can fix the error identified. This methodology finds Syntax errors by using language models trained on Correct source code to find tokens that seem out of place. Fixes are synthesized by consulting the language models to determine what tokens are more likely at the estimated error location. We compare n-gram and LSTM (long short-term memory) language models for this task, each trained on a large corpus of Java code collected from GitHub. Unlike prior work, our methodology does not rely that the problem source code comes from the same domain as the training data. We evaluated against a repository of real student mistakes. Our tools are able to find a syntactically-valid fix within its top-2 suggestions, often producing the exact fix that the student used to resolve the error. The results show that this tool and methodology can locate and suggest Corrections for Syntax errors. Our methodology is of practical use to all programmers, but will be especially useful to novices frustrated with incomprehensible Syntax errors.

  • SANER - Syntax and sensibility: Using language models to detect and Correct Syntax errors
    2018 IEEE 25th International Conference on Software Analysis Evolution and Reengineering (SANER), 2018
    Co-Authors: Eddie Antonio Santos, Joshua Charles Campbell, Dhvani Patel, Abram Hindle, Jose Nelson Amaral
    Abstract:

    Syntax errors are made by novice and experienced programmers alike; however, novice programmers lack the years of experience that help them quickly resolve these frustrating errors. Standard LR parsers are of little help, typically resolving Syntax errors and their precise location poorly. We propose a methodology that locates where Syntax errors occur, and suggests possible changes to the token stream that can fix the error identified. This methodology finds Syntax errors by using language models trained on Correct source code to find tokens that seem out of place. Fixes are synthesized by consulting the language models to determine what tokens are more likely at the estimated error location. We compare n-gram and LSTM (long short-term memory) language models for this task, each trained on a large corpus of Java code collected from GitHub. Unlike prior work, our methodology does not rely that the problem source code comes from the same domain as the training data. We evaluated against a repository of real student mistakes. Our tools are able to find a syntactically-valid fix within its top-2 suggestions, often producing the exact fix that the student used to resolve the error. The results show that this tool and methodology can locate and suggest Corrections for Syntax errors. Our methodology is of practical use to all programmers, but will be especially useful to novices frustrated with incomprehensible Syntax errors.

Neil C. C. Brown - One of the best experts on this subject based on the ideXlab platform.

  • Novice Java Programming Mistakes: Large-Scale Data vs. Educator Beliefs
    ACM Transactions on Computing Education, 2017
    Co-Authors: Neil C. C. Brown, Amjad Altadmri
    Abstract:

    Teaching is the process of conveying knowledge and skills to learners. It involves preventing misunderstandings or Correcting misconceptions that learners have acquired. Thus, effective teaching relies on solid knowledge of the discipline, but also a good grasp of where learners are likely to trip up or misunderstand. In programming, there is much opportunity for misunderstanding, and the penalties are harsh: failing to produce the Correct Syntax for a program, for example, can completely prevent any progress in learning how to program. Because programming is inherently computer-based, we have an opportunity to automatically observe programming behaviour -- more closely even than an educator in the room at the time. By observing students’ programming behaviour, and surveying educators, we can ask: do educators have an accurate understanding of the mistakes that students are likely to make? In this study, we combined two years of the Blackbox dataset (with more than 900 thousand users and almost 100 million compilation events) with a survey of 76 educators to investigate which mistakes students make while learning to program Java, and whether the educators could make an accurate estimate of which mistakes were most common. We find that educators’ estimates do not agree with one another or the student data, and discuss the implications of these results.

Eddie Antonio Santos - One of the best experts on this subject based on the ideXlab platform.

  • Syntax and sensibility using language models to detect and Correct Syntax errors
    IEEE International Conference on Software Analysis Evolution and Reengineering, 2018
    Co-Authors: Eddie Antonio Santos, Joshua Charles Campbell, Dhvani Patel, Abram Hindle, Jose Nelson Amaral
    Abstract:

    Syntax errors are made by novice and experienced programmers alike; however, novice programmers lack the years of experience that help them quickly resolve these frustrating errors. Standard LR parsers are of little help, typically resolving Syntax errors and their precise location poorly. We propose a methodology that locates where Syntax errors occur, and suggests possible changes to the token stream that can fix the error identified. This methodology finds Syntax errors by using language models trained on Correct source code to find tokens that seem out of place. Fixes are synthesized by consulting the language models to determine what tokens are more likely at the estimated error location. We compare n-gram and LSTM (long short-term memory) language models for this task, each trained on a large corpus of Java code collected from GitHub. Unlike prior work, our methodology does not rely that the problem source code comes from the same domain as the training data. We evaluated against a repository of real student mistakes. Our tools are able to find a syntactically-valid fix within its top-2 suggestions, often producing the exact fix that the student used to resolve the error. The results show that this tool and methodology can locate and suggest Corrections for Syntax errors. Our methodology is of practical use to all programmers, but will be especially useful to novices frustrated with incomprehensible Syntax errors.

  • SANER - Syntax and sensibility: Using language models to detect and Correct Syntax errors
    2018 IEEE 25th International Conference on Software Analysis Evolution and Reengineering (SANER), 2018
    Co-Authors: Eddie Antonio Santos, Joshua Charles Campbell, Dhvani Patel, Abram Hindle, Jose Nelson Amaral
    Abstract:

    Syntax errors are made by novice and experienced programmers alike; however, novice programmers lack the years of experience that help them quickly resolve these frustrating errors. Standard LR parsers are of little help, typically resolving Syntax errors and their precise location poorly. We propose a methodology that locates where Syntax errors occur, and suggests possible changes to the token stream that can fix the error identified. This methodology finds Syntax errors by using language models trained on Correct source code to find tokens that seem out of place. Fixes are synthesized by consulting the language models to determine what tokens are more likely at the estimated error location. We compare n-gram and LSTM (long short-term memory) language models for this task, each trained on a large corpus of Java code collected from GitHub. Unlike prior work, our methodology does not rely that the problem source code comes from the same domain as the training data. We evaluated against a repository of real student mistakes. Our tools are able to find a syntactically-valid fix within its top-2 suggestions, often producing the exact fix that the student used to resolve the error. The results show that this tool and methodology can locate and suggest Corrections for Syntax errors. Our methodology is of practical use to all programmers, but will be especially useful to novices frustrated with incomprehensible Syntax errors.

Deborah Homan - One of the best experts on this subject based on the ideXlab platform.

  • Accelerate instrument control and automation
    IEEE Instrumentation & Measurement Magazine, 2013
    Co-Authors: Deborah Homan
    Abstract:

    Automating instrument set up and measurement within a programming environment can be difficult. This paper will demonstrate the details of creating a sequence of instrument commands that will perform the necessary set-up and measurement and will assure the Correct Syntax and options for later integration into an automated environment. Agilent's Command Expert will be used to generate the instrument commands that can be profiled to improve execution time and identify bottlenecks. Different instruments can be substituted, and the software will identify commands that need to be altered or will not work for the new instrument. Once developed and tuned, the command sequence can easily be used in the following Application Development Environments (ADEs): Visual Studio, LabVIEW, MATLAB, VEE, SystemVue, and Excel. These and other features help remove many of the barriers that exist today when trying to automate instrument control for validation and test.

  • Accelerate instrument control and automation
    2012 IEEE AUTOTESTCON Proceedings, 2012
    Co-Authors: Deborah Homan
    Abstract:

    Automating instrument set-up and measurement within a programming environment can be difficult. The instrument commands and programming languages are different, and do not always integrate well. Instruments may have hundreds if not thousands of commands and knowing all of the Correct parameters and what is possible for each instrument can be very time consuming and tedious. A new free programming tool from Agilent Technologies (Command Expert) bridges the gap between the computer programming language and the instrument commands accelerating the automation process. This paper will demonstrate the details of creating a sequence of instrument commands that will perform the necessary set-up and measurement and will assure the Correct Syntax and options for later integration into an automated environment. Instrument commands can be profiled to improve execution time and identify bottlenecks. Different instruments can be substituted, and the software will identify commands that need to be altered or will not work for the new instrument. The command sequence once developed and tuned can easily be used in the following Application Development Environments (ADEs): Visual Studio®, LabVIEW, MATLAB, VEE, SystemVue and Excel®. These and other features help remove many of the barriers that exist today when trying to automate instrument control for validation and test.