Modeling and visualizing object-oriented programs with Codecharts

被引:6
作者
Eden, A. H. [1 ]
Gasparis, E. [1 ]
Nicholson, J. [2 ]
Kazman, R. [3 ,4 ]
机构
[1] Univ Essex, Sch Comp Sci & Elect Engn, Colchester CO4 3SQ, Essex, England
[2] Univ Brighton, Sch Comp Engn & Math, Brighton, E Sussex, England
[3] Univ Hawaii, Honolulu, HI 96822 USA
[4] Carnegie Mellon Univ, Inst Software Engn, Pittsburgh, PA 15213 USA
基金
英国工程与自然科学研究理事会;
关键词
Design notations and documentation; Object-oriented programming; Patterns; Design concepts; DIAGRAMS;
D O I
10.1007/s10703-012-0181-1
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Software design, development and evolution commonly require programmers to model design decisions, visualize implemented programs, and detect conflicts between design and implementation. However, common design notations rarely reconcile theoretical concerns for rigor and minimality with the practical concerns for abstraction, scalability and automated verifiability. The language of Codecharts was designed to overcome these challenges by narrowing its scope to visual specifications that articulate automatically-verifiable statements about the structure and organization of object-oriented programs. The tokens in its visual vocabulary stand for the building-blocks of object-oriented design, such as inheritance class hierarchies, sets of dynamically-bound methods, and their correlations. The formalism was tailored for those pragmatic concerns which arise from modeling class libraries and design patterns, and for visualizing programs of any size at any level of abstraction. We describe design verification, a process of proving or refuting that a Java program (i.e. its native code) conforms to the Codechart specifying it. We also describe a toolkit which supports modeling and visualization with Codecharts, as well as a fully-automated design verification tool. We conclude with empirical results which suggest gains in both speed and accuracy when using Codecharts in software design, development and evolution.
引用
收藏
页码:1 / 28
页数:28
相关论文
共 50 条
  • [21] A reverse engineering approach for software testing of object-oriented programs
    Kung, D
    Hsia, P
    [J]. ASSET'99: 1999 IEEE SYMPOSIUM ON APPLICATION-SPECIFIC SYSTEMS AND SOFTWARE ENGINEERING & TECHNOLOGY - PROCEEDINGS, 1999, : 42 - 49
  • [22] Efficient and precise datarace detection for multithreaded object-oriented programs
    Choi, JD
    Lee, KW
    Loginov, A
    O'Callahan, R
    Sarkar, V
    Sridharan, M
    [J]. ACM SIGPLAN NOTICES, 2002, 37 (05) : 258 - 269
  • [23] Process metrics for software defect prediction in object-oriented programs
    Yu, Qiao
    Jiang, Shujuan
    Qian, Junyan
    Bo, Lili
    Jiang, Li
    Zhang, Gongjie
    [J]. IET SOFTWARE, 2020, 14 (03) : 283 - 292
  • [24] A comparison of the comprehension of object-oriented and procedural programs by novice programmers
    Wiedenbeck, S
    Ramalingam, V
    Sarasamma, S
    Corritore, CL
    [J]. INTERACTING WITH COMPUTERS, 1999, 11 (03) : 255 - 282
  • [25] OBJECT-ORIENTED SOFTWARE MODELING OF A FLEXIBLE MANUFACTURING SYSTEM
    ADIGA, S
    GADRE, M
    [J]. JOURNAL OF INTELLIGENT & ROBOTIC SYSTEMS, 1990, 3 (02) : 147 - 165
  • [26] Guest editorial: On Modeling Object-Oriented Information Systems
    Yingxu Wang
    Shushma Patel
    [J]. Software and Systems Modeling, 2004, 3 (4) : 258 - 261
  • [27] MIGRATION FROM OLD COBOL-PROGRAMS TO OBJECT-ORIENTED SYSTEMS
    PFLUGER, C
    ROTH, H
    SCHMIDT, KP
    [J]. WIRTSCHAFTSINFORMATIK, 1993, 35 (04): : 353 - 359
  • [28] Apportioning: A technique for efficient reachability analysis of concurrent object-oriented programs
    Iyer, S
    Ramesh, S
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2001, 27 (11) : 1037 - 1056
  • [29] A tool-suite for reachability analysis of concurrent object-oriented programs
    Iyer, S
    Ramesh, S
    [J]. ASIA PACIFIC SOFTWARE ENGINEERING CONFERENCE AND INTERNATIONAL COMPUTER SCIENCE CONFERENCE, PROCEEDINGS, 1997, : 160 - 169
  • [30] ENTROPY AS A COMPLEXITY MEASURE, AND THE OPTIMAL MODULE SIZE OF OBJECT-ORIENTED PROGRAMS
    MAUS, A
    [J]. IFIP TRANSACTIONS A-COMPUTER SCIENCE AND TECHNOLOGY, 1992, 12 : 17 - 23