首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 31 毫秒
1.
A program language can be defined as the language in which computer programs are written, and a programming language as the language used by the programmer to create programs. This paper presents the design of an interactive program development system which uses Pascal as both program and programming language. Principal properties of the system are a complete immediate syntax check, a program-structure oriented editor, incremental compiling techniques, and interactive interpretation and debugging of programs. The syntax check is split into three phases, and the user can change the degree of check wanted. After a change of the program only part of it is recompiled, and only necessary phases of the compiling process are performed.  相似文献   

2.
David H. Hanson 《Software》1978,8(2):115-129
An event association facility for the SNOBOL4 programming language is described. This facility permits the execution of a programmer-defined function to be associated with the occurrence of a specified event. The events with which associations can be made are those applicable to program debugging. Associations can be made with events such as variable referencing, statement execution, program interruption, function call and return, and execution-time errors. By making event associations available at the source-language level, debugging aids can be written in SNOBOL4 itself, using the full capabilities of that language. As illustrated by several examples, this approach facilitates the implementation of simple yet powerful debugging aids written in the same language as the programs to be debugged. Event associations provide a mechanism for the unification of the existing SNOBOL4 debugging facilities, and a basis for the addition of other events. The implementation of event associations is also described.  相似文献   

3.
服务器是计算机网络应用系统中的一个重要组成部分。本文提出了一种服务器故障处理方法,在计算机网络维护工作中,通过编写故障检测处理程序,让它运行于故障服务器上,来自动发现和处理服务器的某种类型故障。拟文阐述了程序设计的原理、程序结构和流程;描述了主要功能的编程语言实现。该程序在实际使用中,相对于人工排除故障,更加准确和快捷。  相似文献   

4.
《Parallel Computing》1997,22(13):1747-1770
To provide high-level graphical support for PVM (Parallel Virtual Machine) based program development, a complex programming environment (GRADE) is being developed. GRADE currently provides tools to construct, execute, debug, monitor and visualize message-passing parallel programs. It offers a high-level graphical programming abstraction mechanism to construct parallel applications by introducing a new graphical language called GRAPNEL. GRADE also provides the programmer with the same graphical user interface during the program design and debugging stages. A distributed debugging engine (DDBG) assists the user in debugging GRAPNEL programs on distributed memory computer architectures. Tape/PVM and PROVE support the performance monitoring and visualization of parallel programs developed in the GRADE environment.  相似文献   

5.
ROK SOSI   DAVID ABRAMSON 《Software》1997,27(2):185-206
A significant amount of software development is evolutionary, involving the modification of already existing programs. To a large extent, the modified programs produce the same results as the original program. This similarity between the original program and the development program is utilized by relative debugging. Relative debugging is a new concept that enables the user to compare the execution of two programs by specifying the expected correspondences between their states. A relative debugger concurrently executes the programs, verifies the correspondences, and reports any differences found. We describe our novel debugger, called Guard, and its relative debugging capabilities. Guard is implemented by using our library of debugging routines, called Dynascope, which provides debugging primitives in heterogeneous networked environments. To demonstrate the capacity of Guard for debugging in heterogeneous environments, we describe an experiment in which the execution of two programs is compared across Internet. The programs are written in different programming languages and executing on different computing platforms. © 1997 by John Wiley & Sons, Ltd.  相似文献   

6.
曹洁 《电脑开发与应用》2010,23(7):26-28,69
程序设计调试指导系统为了解决学生在高级程序语言设计课上机环节中能够及时得到辅导而研究设计开发的,该系统利用基于案例推理技术,利用模糊商空间理论建立案例库,案例库中每一个案例对应着教学经验丰富的教师平时所积累的程序设计和调试的经验。程序设计调试指导系统的设计目标是根据学生出现的错误,高效快速地检索案例库,给学生提供智能化、自动化和个性化编程指导服务,使系统表现出更高的主动支持能力。  相似文献   

7.
程序设计对初学者有一定的难度,上机实践过程是学习程序设计课程的重要环节。本文以C++面向对象程序设计课程为例,就辅导学生上机过程中发现的常见问题进行了论述,以更好地指导学生并较快提高学生上机调试程序的能力。  相似文献   

