Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3605155.3605864acmconferencesArticle/Chapter ViewAbstractPublication PagesisstaConference Proceedingsconference-collections
research-article

Using Object-Sequence Diagrams for Debugging

Published: 17 July 2023 Publication History
  • Get Citation Alerts
  • Abstract

    Programming languages in general have mechanisms for describing the structure of a program and computational processes to be generated during program execution. Modeling languages like UML also have such mechanisms. In addition, UML has mechanisms for describing required properties of a system using e.g. objects diagrams, and sequence diagrams, during the design process. In this paper, we propose to include such language mechanisms also for programming with the purpose of observing program executions. We present a combination of sequence diagrams and object diagrams called object sequence diagrams (OSDs). We present an OSD-based debugger that has the same functionality as a traditional debugger, but method invocations are shown in sequence diagrams. The debugger supports showing the history of method invocations and supports debugging at different levels of the program structure, by hiding method invocations within nested modules.

    References

    [1]
    Ole Agesen and David Ungar. 1994. Sifting Out the Gold: Delivering Compact Applications From an Exploratory Object-Oriented Programming Environment. In OOPSLA' 94-Object-Oriented Programming Systems, Languages and Applications. ACM SIGPLAN, 355-370.
    [2]
    Alexandre Bergel, Stéphane Ducasse, Colin Putney, and Roel Wuyts. 2008. Creating sophisticated development tools with OmniBrowser. Computer Languages, Systems & Structures 34 ( 2008 ), 109-129. https://doi.org/10.10.1016/j.cl. 2007. 05. 005
    [3]
    Gilad Bracha, Peter von der Ahé, Vassili Bykov, Yaron Kashai, William Maddox, and Eliot Miranda. 2010. Modules as Objects in Newspeak. In ECOOP 2010-European Conference on Object-Oriented Programming (Lecture Notes in Computer Science, Vol. 6183 ), Theo D 'Hondt (Ed.). Springer Verlag, 405-428.
    [4]
    Paul V. Gestwicki and Bharat Jayaraman. 2005. Methodology and Architecture of JIVE. In ACM Symposium on Software Visualization (SOFTVIS). Association for Computing Machinery.
    [5]
    Adele Goldberg and David Robson. 1983. Smalltalk-80-The Language and its Implementation. Addison-Wesley.
    [6]
    Object Management Group. 2010. OMG Unified Modeling Language (OMG UML), Superstructure Version 2.3.
    [7]
    David Harel and P.S. Thiagarajan. 2004. Message Sequence Charts. In UML for Real: Design of Embedded Real-time Systems, L. Lavagno, G. Martin, and B. Selic (Eds.). Kluwer Academic Publishers, 75-105.
    [8]
    Christoph Hofer, Marcus Denker, and Stéphane Ducasse. 2006. Design and Implementation of a Backward-In-Time Debugger. In NODe 2006, Vol. P-88. Lecture Notes in Informatics, 17-32.
    [9]
    Dan Ingalls, Ted Kaehler, John Maloney, Scott Wallace, and Alan Kay. 1997. Back to the future: the story of Squeak, a practical Smalltalk written in itself. In OOPSLA97, 12th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications. ACM SIGPLAN, 318-326. https://doi.org/ 10.1145/263698.263754
    [10]
    ITU. 1999. Specification and Description Language (SDL), Recommendation Z.100, ITU T.
    [11]
    Bent Bruun Kristensen, Ole Lehrmann Madsen, and Birger Møller-Pedersen. 2007. The When, Why and Why not of the BETA Programming Language. In History of Progamming Languages III, Brent Hailpern and Barbara G. Ryder (Eds.). SIGPLAN, 10-1-10-57. https://doi.org/10.1145/1238844.1238854
    [12]
    Ole L. Madsen. 1999. Semantic Analysis of Virtual Classes and Nested Classes. In OOPSLA' 99-Object-Oriented Programming, Systems, Languages and Applications (Sigplan Notices, Vol. 34 ). ACM Press, 114-131. https://doi.org/10.1145/320384. 320394
    [13]
    Ole Lehrmann Madsen and Birger Møller-Pedersen. 1988. What Object-Oriented Programming May Be-and What It Does Not Have to Be. In ECOOP'88-European Conference on Object-Oriented Programming (Lecture Notes in Computer Science, Vol. 322 ), S. Gjessing and K. Nygaard (Eds.). Springer Verlag, 1-20. https://doi. org/10.1007/3-540-45910-3_1
    [14]
    Ole Lehrmann Madsen and Birger Møller-Pedersen. 2010. A Unified Approach to Modeling and Programming. In Models 2010, ACM/IEEE 13th International Conference on Model Driven Engineering Languages and Systems. Springer, 1-15. https://doi.org/10.1007/978-3-642-16145-2_1
    [15]
    Ole Lehrmann Madsen and Birger Møller-Pedersen. 2018. This is not a Model-On Development of a Common Terminology for Modeling and Programming. In ISoLA 2018-8th International Symposium On Leveraging Applications of Formal Methods, Verification and Validation. Track: Towards a Unified View of Modeling and Programming., M. Broy, K. Havelund, R. Kumar, and B. Stefen (Eds.). LNCS TBD, Springer-Verlag, 206-224.
    [16]
    Ole Lehrmann Madsen and Birger Møller-Pedersen. 2022. What Object-Oriented Programming Was Supposed to Be: Two Grumpy Old Guys' Take on ObjectOriented Programming. In Onward! 2022. Association for Computing Machinery, New York, NY, USA, 220-239. https://doi.org/10.1145/3563835.3568735
    [17]
    Ole Lehrmann Madsen, Birger Møller-Pedersen, and Kristen Nygaard. 1993. Object-Oriented Programming in the BETA Programming Language. Addison Wesley, Wokingham, England.
    [18]
    Bertrand Meyer. 1992. Eifel: The Language. Prentice Hall.
    [19]
    Mark S. Miller. 1980. Miller Columns.
    [20]
    Oscar Nierstrasz. 2010. Ten Things I Hate About Object-Oriented Programming-Banquet speech given at ECOOP 2010. Maribor, June 24, 2010. The JOT blog-Journal of Object Technology ( 2010 ).
    [21]
    Elmer Sandvad. 1994. An Object-Oriented CASE Tool. In Object-Oriented Environments-The Mjølner Approach, J. L. Knudsen, M. Löfgren, O. L. Madsen, and B. Magnusson (Eds.). Prentice Hall.
    [22]
    Perdita Stevens and with Rob Pooley. 2000. Using UML-Sofware Engineering with Objects and Components. Addison Wesley, London.
    [23]
    Clemens Szyperski. 2000. Modules and Components-Rivals or Partners? In The School of Niklaus Wirth "The Art of Simplicity", L. Böszörményi, J. Gutknecht, and G. Pomberger (Eds.). dpunkt.verlag.
    [24]
    Magnus Taube. 1993. Observation in Orm. In Object-Oriented Environments-The Mjølner Approach, Jørgen L. Knudsen, Mats Löfgren, Ole L. Madsen, and Boris Magnusson (Eds.). Prentice Hall, Chapter 28, 429-439.
    [25]
    David Ungar and Randall B. Smith. 1987. Self: The Power of Simplicity. In OOPSLA' 87, Object-Oriented Programming Systems, Languages and Applications (Sigplan Notices, Vol. 22 ). ACM Press. https://doi.org/10.1145/38807.38828
    [26]
    Niklaus Wirth. 1979. The Module: A System Structuring Facility in High-level Programming Languages. In Symposium on Language Design and Programming Methodology. Springer-Verlag, Berlin, Heidelberg, 1-24.
    [27]
    Niklaus Wirth. 2007. Modula-2 and Oberon. In History of Progamming Languages III, Brent Hailpern and Barbara G. Ryder (Eds.). SIGPLAN.
    [28]
    Z. 120. 1996. ITU-TS recommendation Z.120: Message Sequence Chart (MSC).

    Cited By

    View all
    • (2023)What Your Mother Forgot to Tell you About Modeling – and Programming2023 ACM/IEEE International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C)10.1109/MODELS-C59198.2023.00049(200-210)Online publication date: 1-Oct-2023

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    DEBT 2023: Proceedings of the 1st ACM International Workshop on Future Debugging Techniques
    July 2023
    30 pages
    ISBN:9798400702457
    DOI:10.1145/3605155
    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 the author(s) 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: 17 July 2023

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tag

    1. Software and its engineering~Integrated and visual development environments

    Qualifiers

    • Research-article

    Conference

    DEBT '23
    Sponsor:

    Upcoming Conference

    ISSTA '24

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)41
    • Downloads (Last 6 weeks)9

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)What Your Mother Forgot to Tell you About Modeling – and Programming2023 ACM/IEEE International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C)10.1109/MODELS-C59198.2023.00049(200-210)Online publication date: 1-Oct-2023

    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