Goto Statement

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 453 Experts worldwide ranked by ideXlab platform

Ahmed E Hassan - One of the best experts on this subject based on the ideXlab platform.

  • an empirical study of Goto in c code from github repositories
    Foundations of Software Engineering, 2015
    Co-Authors: Meiyappan Nagappan, Romain Robbes, Yasutaka Kamei, Eric Tanter, Shane Mcintosh, Audris Mockus, Ahmed E Hassan
    Abstract:

    It is nearly 50 years since Dijkstra argued that Goto obscures the flow of control in program execution and urged programmers to abandon the Goto Statement. While past research has shown that Goto is still in use, little is known about whether Goto is used in the unrestricted manner that Dijkstra feared, and if it is ‘harmful’ enough to be a part of a post-release bug. We, therefore, conduct a two part empirical study - (1) qualitatively analyze a statistically rep- resentative sample of 384 files from a population of almost 250K C programming language files collected from over 11K GitHub repositories and find that developers use Goto in C files for error handling (80.21±5%) and cleaning up resources at the end of a procedure (40.36 ± 5%); and (2) quantitatively analyze the commit history from the release branches of six OSS projects and find that no Goto Statement was re- moved/modified in the post-release phase of four of the six projects. We conclude that developers limit themselves to using Goto appropriately in most cases, and not in an unrestricted manner like Dijkstra feared, thus suggesting that Goto does not appear to be harmful in practice.

  • ESEC/SIGSOFT FSE - An empirical study of Goto in C code from GitHub repositories
    Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering - ESEC FSE 2015, 2015
    Co-Authors: Meiyappan Nagappan, Romain Robbes, Yasutaka Kamei, Eric Tanter, Shane Mcintosh, Audris Mockus, Ahmed E Hassan
    Abstract:

    It is nearly 50 years since Dijkstra argued that Goto obscures the flow of control in program execution and urged programmers to abandon the Goto Statement. While past research has shown that Goto is still in use, little is known about whether Goto is used in the unrestricted manner that Dijkstra feared, and if it is ‘harmful’ enough to be a part of a post-release bug. We, therefore, conduct a two part empirical study - (1) qualitatively analyze a statistically rep- resentative sample of 384 files from a population of almost 250K C programming language files collected from over 11K GitHub repositories and find that developers use Goto in C files for error handling (80.21±5%) and cleaning up resources at the end of a procedure (40.36 ± 5%); and (2) quantitatively analyze the commit history from the release branches of six OSS projects and find that no Goto Statement was re- moved/modified in the post-release phase of four of the six projects. We conclude that developers limit themselves to using Goto appropriately in most cases, and not in an unrestricted manner like Dijkstra feared, thus suggesting that Goto does not appear to be harmful in practice.

  • An Empirical Study of Goto in C Code
    PeerJ, 2015
    Co-Authors: Meiyappan Nagappan, Romain Robbes, Yasutaka Kamei, Eric Tanter, Shane Mcintosh, Audris Mockus, Ahmed E Hassan
    Abstract:

    It is nearly 50 years since Dijkstra argued that Goto obscures the flow of control in program execution and urged programmers to abandon the Goto Statement. While past research has shown that Goto is still in use, little is known about whether Goto is used in the unrestricted manner that Dijkstra feared, and if it is ‘harmful’ enough to be a part of a post-release bug. We, therefore, conduct a two part empirical study (1) qualitatively analyze a statistically representative sample of 384 files from a population of almost 2 million C programming language files collected from over 11K Github repositories and find that developers use Goto in C files for error handling (80.21 ± 5%) and cleaning up resources at the end of a procedure (40.36± 5%); and (2) quantitatively analyze the commit history from the release branches of six OSS projects and find that no Goto Statement was removed/modified in the post-release phase of four of the six projects. We conclude that developers limit themselves to using Goto appropriately in most cases, and not in an unrestricted manner like Dijkstra feared, thus suggesting that Goto does not appear to be harmful in practice.