8.
This paper investigates the interplay between high level debugging strategies and low level tactics in the context of a multi-representation software development environment (SDE). It investigates three questions. 1. How do programmers integrate debugging strategies and tactics when working with SDEs? 2. What is the relationship between verbal ability, level of graphical literacy and debugging (task) performance. 3. How do modality and perspective influence debugging strategy and deployment of tactics? The paper extends the work of Katz and Anderson [1988. Debugging: an analysis of bug location strategies. Human-Computer Interaction 3, 359–399] and others in terms of identifying high level debugging strategies, in this case when working with SDEs. It also describes how programmers of different backgrounds and degrees of experience make differential use of the multiple sources of information typically available in a software debugging environment. Individual difference measures considered among the participants were their programming experience and their knowledge of external representation formalisms. The debugging environment enabled the participants, computer science students, to view the execution of a program in steps and provided them with concurrently displayed, adjacent, multiple and linked programming representations. These representations comprised the program code, two visualisations of the program and its output. The two visualisations of the program were available, in either a largely textual format or a largely graphical format so as to track interactions between experience and low level mode-specific tactics, for example.The results suggest that (i) additionally to deploying debugging strategies similar to those reported in the literature, participants also employed a strategy specific to SDEs, following execution, (ii) verbal ability was not correlated with debugging performance, (iii) knowledge of external representation formalisms was as important as programming experience to succeed in the debugging task, and (iv) participants with greater experience of both programming and external representation formalisms, unlike the less experienced, were able to modify their debugging strategies and tactics effectively when working under different format conditions (i.e. when working with either largely graphical or largely textual visualisations) in order to maintain their high debugging accuracy level.  相似文献   

9.
Two experiments were conducted to investigate the relationship between planning and debugging and the effect of program authorship on debugging strategies. Three groups of participants with different programming experiences were recruited. In the first experiment, the participants were asked to develop and debug their self-generated program whereas in the second experiment, they were asked to debug an otherwritten program where some logical errors were planted. Situated cognition approach, being an emergent cognitive paradigm, furnishes an alternative framework to understand the problems of interest. Deweyan notion of inquiry and Gibsonian theory of affordance are of particular relevance. The results show that planning is ineffective for debugging, irrespective of the programming expertise level and program authorship. Besides, situated debugging is demonstrated to be the preferred strategy which is not significantly related to the program authorship. A model of planning for program debugging and a theory of two-faceted transparency are postulated for explicating the observations.  相似文献   

10.
Within the field of computer programming there is evidence of tremendous variation among individuals achievement in programming. Cognitive styles and personality traits have been investigated as factors that may help explain some of that variability; however, they have failed to consistently explain individual differences in achievement. In the majority of these studies, computer programming has been measured as a single activity. Computer programming has been described as an activity having separate and distinct phases: problem representation, program design, coding, and debugging. It may be that certain cognitive styles and personality dimensions affect some phases but not others. The purpose of this review is twofold. First, the empirical studies on the relation between cognitive style, personality traits and computer programming are reviewed. Second, the paper provides an agenda for future research by providing a conceptual framework that organizes and relates the variety of constructs to the specific phases of writing computer programs and identifies a number of distinct gaps in this particular body of research.  相似文献   

11.
Distributed shared memory (DSM) allows parallel programs to run on distributed computers by simulating a global virtual shared memory, but data racing bugs may easily occur when the threads of a multi-threaded process concurrently access the physically distributed memory. Earlier tools to help programmers locate data racing bugs in non-DSM parallel programs are not easily applied to DSM systems. This study presents the data race avoidance and replay scheme (DRARS) to assist debugging parallel programs on DSM or multi-core systems. DRARS is a novel tool which controls the consistency protocol of the target program, automatically preventing a large class of data racing bugs when the parallel program is subsequently run, obviating much of the need for manual debugging. For data racing bugs that cannot be avoided automatically, DRARS performs a deterministic replay-type function on DSM systems, faithfully reproducing the behavior of the parallel program during run time. Because one class of data racing bugs has already been eliminated, the remaining manual debugging task is greatly simplified. Unlike previous debugging methods, DRARS does not require that the parallel program be written in a specific style or programming language. Moreover, DRARS can be implemented in most consistency protocols. In this paper, DRARS is realized and verified in real experiments using the eager release consistency protocol on a DSM system with various applications.  相似文献   

12.

Two experiments were conducted to investigate the relationship between planning and debugging and the effect of program authorship on debugging strategies. Three groups of participants with different programming experiences were recruited. In the first experiment, the participants were asked to develop and debug their self-generated program whereas in the second experiment, they were asked to debug an otherwritten program where some logical errors were planted. Situated cognition approach, being an emergent cognitive paradigm, furnishes an alternative framework to understand the problems of interest. Deweyan notion of inquiry and Gibsonian theory of affordance are of particular relevance. The results show that planning is ineffective for debugging, irrespective of the programming expertise level and program authorship. Besides, situated debugging is demonstrated to be the preferred strategy which is not significantly related to the program authorship. A model of planning for program debugging and a theory of two-faceted transparency are postulated for explicating the observations.  相似文献   

