Academia.edu no longer supports Internet Explorer.
To browse Academia.edu and the wider internet faster and more securely, please take a few seconds to upgrade your browser.
2009
Program domain concepts are rather complex and low level for a fast assimilation. On the other hand, problem domain concepts are closer to human's mind, hence they are easier to perceive. Based on Brook's theory, a full comprehension of a program is only achieved if both domains are connected and visualized in synchronization, resulting on an action-effect visualization.
2010 IEEE 18th International Conference on Program Comprehension, 2010
An effective program comprehension is reached when it is possible to view and relate what happens when the program is executed, synchronized with its effects in the real world concepts. This enables the interconnection of program's meaning at both problem and program domains. To sustain this statement we need (i) to develop a tool which provides and synchronizes views at both domains, and (ii) to perform an experiment to measure the actual impact of this approach. So, in this working session we aim at discussing the benefits of providing synchronized domain visualizations. We also envisage to discuss the preparation and conduction of appropriate experiments that will test that benefits. A case study will be used and the discussion will be supported by experimental material specially prepared for the occasion, but adapted from material already used in previous experiments.
Software Visualisation, 1996
Program visualisation focuses on the graphical representation of an executing program and its data. The information is presented in a form designed to enhance both the understanding and productivity of the programmer through the e cient use of the human visual system. The programmer is able to observe patterns of behaviour within the executing code and rapidly detect a departure from the expected behaviour pattern. However, depending on the programming paradigms and architectural platforms utilized, the variety and manner in which information is best presented varies. This chapter attempts to discuss the general aspects of program visualisation, including the variety of purposes, the general steps needed to provide such visualisation, and the ideals that a program visualisation tool can achieve. The requirements for visualization systems also vary across architectural platforms, and software systems, which include programming paradigms and the system environment. Some representative visualisation systems are also presented and examined, providing an overall view of the practice and the achievements made to date in program visualisation.
2013
Abstract—We address the problem of comprehending cause and effect relationships between relatively independent behavior components of a single application. Our focus is on the paradigm of behavioral, scenario-based, programming, as captured by the language of live sequence charts (LSC) or its Java-based counterpart, BPJ. In this programming paradigm, multi-modal behaviors can be specified separately, and are integrated only at run time. We present a tool, with which the user can easily follow the decisions of the collective execution mechanism. It shows the behaviors and events that were executed at each point in time, and those that were delayed or abandoned, as well as the causes and reasons behind these run-time choices. The dynamic effects of such decisions on the system’s behavior can be seen easily too. Keywords-trace visualization; behavioral programming; scenario-based programming; BPJ I.
… (ICPC), 2011 IEEE …, 2011
We address the problem of comprehending cause and effect relationships between relatively independent behavior components of a single application. Our focus is on the paradigm of behavioral, scenario-based, programming, as captured by the language of live sequence charts (LSC) or its Java-based counterpart, BPJ. In this programming paradigm, multi-modal behaviors can be specified separately, and are integrated only at run time. We present a tool, with which the user can easily follow the decisions of the collective execution mechanism. It shows the behaviors and events that were executed at each point in time, and those that were delayed or abandoned, as well as the causes and reasons behind these run-time choices. The dynamic effects of such decisions on the system's behavior can be seen easily too.
2009
Understanding software through dynamic analysis has been a popular activity in the past decades. One of the most common approaches in this respect is execution trace analysis: among our own efforts in this context is EXTRAVIS, a tool for the visualization of large traces. Similar to other trace visualization techniques, our tool has been validated through anecdotal evidence, but should also be quantitatively evaluated to assess its usefulness for program comprehension.
2005
Abstract There exists an extensive literature on vision science, on the one hand, and on program comprehension, on the other hand. However, these two domains of research have been so far rather disjoint. Indeed, several cognitive theories have been proposed to explain program comprehension. These theories explain the processes taking place in the software engineers' minds when they understand programs.
1996
ions come at different granularities,and the probability that a given abstraction is relevant to a problem often seems inverse to itscomplexity. Should we therefore aim to create a vocabulary of abstraction, or a mechanism forhiding it? Should we facilitate (or even require) the creation of new abstractions, or isvisualisation primarily a communicative device for conveying one person's abstract view of
Proceedings of Methods, Materials and Tools for …
2016
is a discipline of Software En-gineering aimed at creating models, methods, techniques and tools, based on a learning process and engineering process, to help the engineer in get-ting a deeper knowledge about software systems. The learning process is concerned with the mental process followed by the programmer when he needs to understand programs. This topic is explained in the context of Cognitive Models. The engineering process includes the study of methods for: Informa-tion Extraction from Programs and Software/Data Visualization. The research in these areas allows to build Program Comprehension tools with quality. Moreover, it aids in to inter-connecting the problem do-main (system behavior) and program domain (software components). This is one of the biggest challenge in PC. In this paper, we present the background and results obtained in the top-ics described above during a Ph.D. thesis denominated: Program Inspec-tion to inter-connect the Operational and Behavioral Views for ...
2004
In this paper, we present the development of a program parser coupled with an off-the-shelf interactive program visualization tool that assists in the understanding of complex computer programs. The major objective of this work is to quickly help newcomers become familiar with existing software code and become productive members of the software development team. These software systems that often incorporate several interacting pieces will be produced and maintained by several individuals and/or vendors. Hence, it will be difficult for one individual or group to be fully cognizant of the intricacies of the overall software system. In work-related training, interactive visual systems will be required to provide support for teaching organizations' newer workforce to quickly learn and effectively contribute to the development and maintenance of these complex and critical software systems. An environment that provides an in-depth view of the software system will be necessary to fulfill this requirement. Additionally, an interactive visual system may provide a means to dynamically access and analyze the skills and capabilities of trainees for skill-based job placement.
2019
Software system’s understanding is the essential part of the software maintenance. Documentation and program source code could be the first aspect in software system’s understanding and its inner work-flow. This understanding of code is known as Program Comprehension (PC). With the advancement in technology and rapid growth in industry, information systems require frequent changes. This change need to be implement a specific idea or behavior which is named as “Concept”. Concept (variable, class, method) is referred as a typical behavior of code performing specific functionality like a student enrollment in student portal. In large scale systems, to locate the concept in the code is a very challenging task which require massive amount of time if performed in conventional ways. The conventional ways mean start finding the location by going through each and every file of the code. Programmer tries to locate these concepts with the help of domain knowledge using concept location techniq...
2008
One of the definitions for visualization is to give a visible appearance to something, making
Computer Science and Information Systems, 2008
In the past, we have been looking for program comprehension tools that are able to interconnect operational and behavioral views, aiming at aiding the software analyst to relate problem and program domains in order to reach a full understanding of software systems. In this paper we are concerned with Program Comprehension issues applied to Domain Specific Languages (DSLs). We are now willing to understand how techniques and tools for the comprehension of traditional programming languages fit in the understanding of DSLs. Being the language tailored for the description of problems in a specific domain, we believe that specific visualizations (at a higher abstraction level, closer to the problem level) could and should be defined to enhance the comprehension of the descriptions in that particular domain.
2012
This paper is concerned with an ontology driven approach for Program Comprehension that starts picking up concepts from the problem domain ontology, analyzing source code and, after locating problem concepts in the code, goes up and links them to the programming language ontology. Different location techniques are used to search for concepts embedded in comments, in the code (identifier names and execution traces), and in string-literals associated with I/O statements. The expected result is a mapping between problem domain concepts and code slices. This mapping can be visualized using graph-based approaches like, for instance, navigation facilities through a System Dependency Graph. The paper also describes a PCTool suite, Quixote, that implements the approach proposed.
ACM Sigcse Bulletin, 2002
This paper discusses how novices exposed to an execution model of recursion (similar to an expert's mental model and visualised in the EROSI tutor) performed on the task of constructing an embedded recursive solution to a given problem specification. Empirical observations showed that after using the EROSI tutor, novices employed a variety of methods during program construction including the use
Journal of Visual Languages & Computing, 1993
Loading Preview
Sorry, preview is currently unavailable. You can download the paper by clicking the button above.