Andru Luvisi - One of the best experts on this subject based on the ideXlab platform.

  • The History, Controversy, and Evolution of the Goto Statement
    2008
    Co-Authors: Andru Luvisi
    Abstract:

    This talk will touch on how standard usage patterns for the Goto Statement became embodied in higher level control structures, ways in which higher level control structures can often express the intent of the programmer more clearly than lower level control structures, some of the controversy surrounding the Goto Statement, common reasons for and ways of using Goto, and common ways of implementing arbitrary control structures in languages that do not contain the Goto Statement. The latest version of this handout is available fro

  • The History, Controversy, and Evolution of the Goto Statement
    2008
    Co-Authors: Andru Luvisi
    Abstract:

    This talk will touch on how standard usage patterns for the Goto Statement became embodied in higher level control structures, ways in which higher level control structures can often express the intent of the programmer more clearly than lower level control structures, some of the controversy surrounding the Goto Statement, common reasons for and ways of using Goto, and common ways of implementing arbitrary control structures in languages that do not contain the Goto Statement. The latest version of this handout is available from http://www.sonoma.edu/users/l/luvisi/Goto/

Maryna Babayeva - One of the best experts on this subject based on the ideXlab platform.

  • Goto Statement Considered Harmful – A Paper Review
    2011
    Co-Authors: Maryna Babayeva
    Abstract:

    In 1968 Edsger Dijkstra wrote a letter to the editor of Communications of the ACM (CACM) stating his opinion about using the Goto Statement in programs. This letter would serve to begin a hot-headed debate within the programming community. This topic, however, would eventually stop being the subject of discussion as computer scientists shifted their attention to the structured programming paradigm, which forbids the use of the Goto Statement. This is especially manifested in the fact that some high level programming languages don’t even include the Goto Statement as part of their syntax. This literature review aims to expose the different perspectives on the use of Goto. Although many computer scientists believe that Goto can be useful in increasing the efficiency of a program, few are really convinced that the enhanced performance is worth the extra complexity. Here Dijkstra’s letter will be reviewed and further opinions will be discussed to give a comprehensive view on the current state of this debate.

  • Goto Statement considered harmful a paper review
    2011
    Co-Authors: Maryna Babayeva
    Abstract:

    In 1968 Edsger Dijkstra wrote a letter to the editor of Communications of the ACM (CACM) stating his opinion about using the Goto Statement in programs. This letter would serve to begin a hot-headed debate within the programming community. This topic, however, would eventually stop being the subject of discussion as computer scientists shifted their attention to the structured programming paradigm, which forbids the use of the Goto Statement. This is especially manifested in the fact that some high level programming languages don’t even include the Goto Statement as part of their syntax. This literature review aims to expose the different perspectives on the use of Goto. Although many computer scientists believe that Goto can be useful in increasing the efficiency of a program, few are really convinced that the enhanced performance is worth the extra complexity. Here Dijkstra’s letter will be reviewed and further opinions will be discussed to give a comprehensive view on the current state of this debate.