13.
提出了一种利用I2 C总线实现ATmega88微控制器在应用编程的方法,详述了Bootloader程序及与其相应的上位机程序设计,以及利用PC机串口握手信号模拟I2 C总线的方法。实践证明,该方法可成功实现I2 C总线上多个ATmega88微控制器的在线调试与升级,也可用于其他AVR系列微控制器的在应用编程。  相似文献   

14.
In recent years, considerable effort has been devoted to developing and extending programming languages for manipulation of computer-controlled robotic arms for various tasks. The present trend is to develop high-level languages that simplify the programming task so that they can be used by a less well-trained person with ease and speed. In this article, the information required for assembly is examined and a construct of a new computer language is proposed. An example of a computer program using the proposed language for assembling a pencil sharpener is given. This program is compared with similar program written in another language currently being developed and extended.  相似文献   

15.
Partial evaluation is a semantics-based program optimization technique which has been investigated within different programming paradigms and applied to a wide variety of languages. Recently, a partial evaluation framework for functional logic programs has been proposed. In this framework, narrowing—the standard operational semantics of integrated languages—is used to drive the partial evaluation process. This paper surveys the essentials of narrowing-driven partial evaluation. Elvira Albert, Ph.D.: She is an associate professor in Computer Science at the Technical University of Valencia, Spain. She received her bachelors degree in computer science in 1998 and her Ph.D. in computer science in 2001, both from the Technical University of Valencia. She has investigated on program optimization and on partial evaluation for declarative multi-paradigm programming languages. Her current research interests include term rewriting, multi-paradigm declarative programming, and formal methods, in particular semantics-based program analysis, transformation, specification, verification, and debugging. Germán Vidal, Ph.D.: He is an associate professor in Computer Science at the Technical University of Valencia, Spain. He obtained his bachelors degree in computer science in 1992 and his Ph.D. in computer science in 1996, both from the Technical University of Valencia. He is active on several research topics in Functional Logic Programming. He has worked on compositionality, on abstract interpretation, and on program transformation techniques for functional logic programs. Currently, his research interests include declarative multi-paradigm programming languages, term rewriting, and semantics-based program manipulation, in particular partial evaluation.  相似文献   

16.
This paper discusses the development of a debugging tool for parallel programs showing how the requirements posed by high-level tools for parallel program development have influenced the design of the debugging system since its early stages of development. We concentrate our attention upon the interfacing of the debugger with other tools of a parallel software engineering environment, namely a graphical programming language and a testing and debugging tool. This is illustrated with the results of our experimentation with the design and implementation of DDBG, a debugger for the PVM environment.  相似文献   

17.
C程序设计是计算机专业及相关专业的一门重要的基础课,是多门后续课程的基础。为提高学生的编程能力,本文讨论了C程序设计教学中存在的一些问题,并给出了解决问题的方法。另外,本文提出了利用通项公式或递推公式求和及在黑板上调试程序的思想。  相似文献   

18.
This paper describes a tool for debugging programs which develop faults after they have been modified or are ported to other computer systems. The tool enhances the traditional debugging approach by automating the comparison of data structures between two running programs. Using this technique, it is possible to use early versions of a program which are known to operate correctly to generate values for comparison with the new program under development. The tool allows the reference code and the program being developed to execute on different computer systems by using open distributed systems techniques. A data visualisation facility allows the user to view the differences in data structures. By using the data flow of the code, it is possible to locate faulty sections of code rapidly. An evaluation is performed by using three case studies to illustrate the power of the technique.  相似文献   

19.
Jiri Hoppe 《Software》1980,10(9):697-706
A simple nucleus for a single-processor computer is considered. The entire nucleus program is written in the high-level programming language Modula-21 without assembly coding. The concepts of the nucleus and some simple applications are described. A complete listing of the nucleus is included. We conclude that programming of a nucleus in an appropriate high-level language is simpler than in an assembly language. The resulting nucleus has a comparable performance with other nuclei written in assembly code.  相似文献   

20.
Execution monitors are widely used during software development for tasks that require an understanding of program behavior, such as debugging and profiling. The Icon programming language has been enhanced with a framework that supports execution monitoring. Under the enhanced translator and interpreter, neither source modification nor any special compiler command-line option is required in order to monitor an Icon program. Execution monitors are written in the source language, instead of the implementation language. Performance, portability, and detailed access to the monitored program's state are achieved using a coroutine model and dynamic loading rather than the separate-process model employed by many conventional monitoring systems.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号