Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1268784.1268815acmconferencesArticle/Chapter ViewAbstractPublication PagesiticseConference Proceedingsconference-collections
Article

Visualizing berkeley socket calls in students' programs

Published: 25 June 2007 Publication History
  • Get Citation Alerts
  • Abstract

    The Berkeley Sockets API is a library of functions, macros, and data structures enabling a program to initiate and manage network communication between two or more processes on the same machine, or across a network of machines. The API is the main mechanism by which programs communicate with the operating system's TCP/IP stack and thereby with almost all Internet services and programs.
    Socket programming opens a new realm of development for Computer Science students as they are able to create programs that can communicate via the Internet. However, while learning, students frequently misuse the sockets API or have difficulty understanding where run-time and logic errors in their code occur.
    Students learning about sockets are typically presented with a series of static diagrams in textbooks that increase in complexity with each progression. These diagrams may not allow the reader to easily comprehend the transition between each step, nor understand which functions in the API perform the events. Space constraints in textbooks often limit a sequence of diagrams to two or three, whereas over 10 calls to the sockets API are often necessary to initiate and undertake communication. Surprisingly, there are no effective tools or general techniques for debugging students' socket programs.
    In this paper we present a software solution to visualize the execution of students' programmed interactions with the Berkeley Sockets API. The tool accepts the source code of two or more networking programs and compiles them in such a way that, at run-time, their calls to the socket API and related functions are displayed, together with an annotation of activity and error conditions. The program is not simply a static simulator - it provides a means to visualize the network events in actual student developed program.

    References

    [1]
    Abdel-Wahab, H. M., Experience in teaching communication software using Berkeley UNIX, ACM-SIGCSE Bulletin, 20, 4, 1988, 32--37.
    [2]
    Gonzalez-Barahona J. M., Centeno-Gonzàlez J., de las Heras-Quiros P., Ballesteros-Camara F. J., Loopez-Fernandez L., Teaching network programming with Ada and LowerLayer, in Proceedings of TRI-Ada '97: Proceedings of the conference on TRI-Ada '97, (St. Louis, Missouri), 1997, 105--110.
    [3]
    Jones, T. M., Five pitfalls of Linux sockets programming, in IBM developerWorks, 6, 38, September 2005.
    [4]
    Mechtly, B. and Decker, J., Using Ethereal and TCPPortConnect in undergraduate network labs, Journal of Computing in Small Colleges, 19, 1, 2003, 289--298.
    [5]
    Nichols, M. and Taylor, D., A Mechanism for Visualizing TCP-Socket Interactions, in CASCON '05: Proceedings of the 2005 conference of the Centre for Advanced Studies on Collaborative research, (Toronto, Ontario, Canada), 2005, 212--224.
    [6]
    Robbins, S., A UNIX concurrent I/O simulator, in Proceedings of ACM Computer Science Education Technical Symposium'06, (Houston, Texas), Mar. 2006, 303--307.
    [7]
    Toll, W. E., Socket programming in the data communications laboratory, in Proceedings of ACM Computer Science Education Technical Symposium'95, (Nashville, Tennessee), Mar. 1995, 39--43.

    Cited By

    View all
    • (2009)Virtualized games for teaching about distributed systemsACM SIGCSE Bulletin10.1145/1539024.150895541:1(246-250)Online publication date: 4-Mar-2009
    • (2009)Virtualized games for teaching about distributed systemsProceedings of the 40th ACM technical symposium on Computer science education10.1145/1508865.1508955(246-250)Online publication date: 4-Mar-2009

    Index Terms

    1. Visualizing berkeley socket calls in students' programs

        Recommendations

        Comments

        Information & Contributors

        Information

        Published In

        cover image ACM Conferences
        ITiCSE '07: Proceedings of the 12th annual SIGCSE conference on Innovation and technology in computer science education
        June 2007
        386 pages
        ISBN:9781595936103
        DOI:10.1145/1268784
        • cover image ACM SIGCSE Bulletin
          ACM SIGCSE Bulletin  Volume 39, Issue 3
          Proceedings of the 12th annual SIGCSE conference on Innovation and technology in computer science education (ITiCSE'07)
          September 2007
          366 pages
          ISSN:0097-8418
          DOI:10.1145/1269900
          Issue’s Table of Contents
        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Sponsors

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        Published: 25 June 2007

        Permissions

        Request permissions for this article.

        Check for updates

        Author Tags

        1. courseware
        2. internetworking
        3. systems programming

        Qualifiers

        • Article

        Conference

        ITiCSE07
        Sponsor:

        Acceptance Rates

        ITiCSE '07 Paper Acceptance Rate 62 of 210 submissions, 30%;
        Overall Acceptance Rate 552 of 1,613 submissions, 34%

        Contributors

        Other Metrics

        Bibliometrics & Citations

        Bibliometrics

        Article Metrics

        • Downloads (Last 12 months)6
        • Downloads (Last 6 weeks)0
        Reflects downloads up to 10 Aug 2024

        Other Metrics

        Citations

        Cited By

        View all
        • (2009)Virtualized games for teaching about distributed systemsACM SIGCSE Bulletin10.1145/1539024.150895541:1(246-250)Online publication date: 4-Mar-2009
        • (2009)Virtualized games for teaching about distributed systemsProceedings of the 40th ACM technical symposium on Computer science education10.1145/1508865.1508955(246-250)Online publication date: 4-Mar-2009

        View Options

        Get Access

        Login options

        View options

        PDF

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader

        Media

        Figures

        Other

        Tables

        Share

        Share

        Share this Publication link

        Share on social media