Meiyappan Nagappan - One of the best experts on this subject based on the ideXlab platform.

  • an empirical study of Goto in c code from github repositories
    Foundations of Software Engineering, 2015
    Co-Authors: Meiyappan Nagappan, Romain Robbes, Yasutaka Kamei, Eric Tanter, Shane Mcintosh, Audris Mockus, Ahmed E Hassan
    Abstract:

    It is nearly 50 years since Dijkstra argued that Goto obscures the flow of control in program execution and urged programmers to abandon the Goto Statement. While past research has shown that Goto is still in use, little is known about whether Goto is used in the unrestricted manner that Dijkstra feared, and if it is ‘harmful’ enough to be a part of a post-release bug. We, therefore, conduct a two part empirical study - (1) qualitatively analyze a statistically rep- resentative sample of 384 files from a population of almost 250K C programming language files collected from over 11K GitHub repositories and find that developers use Goto in C files for error handling (80.21±5%) and cleaning up resources at the end of a procedure (40.36 ± 5%); and (2) quantitatively analyze the commit history from the release branches of six OSS projects and find that no Goto Statement was re- moved/modified in the post-release phase of four of the six projects. We conclude that developers limit themselves to using Goto appropriately in most cases, and not in an unrestricted manner like Dijkstra feared, thus suggesting that Goto does not appear to be harmful in practice.

  • ESEC/SIGSOFT FSE - An empirical study of Goto in C code from GitHub repositories
    Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering - ESEC FSE 2015, 2015
    Co-Authors: Meiyappan Nagappan, Romain Robbes, Yasutaka Kamei, Eric Tanter, Shane Mcintosh, Audris Mockus, Ahmed E Hassan
    Abstract:

    It is nearly 50 years since Dijkstra argued that Goto obscures the flow of control in program execution and urged programmers to abandon the Goto Statement. While past research has shown that Goto is still in use, little is known about whether Goto is used in the unrestricted manner that Dijkstra feared, and if it is ‘harmful’ enough to be a part of a post-release bug. We, therefore, conduct a two part empirical study - (1) qualitatively analyze a statistically rep- resentative sample of 384 files from a population of almost 250K C programming language files collected from over 11K GitHub repositories and find that developers use Goto in C files for error handling (80.21±5%) and cleaning up resources at the end of a procedure (40.36 ± 5%); and (2) quantitatively analyze the commit history from the release branches of six OSS projects and find that no Goto Statement was re- moved/modified in the post-release phase of four of the six projects. We conclude that developers limit themselves to using Goto appropriately in most cases, and not in an unrestricted manner like Dijkstra feared, thus suggesting that Goto does not appear to be harmful in practice.

  • An Empirical Study of Goto in C Code
    PeerJ, 2015
    Co-Authors: Meiyappan Nagappan, Romain Robbes, Yasutaka Kamei, Eric Tanter, Shane Mcintosh, Audris Mockus, Ahmed E Hassan
    Abstract:

    It is nearly 50 years since Dijkstra argued that Goto obscures the flow of control in program execution and urged programmers to abandon the Goto Statement. While past research has shown that Goto is still in use, little is known about whether Goto is used in the unrestricted manner that Dijkstra feared, and if it is ‘harmful’ enough to be a part of a post-release bug. We, therefore, conduct a two part empirical study (1) qualitatively analyze a statistically representative sample of 384 files from a population of almost 2 million C programming language files collected from over 11K Github repositories and find that developers use Goto in C files for error handling (80.21 ± 5%) and cleaning up resources at the end of a procedure (40.36± 5%); and (2) quantitatively analyze the commit history from the release branches of six OSS projects and find that no Goto Statement was removed/modified in the post-release phase of four of the six projects. We conclude that developers limit themselves to using Goto appropriately in most cases, and not in an unrestricted manner like Dijkstra feared, thus suggesting that Goto does not appear to be harmful in practice.

Dominik Henrich - One of the best experts on this subject based on the ideXlab platform.

  • Preprint submitted to 2012 IEEE Int. Conf. Intelligent Robots and Systems A Goto-based Concept for Intuitive Robot Programming
    2013
    Co-Authors: Katharina Barth, Dominik Henrich
    Abstract:

    Abstract — This paper proposes a new concept to augment direct robot programming with sensor-based branching and looping. The objective is to derive a new robot programming paradigm in order to enable non-programmers to use robots for different tasks. Inspired by the ancient programming style based on the Goto-Statement, this approach requires the user to deal with only two basic concepts: Intuitive Control Expressions and Spatial Labels. This simplicity yields a very intuitive robot programming interface. We introduce these new concepts and derive some Statements about the power and the limitations of this approach. C I

  • IROS - A Goto-based concept for intuitive robot programming
    2012 IEEE RSJ International Conference on Intelligent Robots and Systems, 2012
    Co-Authors: Katharina Barth, Dominik Henrich
    Abstract:

    This paper proposes a new concept to augment direct robot programming with sensor-based branching and looping. The objective is to derive a new robot programming paradigm in order to enable non-programmers to use robots for different tasks. Inspired by the ancient programming style based on the Goto-Statement, this approach requires the user to deal with only two basic concepts: Intuitive Control Expressions and Spatial Labels. This simplicity yields a very intuitive robot programming interface. We introduce these new concepts and derive some Statements about the power and the limitations of this approach.