Fig 4 - uploaded by Takashi Ishio
Content may be subject to copyright.
A screen shot of a VDFG-based program slice for JEdit.  

A screen shot of a VDFG-based program slice for JEdit.  

Source publication
Article
Full-text available
To understand the behavior of a program, developers often need to read source code fragments in various modules. System-dependence-graph-based (SDG) program slicing is a good candidate for supporting the investigation of data-flow paths among modules, as SDG is capable of showing the data-dependence of focused program elements. However, this techni...

Similar publications

Article
Full-text available
We give conditions for the existence of the Minkowski content of limit sets stemming from infinite conformal graph directed systems. As an application we obtain Minkowski measurability of Apollonian gaskets, provide explicit formulae of the Minkowski content, and prove the analytic dependence on the initial circles. Further, we are able to link the...
Article
In this paper, we introduce a method which can generate a family of growing symmetrical tree networks. The networks are constructed by replacing each edge with a reduced-scale of the initial graph. Repeating this procedure, we obtain the fractal networks. In this paper, we define the average geodesic distance of fractal tree in terms of some integr...
Article
Self-similarity plays an important role in the study of fractal networks. In this paper, we construct a class of self-similar evolving networks by replacing one node with an initial graph. Our substitution rule is based on the directed graph and then the corresponding networks are deterministic. Moreover, we explore the fractality of our evolving s...

Citations

... Reading source code is an important part of a programmer's work which takes up to half of their working time (Kashima et al., 2015). Plenty of various tools assisting code understanding is developed, see (Kadar et al., 2016;Perez & Abreu, 2016), but they address the needs of experienced developers while learning to read and understand program code is one of the important stages of computer science education. ...
... A step-by-step log of commands executed by a program is called a program trace (or just a trace or tracing). The importance of the traces has been frequently mentioned earlier to both developing program code (Abualese et al., 2017;Fittkau et al., 2015;Feng et al., 2018;Kashima et al., 2015;Kadar et al., 2016;Khoury et al., 2017;Khoury et al., 2019;Perez & Abreu, 2016) and programming education (Aggarwal et al., 2018;Paaßen et al., 2016;Srinivasan et al., 2016;Terada, 2005). ...
Conference Paper
Full-text available
Learning to read source code is an important part of developing programming skills. Using pseudo-code and program traces for this allows creating exercises developing comprehension of basic algorithmic concepts like control structures, expressions, functions calls. However, such assignments require reading long traces and comparing them with the algorithm, identifying the control structures involved. Automatic generation of algorithms for assessments poses a particular problem because such algorithms lack an identified goal. While this is useful for learning to predict program traces without relying on the intuitive understanding of the algorithm, it doesn't allow using meaningful labels for the control structures comprising the algorithm's tree. This paper presents a study of students' preferences between different ways of writing algorithms and program traces. Eighty-one first-year computer science students completed a survey comparing eight ways of writing algorithms and four ways of writing program traces. The students preferred using expressions to identify control structures over short phrases or numbers. They had no clear preferences for the way the program traces were formulated. So a system, generating algorithms for assessments should also have a module generating expressions. These results are limited to university students; the preferences of other groups of learners should be studied separately.
... Step 9: Better Visualization: Reduce the number of nodes as per their Fractal value where fractal values is calculated by assigning the weight 1 to the node representing the node of criteria, fractal value of other node is same as its parent node and in case the vertex has multiple parent vertices, the FRACTAL VALUE of a vertex is the maximum of weights from the weights it is getting from its different parent vertices 3 . From the point where the fractal value of a child is coming to be higher than of the parent value, remove all the nodes from that point and add one node labeled as 'more'. ...
Article
Objective: The main objective of this paper is to propose a Program Slicing Technique that includes more number of features than available in any other slicing technique. Methods: Numerous slicing techniques have been originated for enhancing the outcropping of Program Slicing. Simultaneously varied intermediate representation for representing the important features and dependencies of statements of a program on one another has been created for the easiness of creating the slicing technique. Unvaried part in varied techniques while concentrating on one good feature to be interpolated was overlooking some other important features. The flawed areas of the Available techniques have been found and based on the solution to overcome them, the technique is proposed that will consist of all important features with taking care of their flawed areas. Findings: Intermediate representation of a program accompanied by an algorithm is proposed to surpass the existing graphs by covering their flawed areas and by including more number of features than available in any other existing representation or technique. Conclusion: From the case studies it is concluded that the important features like Fault localization, Change Impact Analysis, Better Visualization etc can be achieved with a single technique. Added advantage is the complexity is reduced, accuracy and efficiency in terms of space and time is improved.
Article
For program analysis of Java in software engineering, control-flow, data dependence, control dependence, and method call relationships are often required. Existing tools provide features to extract the required information, however, it is difficult to use the tools for users who are unfamiliar with algorithms for program analysis. SOBA (Simple Objects for Bytecode Analysis) is a class library that is easy to use without detailed knowledge of program analysis. This paper introduces main features, design policy, and example programs of SOBA.