Javiva: A tool for visualizing and validating student-written Java']Java programs

被引:0
|
作者
Turner, JA [1 ]
Zachary, JL [1 ]
机构
[1] Univ Utah, Sch Comp, Salt Lake City, UT 84112 USA
关键词
D O I
10.1145/364447.364535
中图分类号
TP39 [计算机的应用];
学科分类号
081203 ; 0835 ;
摘要
The ability to think abstractly about the components of a computer program is critical for computer science students. A student who has not yet developed this ability tends to view a program as an unstructured collection of statements and expressions. Introductory computer science textbooks promote the use of pre-conditions, post-conditions, and abstraction functions as techniques for fostering abstract thinking. Existing programming languages and tools, however, do not generally support these techniques. Consequently, we have built and are beginning to experiment with Javiva. Javiva extracts pre-conditions, post-conditions, and abstraction functions-included as stylized comments in Java source files-and uses them to create instrumented class files. When these instrumented class files are run, they automatically diagnose and report violations by methods of pre- and post-conditions. These classes also exploit abstraction functions to automatically produce abstract visualizations of their objects.
引用
收藏
页码:45 / 49
页数:5
相关论文
共 46 条
  • [1] Visualizing the execution of Java']Java programs
    De Pauw, W
    Jensen, E
    Mitchell, N
    Sevitsky, G
    Vlissides, J
    Yang, JH
    SOFTWARE VISUALIZATION, 2002, 2269 : 151 - 162
  • [2] Supporting Student-Written Tests of GUI Programs
    Thornton, Matthew
    Edwards, Stephen H.
    Tan, Roy Patrick
    Perez-Quinones, Manuel
    SIGCSE'08: PROCEEDINGS OF THE 39TH ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, 2008, : 537 - 541
  • [3] Integrating information sources for visualizing Java']Java programs
    Michaud, J
    Storey, MA
    Müller, H
    IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, PROCEEDINGS: SYSTEMS AND SOFTWARE EVOLUTION IN THE ERA OF THE INTERNET, 2001, : 250 - 258
  • [4] TFVIS: a Supporting Debugging Tool for Java']Java Programs by Visualizing Data Transitions and Execution Flows
    Katayama, Tetsuro
    Nakamura, Hiroto
    Kita, Yoshihiro
    Yamaba, Hisaaki
    Aburada, Kentaro
    Okazaki, Naonobu
    JOURNAL OF ROBOTICS NETWORKING AND ARTIFICIAL LIFE, 2015, 2 (03): : 177 - 181
  • [5] TFVIS: a Supporting Debugging Tool for Java']Java Programs by Visualizing Data Transitions and Execution Flows
    Nakamura, Hiroto
    Katayama, Tetsuro
    Kita, Yoshihiro
    Yamaba, Hisaaki
    Aburada, Kentaro
    Okazaki, Naonobu
    PROCEEDINGS OF INTERNATIONAL CONFERENCE ON ARTIFICIAL LIFE AND ROBOTICS (ICAROB2015), 2015, : 376 - 379
  • [6] A tool for designing Java']Java programs with UML
    Armentrout, A
    ITICSE '99: PROCEEDINGS OF THE 4TH ANNUAL SIGCSE/SIGCUE CONFERENCE ON INNOVATION AND TECHNOLOGY IN COMPUTER SCIENCE EDUCATION, 1999, 31 (03): : 180 - 180
  • [7] Crisp: A debugging tool for Java']Java programs
    Chesley, OC
    Ren, XX
    Ryder, BG
    ICSM 2005: PROCEEDINGS OF THE 21ST IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, 2005, : 401 - 410
  • [8] MemStep: An Interactive Tool for Constructing and Visualizing the Run-Time Memory Layout of Java']Java Programs
    Le Pham, Michelle
    Nguyen, Anna
    Schreib, Rebecca
    PROCEEDINGS OF THE 2024 CONFERENCE INNOVATION AND TECHNOLOGY IN COMPUTER SCIENCE EDUCATION, VOL 1, ITICSE 2024, 2024, : 541 - 547
  • [9] No Java']Java without caffeine -: A tool for dynamic analysis of Java']Java programs
    Guéhéneuc, YG
    Douence, R
    Jussien, N
    ASE 2002: 17TH IEEE INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, 2002, : 117 - 126
  • [10] A deadlock detection tool for concurrent Java']Java programs
    Demartini, C
    Iosif, R
    Sisto, R
    SOFTWARE-PRACTICE & EXPERIENCE, 1999, 29 (07): : 577 - 603