This paper addresses the considerable interest there is in how to detect design patterns in existing designs and implementations. These approaches typically look for similarities between the diagrams ...used to describe the design and those which define the pattern. We look at several pattern detection techniques, before implementing and comparing two of the most successful. From this we conclude that both of these techniques have a certain ability to detect design patterns at the high levels of abstraction and programming language independence, needed at the design level. We then show that these approaches can work together to improve detection rates. Finally we propose how this work can be extended to detect more patterns and to include detection of anti-patterns.
We report on the process and design of our visual analytics graph analysis challenge winning entry. Specifically, our team addressed the IEEE VAST 2020 Mini-Challenge 1 that asked participants to ...identify a group of people that accidentally caused an internet outage. To identify this group, we were given a network profile and a large multivariate social network to search in. Our approach involved statistical and graphical analysis as well as the design of three custom visual analytics tools. The submitted solution and visualizations are available at https://graphletmatchmaker.github.io/.
Static or dynamic graphs are typically visualized by either node-link diagrams, adjacency matrices, adjacency lists, or hybrids thereof. In particular, for the case of a changing graph structure a ...viewer wishes to be able to visually compare the graphs in a sequence. Doing such a comparison task rapidly and reliably demands for visually analyzing the dynamic graph for certain dynamic patterns. In this paper we describe a novel dynamic graph visualization that is based on the concept of smooth density fields generated by first splatting the link information of a given graph in a certain layout or visual metaphor. To further visually enhance the time-varying graph structures we add user-adaptable isolines to the resulting dynamic graph representation. The computed visual encoding of the dynamic graph is aesthetically appealing due to its smooth curves and can additionally be used to do comparisons in a long graph sequence, i.e., from an information visualization perspective it serves as an overview representation supporting to start more detailed analysis processes. To demonstrate the usefulness of the technique we explore real-world dynamic graph data by taking into account visual parameters like visual metaphors, node-link layouts, smoothing iterations, number of isolines, and different color codings. In this extended work we additionally incorporate matrix and list splatting while also supporting the selection of density regions with overlaid link information. Moreover, from the selected graph the user can automatically apply region comparisons with other graphs based on global and local density properties. Such a feature is in particular useful for finding commonalities, hence serving as a special filtering function.
The Dynamic Call Graph Matrix Burch, Michael
Proceedings of the 9th International Symposium on Visual Information Communication and Interaction,
09/2016
Conference Proceeding
Visualizing dynamic call graphs is typically done by providing a visual representation that shows the sequence of static graphs placed next to each other. Such a time-to-space mapping is useful to ...visually compare the graphs and to see the changing graph structure, but, negatively, a view on changes between all pairs of graphs in the sequence is not provided and detecting similarities of longer call graph subsequences is not well supported. In this paper we describe the dynamic call graph matrix that shows similarities and differences between graph pairs in a graph sequence by applying certain well-known set operations as well as fine-grained and coarse-grained graph views supporting visual scalability. We illustrate the usefulness of our technique by applying it to dynamic call graph data from the open source software project JUnit that contains several inherent dynamic call graph features worth investigating and hard to find by a side-by-side dynamic graph visualization alone.
Most objects can be divided into several components which we call "entities". That means an object is usually a structural combination of entities which are arranged in some patterns associated with ...this kind of object. To get the representation of object structure is a challenge in the field of cognition. This paper presents a methodology for object structural representation which can be used in object semantic modeling, object recognition, image understanding and so on. This methodology is based on a graph approach which is able to record the local and global characters of object, measure the similarity between two objects and extract the common structures of several objects. The local features of object are based on shape, location and size. And the global features correspond to the topological relationships between the object's entities. Based on this representation modal, the synthetic object classification task is undertaken by using graphs comparing and nearest neighbor algorithm. Experiments are done on some 2-D CAD objects which are assembled with geometric entities. And the results show the rationality and effectiveness of this methodology on object classification.
Considers that standard significance tests for testing whether 2 independent groups are equal in elevation or dispersion do not test the forms of those hypotheses which are frequently of most ...interest to behavioral scientists. More interesting forms of those hypotheses can be tested easily and quickly by drawing a simple graph. The same graph can also be used to perform several standard tests. In all these tests, the procedure is so simple that the chance of computational error is much smaller than with standard procedures.