<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Modeling, Visualizing, and Checking Software Architectures Collaboratively in Shared Virtual Worlds</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author role="corresp">
							<persName><forename type="first">Rainer</forename><surname>Koschke</surname></persName>
							<email>koschke@uni-bremen.de</email>
							<affiliation key="aff0">
								<orgName type="institution">University of Bremen</orgName>
								<address>
									<addrLine>Bibliothekstraße 1</addrLine>
									<postCode>28359</postCode>
									<settlement>Bremen</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Marcel</forename><surname>Steinbeck</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">University of Bremen</orgName>
								<address>
									<addrLine>Bibliothekstraße 1</addrLine>
									<postCode>28359</postCode>
									<settlement>Bremen</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Modeling, Visualizing, and Checking Software Architectures Collaboratively in Shared Virtual Worlds</title>
					</analytic>
					<monogr>
						<idno type="ISSN">1613-0073</idno>
					</monogr>
					<idno type="MD5">EB778FE76DCD8F14A2C0E6B01607794B</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T05:39+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>reflexion analysis</term>
					<term>software visualization</term>
					<term>virtual and augmented reality</term>
					<term>code cities</term>
					<term>distributed development</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Software visualization is useful to highlight certain aspects of software in a way that is easy to grasp for humans. In this paper, we present our software visualization platform SEE which, among other use cases related to software development, assists developers and architects in identifying inconsistencies between the architecture and the implementation of a softwareusing the software reflexion model. SEE is based on the software-as-a-city metaphor and presents the generated software cities in virtual worlds that can be entered by multiple users from different locations (i.e., they do not have to be physically in the same place). Within these worlds, users can see each other as avatars and communicate via a built-in voice chat. A special feature of SEE is the ability for users to interact remotely with the cities in real-time and thus creates a basis for collaborative work that goes far beyond the classic means of distributed software development.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1.">Introduction</head><p>There has been a sustained trend towards distributed software development long before the current pandemic situation <ref type="bibr" target="#b0">[1]</ref>. Distributed development is a consequence of budget and time limitations, lack of developers, need for specialized expertise, lack of space, and other factors. It takes place at large scale in terms of offshoring but also at small scale within an organization whose developers of the same team are not all in the same room. If developers of distributed teams need to work together, spatial gaps need to be bridged. Remote joint development is a particular challenge in situations where tight collaboration requires a high degree of communication. This is, for instance, the case when a team needs to recover and validate a software architecture from an existing system. For large systems, there is rarely a single person who knows all the details. Hence, multiple developers need to work together to reconstruct an accurate architectural description and to decide which implementation dependencies violate the architectural rules and how to handle these violations.</p><p>There are a few collaborative UML modeling tools, where different users can work on the same diagrams to model an architecture <ref type="bibr" target="#b1">[2,</ref><ref type="bibr" target="#b2">3]</ref>. Likewise, there are collaborative integrated development tools (IDE) such as Intelli/J IDEA with the feature Code With Me, which allow to edit and debug code collaboratively at the source-code level. Even though there are several tools to model and validate an architecture-even in the market place-we are not aware of any truly collaborative architecture modeling and checking tool that enables developers to model and validate architecture together at the same time, yet at different locations. Currently, architects and developers need to use screen sharing and video-conferencing systems to use such tools remotely. These, however, are very generic tools with no relation to the actual task at hand and, hence, are cumbersome to use.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Contributions</head><p>In this paper, we present our software visualization tool SEE (for Software Engineering Experience). SEE is a multi-purpose visualization platform based on the software-as-a-city metaphor that allows users (software architects, developers, etc.) at different locations (i.e., they do not have to be physically in the same place) to work collaboratively on software architecture in shared virtual worlds. Within these worlds, all users have a visual representation-an avatar-and can thus see each other. In addition, users can talk to each other via an integrated voice chat. The virtual worlds created by SEE are dynamic so that users can highlight and change parts of the visualized software cities, which is visible to the other users in real-time. SEE can be used from different hardware devices: desktop computers, tablets, and virtual reality systems (VR). One of the primary use cases of SEE is the support of the software reflexion model <ref type="bibr" target="#b3">[4]</ref>, that is, the automatic identification of inconsistencies between a specified software architecture its implementation. This use case, and how it is implemented in SEE, will be the central subject of this paper.</p><p>Outline The remainder of this paper is structured as follows. Section 2 presents related research. Section 3 describes SEE and Section 4 how SEE can be used to support remote collaborative reflexion analysis. Section 5 concludes. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.">Related Research</head><p>Our research focuses on the visualization of software and software architecture using the software-as-a-city metaphor with a special emphasis on collaborative visualizations where users can face each other in shared virtual worlds from different hardware devices. In this section, we will present related research of software visualization with regard to the software-as-a-city metaphor, software visualization in virtual and augmented reality environments, and collaborative software visualization.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.1.">Software as a City</head><p>In addition to the quantitative properties of software (e.g., lines of code), the hierarchy (e.g., namespaces) is often another aspect that needs to be visualized. An early approach that covers both aspects at the same time is the so called Tree-map <ref type="bibr" target="#b4">[5]</ref> visualization. In Tree-maps the hierarchy of a software system is depicted with recursively nested rectangles where the area of the innermost rectangles is proportional to a certain metric. Initially, Tree-maps were designed as a two-dimensional visualization. However, quickly the idea came up to map an additional metric to the height of the rectangles, leading to three-dimensional blocks. Such three-dimensional Treemaps create the impression of a typical North American city with buildings arranged in a grid. Due to this pictorial representation, three-dimensional Tree-maps are also known as Code-Cities <ref type="bibr" target="#b5">[6]</ref>. Code-Cities were quickly adopted by the research community and are still very popular today <ref type="bibr" target="#b6">[7,</ref><ref type="bibr" target="#b7">8,</ref><ref type="bibr" target="#b8">9,</ref><ref type="bibr" target="#b9">10,</ref><ref type="bibr" target="#b10">11,</ref><ref type="bibr" target="#b11">12,</ref><ref type="bibr" target="#b12">13,</ref><ref type="bibr" target="#b13">14,</ref><ref type="bibr" target="#b14">15,</ref><ref type="bibr" target="#b15">16,</ref><ref type="bibr" target="#b16">17,</ref><ref type="bibr" target="#b17">18,</ref><ref type="bibr" target="#b18">19,</ref><ref type="bibr" target="#b19">20,</ref><ref type="bibr" target="#b20">21,</ref><ref type="bibr" target="#b21">22,</ref><ref type="bibr" target="#b22">23,</ref><ref type="bibr" target="#b23">24,</ref><ref type="bibr" target="#b24">25,</ref><ref type="bibr" target="#b25">26]</ref>. Besides the original Treemap/Code-City algorithm there are also other layout methods grounded in the software-as-a-city metaphor, e.g., the EvoStreets visualization <ref type="bibr" target="#b26">[27]</ref>. Using additional visual attributes, such as colors and textures mapped onto the surface of the three-dimensional blocks, further metrics can be expressed in Code-Cities <ref type="bibr" target="#b21">[22]</ref>. Relations between entities (e.g., include dependencies, function calls, and so on) can be visualized with edges <ref type="bibr" target="#b27">[28]</ref>. Hierarchical edge bundles, as proposed by Holten <ref type="bibr" target="#b28">[29,</ref><ref type="bibr" target="#b29">30]</ref>, is a tried and tested means of diminishing the visual clutter that occurs when drawing lots of (overlapping) edges.</p><p>Code-Cities have long since arrived in practice and are now used in commercial products to visualize the change history and code quality of software. Examples include the software packages from Hello2morrow and Serene <ref type="bibr" target="#b30">[31]</ref>. There is also a plug-in for the widespread software analysis platform SonarQube, SoftVis3D, which is based on Tree-maps and EvoStreets <ref type="bibr" target="#b31">[32]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.2.">Software Visualization in AR/VR</head><p>As early as 2000 there were considerations to bring Code-Cities into virtual reality (VR) environments <ref type="bibr" target="#b6">[7,</ref><ref type="bibr" target="#b7">8]</ref>. Then as today it was hoped that the advantages of VR observed outside of computer science <ref type="bibr" target="#b32">[33,</ref><ref type="bibr" target="#b33">34,</ref><ref type="bibr" target="#b34">35,</ref><ref type="bibr" target="#b35">36]</ref> also apply in software visualization. Since then, Code-Cities were used in pseudo 3D (desktop computer monitors) and VR environments to visualize static <ref type="bibr" target="#b36">[37,</ref><ref type="bibr" target="#b37">38,</ref><ref type="bibr" target="#b9">10,</ref><ref type="bibr" target="#b38">39,</ref><ref type="bibr" target="#b15">16,</ref><ref type="bibr" target="#b39">40,</ref><ref type="bibr" target="#b40">41,</ref><ref type="bibr" target="#b41">42,</ref><ref type="bibr" target="#b22">23]</ref> as well as dynamic <ref type="bibr" target="#b42">[43,</ref><ref type="bibr" target="#b14">15,</ref><ref type="bibr" target="#b43">44,</ref><ref type="bibr" target="#b44">45,</ref><ref type="bibr" target="#b20">21]</ref> aspects of software. Studies have shown that head-mounted displays (HMDs) may have a positive effect on the orientation <ref type="bibr" target="#b32">[33]</ref> and navigation speed <ref type="bibr" target="#b45">[46]</ref> of users. That said, there are also studies where a positive effect could not be found <ref type="bibr" target="#b46">[47]</ref> or where using HMDs had only little effect <ref type="bibr" target="#b47">[48]</ref>. How these different results are to be assessed is a subject of further research.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.3.">Collaborative Software Visualization</head><p>Co-located collaborative software visualization where people interact with each other physically in the same place was studied by Isenberg et al. <ref type="bibr" target="#b48">[49,</ref><ref type="bibr" target="#b49">50]</ref> und Anslow et al. <ref type="bibr" target="#b50">[51,</ref><ref type="bibr" target="#b51">52]</ref>. The authors developed a multi-touch display mounted onto a table that can be used by several people (primarily pairs of users) at the same time. One of the key findings of these studies was that working faceto-face around the table (i.e., sharing individual findings and communicating throughout) was a successful way for the pairs to solve complex problems, and that collaborative software visualization should support multiple users. An early attempt of implementing a distributed collaborative visualization (i.e., users do not have to be physically in the same place) in the context of software comprehension can be found in the work of Kot et al. <ref type="bibr" target="#b52">[53]</ref>. Based on the Quake 3 game engine, the authors developed a shared three-dimensional world where users can view, move, and arrange source-code files interactively. Further works in the area of collaborative software visualization are <ref type="bibr" target="#b37">[38,</ref><ref type="bibr" target="#b53">54,</ref><ref type="bibr" target="#b54">55,</ref><ref type="bibr" target="#b55">56,</ref><ref type="bibr" target="#b2">3]</ref>-in a broader sense also <ref type="bibr" target="#b56">[57]</ref>.</p><p>Collaborative software visualization with focus on Code-Cities in shared virtual words was recently studied by Zirkelbach et al. <ref type="bibr" target="#b57">[58]</ref> and Jung et al. <ref type="bibr" target="#b24">[25]</ref>. In both studies users were represented as abstract avatars in the virtual world, allowing them to perceive each other and to support their verbal communication with a simple form of gesture. This aspect was in particular received positively in the study by Zirkelbach et al. <ref type="bibr" target="#b57">[58]</ref>, yet, the participants would have preferred a more realistic, human representation.</p><p>None of those studies aimed at architecture modeling and validation, which is the focus of our paper.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">SEE Software Visualization</head><p>SEE (Software Engineering Experience) is a multi-purpose multi-user software visualization platform built upon the Unity game engine. The underlying data model visualized by SEE is a hierarchical graph with attributed nodes and edges-hierarchical means that nodes can be nested. Generally, SEE does not make any assumptions about what nodes, edges, and attributes represent and thus could be used to visualize anything that can be encoded as hierarchical graph. However, the main purpose of SEE lies on the visualization of aspects related to software (e.g., source-code files, packages, components, and so on) and software development (e.g., change history, quality metrics, and the like). Graphs can be imported from GXL files, a standard file format for exchanging arbitrary graphs that is used both in academia and industry <ref type="bibr" target="#b58">[59]</ref>. The nodes and edges of an imported graph are visualized as three-dimensional blocks (leaf nodes), two-dimensional surfaces enclosing blocks (inner nodes), and splines connecting blocks or surfaces (edges) that can be hierarchically bundled. The visual components of the blocks (width, height, depth, and color), surfaces (shape and color), and splines (thickness, color gradient, and bundling strategy) can be freely configured based on the attributes attached to the corresponding nodes and edges. Using one of the built-in layout engines, blocks (and thus implicitly also surfaces and splines) can be arranged automatically-at the moment of writing, SEE supports Circular Balloon, Circle Packing, Rectangle Packing, Tree-map, and EvoStreets layouts. That said, it is also possible to change the position of blocks and splines, and insert and delete blocks and splines at any time (we will elaborate on that in Section 4.3).</p><p>The entirety of all visualized nodes and edges of a graph and their visual mappings form a Code-City. That is, there is a one-to-one relation between an imported graph and a Code-City. Code-Cities can be placed arbitrarily in the virtual world of SEE. For example, we created a virtual world-a Unity scene-that reminds one of a small library. Within this library are different tables on which a city could be placed as desired. Actually, SEE allows to visualize multiple cities at once. That is, with respect to our example, it is possible to import different graphs (or even the same graph multiple times), configure their visual mappings independently, and place each of the generated cities on its own table (cf. Figure <ref type="figure" target="#fig_0">1</ref>).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.">Telecollaborative Reflexion</head><p>If one has an architecture modeling tool, one can share it via a screen sharing tool. Generally, those generic screen sharing tools provide very limited modes of interactions. Often only a single person has control over the screen and everyone is forced to view its content from the same perspective, that is, the shared content is identical for everyone. Users cannot take their own perspective, see different details, or otherwise interact with the shown content independently from others. Screen sharing embedded in video conference systems allows to also view the other present members of the team, but just at the edges of the shared content. They may be able to point to particular areas of interest via their mouse cursor but this pointing gesture is disconnected from the small video showing the participant triggering this gesture. There are first attempts to provide truly collaborative UML modeling tools, where different users can work on the same diagrams <ref type="bibr" target="#b1">[2]</ref>. Likewise, there are collaborative integrated development tools (IDE) such as Intelli/J IDEA with the feature Code With Me. Yet, we are not aware of any collaborative architecture modeling and checking tool. Moreover, those collaborative coding or modeling tools do not allow to actually see the other team members. A lot of information between humans is exchanged by non-verbal communication, however. For instance, delayed movements or frowning may express hesitation or uncertainty.</p><p>Our goal is to enable developers in distributed teams to model and validate software architectures even when they are not at the same place. To do that we integrate different technologies ranging from ordinary desktop computers with 2D display, keyboard, mouse, and camera over tablet computers with touchscreens to modern hardware for augmented (AR) and virtual reality (VR). The decisions for our kind of visualization and the provided interactions are founded on concepts of cognitive psychology including but not limited to laws of Gestalt, cognitive schemes, and mirror neurons. In the following, we will delve into those details.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1.">Cognitive Foundations</head><p>Visualization and interaction should be as intuitive as possible. Intuition provides insights without inferences of the conscious mind by drawing on processes that are entrenched in human cognition <ref type="bibr" target="#b59">[60]</ref>. These cognitive mechanisms should be taken into account in the design of efficient and effective visualization and interactions.</p><p>One such cognitive mechanism are cognitive schemas that describe associative structures in a human brain by which knowledge and experience is organized. For instance, if an object is observed, typical perceptions of how one can interact with this object are activated in the memory. These associations are not limited to simple relations; they can also include more complex behavior. All cognitive schemas have in common that they are triggered by a particular perception, for instance, an object, a situation, or a sensation. Dominic et al., for instance, have investigated how the activation of such cognitive schemas have effected the behavior of participants in a VR scene <ref type="bibr" target="#b60">[61]</ref>. They found that emotional reactions could be triggered based on a suitable stimulus. Kot et al. observed in a visualization in VR how the participants grabbed objects-here representing files-to take those objects to other present members to show them to others Kot et al. <ref type="bibr" target="#b52">[53]</ref>. The observed behavior has not been foreseen, let alone purposefully implemented by the authors. The behavior just arose from a cognitive schema for small physical objects that can be grabbed. That means for our context that we should present objects in a visualization in a way that triggers the wanted behavior. For instance, the mapping of implementation elements onto architectural components can be expressed by simply stacking one on the other. Metaphorically, the architecture is a city map and an architectural component a district within this city map. Implementation elements are physical objects, for instance, blocks that can be grabbed and put on the map. If an entity is to be re-mapped, it is just moved to the other place. The possible interaction is naturally suggested by a human's experience with physical objects.</p><p>Another relevant cognitive mechanism are the laws of Gestalt, which hold independently of cultural and even interpersonal differences <ref type="bibr" target="#b61">[62]</ref>. The laws of Gestalt are a set of principles of human perception of viewn sceneries. For instance, the law of similarity predicts that physically similar items will be perceived as the same kind of object.</p><p>That is, in our context the same kind of implementation entities, for instance, all methods, should be depicted alike. The inverse implication of that for us is that it would be rather misleading if architectural and implementation components would look alike. Their form and color and other visual attributes should be different to make clear that they are different concepts. The law of proximity states that objects close to each other appear to form a group. Automatic layout algorithms are generally agnostic to this law. They place their objects according to other criteria. For instance, tree-maps just try to save space and the objects put in close neighborhood have generally no semantic relation. In our visualization, humans will model the architecture and in doing so obey to this law naturally. Moreover, because we have multiple humans modeling the same architecture together, a process to reach a consensus is enforced because an object can be at only one place. Implementation entities are generally not modeled by humans, they are typically extracted from the source code through static or dynamic analysis. They have no initial physical location in 2D or 3D. The only partial ordering criteria we can extract from the code is hierarchical nesting (e.g., syntactic nesting, physical containment in the file system, or type hierarchies), linear order of declaration within a file, and dependencies among declarations, e.g., call relations. There are many layout algorithms that consider hierarchies. For instance, our current implementation offers tree-maps, EvoStreets, circle packing, rectangle packing, and balloon layouting. Moreover, force-directed layouts will group together elements according to their dependencies. While these algorithms may provide a first good placement of the elements extracted from the code, they have no deeper knowledge of the semantics beyond direct dependencies and hierarchies. For this reason, humans are free to move the objects in our visualization arbitrarily once they have been laid out automatically. In particular, when it comes to the mapping of implementation entities onto architectural components, they may stack those at arbitrary places within the boundaries of the visual element representing the architectural component they are mapped to. This way, the law of proximity will again hold.</p><p>Mirror neurons describe a property of certain neurons that were first detected in brains of monkeys but were later shown to exist in human brains, too. Certain neurons, for instance, those responsible to control a particular movement of the human body are not only activated when this behavior is to be executed but also when a human just observes this behavior for another person <ref type="bibr" target="#b62">[63]</ref>. Recent research has shown that this property is not limited to motor neurons specialized on muscle control. Even neurons deriving bodily reactions from certain sensations were shown to have this property <ref type="bibr" target="#b63">[64]</ref>. The implication in the context of collaborative visualization may be that it could be advantageous to show other present participants in a visualization as avatars such that their movements can be observed by the beholders. Triggering their respective mirror neurons could not only help in learning interactions by example but also provide non-verbal clues on the sentiment of the acting person, e.g., hesitant movements indicating uncertainty or forceful movements indicating definiteness or even anger. Our conjecture of the relevance of showing the behavior of collaborating partners triggering mirror neurons is indicated by several studies on collaborative visualization <ref type="bibr" target="#b57">[58,</ref><ref type="bibr" target="#b48">49,</ref><ref type="bibr" target="#b50">51,</ref><ref type="bibr" target="#b51">52,</ref><ref type="bibr" target="#b24">25]</ref>. In particular the participants of the study by Zirkelbach et al. have explicitly stated that they appreciated the presence of other members <ref type="bibr" target="#b57">[58]</ref>. That study is interesting in two ways due to the way the presence of the other participants was visualized: The participants were drawn only by a virtual head-mounted display and the two handheld controllers in VR, not as human-like avatars. This way, others could observe where someone was looking or where someone was pointing to with the hand, which was appraised to be useful by the participants of the study. However, the participants stated that they would have preferred a more human-like representation. This outcome is consistent with studies in robotics which found that more humanlike robots are generally more accepted <ref type="bibr" target="#b64">[65]</ref> (up to the point where these machines become too similar to real humans <ref type="bibr" target="#b65">[66]</ref> and start to frighten humans). To further explore the advantages of avatars and also to overcome the said disadvantages of current video conference and screen sharing systems discussed above, we show the participants present by way of human avatars.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.2.">Visualization and Interaction</head><p>After having introduced some of the foundations of human cognition influencing our design decision for the visualization and interaction, we will describe the latter two in greater detail.</p><p>Our early ideas with Code-Cities was to present them true to scale, that is, the proportions of the human body and the buildings representing software entities were as in real world <ref type="bibr" target="#b23">[24,</ref><ref type="bibr" target="#b66">67,</ref><ref type="bibr" target="#b67">68,</ref><ref type="bibr" target="#b68">69]</ref>. This causes problems of orientation due to occlusion and the limitations of the human short-term memory. While some of that might be mitigated by mini maps showing the current position of a person as in real world, it is still difficult to see other participants if they are in other parts of the city. Of course, one could blend them into the visible area of the beholder either at its edges as in video conference systems or as part of a hand-held device analogously to video calls with a smart phone. Yet, that basically means to virtualize video conference systems in a virtual world, and we wanted to overcome the problems of those. Mini maps and embedded video conference calls are just technical crutches to remedy bad design decisions. Moreover, cognitive schemas will not be triggered by this design. Humans would not be tempted to move around buildings that are magnitudes larger than themselves.</p><p>Our new design is more similar to approaches to software visualization in co-located environments. In previous studies on collaborative visualization, researchers have experimented with large multi-touch displays integrated in tables for the joint interaction with software visualizations at the same physical location <ref type="bibr" target="#b48">[49,</ref><ref type="bibr" target="#b49">50,</ref><ref type="bibr" target="#b50">51,</ref><ref type="bibr" target="#b51">52]</ref>. The human beholders group around the physical table (display) and can see both the visualization and the other participants at the same time. They can communicate with each other both verbally and non-verbally, which has been observed as a great advantage in these studies. Our approach can be viewed as a virtualization of this setting.</p><p>We provide a virtual room with several tables, each showing one particular software architecture and its implementation. Large organizations may have multiple applications and all of them could be made available in the same virtual room. This way participants could walk from table to table and work on different programs or just compare these. Each program is represented by one Code-City and generally there is one Code-City on each table. Participants are, however, able to take a Code-City to another table if they want to make comparisons between different programs. The Code-Cities are shown in miniature. They can be scaled and zoomed, however. Unlike the physical monitors for co-located environments, there are no limits for scaling enforced; participants will stop scaling by themselves at the point when they think it becomes useless. And also unlike the physical displays in co-located environments, our visualization has three dimensions. In particular, for implementation components, height may have an important meaning, for instance, the size of a class. If they are embedded in architectural components, it becomes immediately visible which architectural components tend to have god classes.</p><p>Another advantage over physical multi-touch tables is that we can individualize what can be seen for each beholder. We take great care that the virtual room is consistent among all participants; for instance, if one participant grabs an object, this object must move in all representations of the virtual room for all participants. Thus, our visualization is essentially a distributed realtime application. We even have a global undo/redo history identifying and prohibiting conflicting actions, e.g., one participant renames an element and the other one removes the same element. Nonetheless, there are aspects for which it makes sense to drawn them specifically to one beholder. For instance, on physical multi-touch tables, labels necessarily have exactly one orientation. A person on the opposite side will have difficulties to read them. Our virtual labels always face the beholder. Moreover, participants can query additional details on demand, for instance, the source code of an implementation entity presented in a code viewer or additional metrics shown in a scatter plot. These additional views can be shared or not, depending upon whether the beholder has only a personal interest or whether she or he wants to talk about it. If they were always shown as it would be the case for physical multi-touch tables, they could distract others.</p><p>The participants are visible as human avatars and can communicate via voice to each other. The avatar's lips are synchronized with the spoken word so that it can be seen who is talking. To synchronize the movement of a human in the real world with his or her avatar, we leverage the position data of the head-mounted display and hand-held controllers in VR. In case of an ordinary desktop environment, we can derive the viewing angle of the avatar's head by the viewpoint (in game-engine lingo, the game camera angle) of his human counterpart. We currently do not have sensors for the human's hands in desktop environments. We plan to derive this information from 3D depth cameras or even ordinary cameras with suitable image-recognition software or physical trackers such as HTC's Vive trackers. Neither do we have a way to capture, transfer, and present mimics yet. Again, we will attempt to capture this data through cameras and ideally present them as real-time videos on the avatar's face. There are already commercial applications <ref type="foot" target="#foot_0">1</ref> for animating avatars according to the mimics of a human face showing that this is doable.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.3.">Virtual Reflexion Analysis</head><p>We are using the reflexion analysis <ref type="bibr" target="#b3">[4,</ref><ref type="bibr" target="#b69">70,</ref><ref type="bibr" target="#b70">71]</ref> to reconstruct and validate the software architecture. This section describes in more detail how each step is implemented in terms of the design of the visualization and interaction.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Architecture modeling</head><p>The first step of the reflexion analysis is to create a model of the architecture. Conceptually, the model forms a graph where nodes represent architectural components and directed edges specify expected dependencies between the connected components. Nodes can be nested in other nodes expressing hierarchical systems <ref type="bibr" target="#b69">[70]</ref>. Our users can create such models on various devices, namely, ordinary desktop computers with mouse interactions, tablets with a pen recognizing shapes and edge-drawing actions (a user can virtually draw an architecture with the pen), and with physical actions with the handheld controllers in VR environments. We plan to support MicroSoft's HoloLens for AR, too. For desktops, we also experimented with a hand-tracking device named Leap Motion enabling a user to create nodes and edges with hand gestures. The problem with this approach is that the device has a limited range of visibility forcing a user's hands to be held out uncomfortably, gesture detection can be difficult if fingers occlude each other, and the precision was not enough for fine interactions through direct manipulation with selected objects.</p><p>The architecture can be modeled on the plane of a table around which all participants group. The creation of objects is instantaneous on all connected computers so that all participants always have the same view. If hand-tracking data is available, all participants can observe who is creating the new node or edge by visually following the hand. New and deleted nodes and edges are animated so that changes are highlighted to everyone present. It is important that everyone can see who initiated a change even before the change is actually finalized so that they can possibly intervene and that all recent changes are obvious. To make sure, the architecture is syntactically consistent (e.g., there are no dangling edges), conflicting changes are detected and refused.</p><p>Users want to name the nodes they created, which can be a challenge in VR. We offer a virtual keyboard, but the haptic feedback is of course missing. For this reason, we allow a user to dictate a name for a new node through voice recognition, which works surprisingly well when the name is not cryptic-and maybe it is better to avoid cryptic names anyhow. At least, the recognized name may a good starting pointing that can then be corrected by way of virtual keyboard keeping the necessary virtual key strokes at a minimum. Similarly to Seipel et. <ref type="bibr" target="#b71">[72]</ref>, we also offer a conversational interface to initiate other actions (e.g., for showing the code of a component) to free the user from the need to use a keyboard.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Mapping the implementation onto the architecture</head><p>Once the architecture model is created to the point that one can move on to relate the implementation components to the architecture components they implement, users can drag and drop implementation components onto architecture components. This kind of mapping is expressed through nesting, that is, the objects representing an implementation entity are stacked on the area of an object representing an architectural component. This interaction leverages the conceptual schemas (small objects can be grabbed and moved) and the laws of Gestalt (an implementation entity is enclosed by an architecture component). It also leverages the mirror neurons as the physical action of the movement can be observed by the other participants.</p><p>Initially, the implementation is drawn as a Code-City next to the space where the architecture model is created by the user. Because the Code-City's elements are extracted by a static analysis, an automated layout will first decide how to place them. The user has the choice among various layouts we offer. The implementation nodes can afterwards be moved around within the limits of their containing node. The user can select the code metrics determining the width, height, depth, and color range of the nodes. All nodes of the same type (e.g., classes) have the same shape, which can be selected by the user, too. The type of the edges is depicted by color. Their direction is shown as a color gradient of the chosen color. Many other applications use arrow heads instead, but they may overlap for nodes with many connecting edges. Edges are laid out through hierarchical bundling <ref type="bibr" target="#b28">[29]</ref>, which helps to reduce visual clutter when there are many dependencies. Incoming and outgoing direct and transitive edges can be hidden or highlighted on demand. The source code leading to a particular node or edge can be opened in an in-game window with syntax highlighting.</p><p>To map an implementation entity onto the architecture, the user just grabs the object and drags it to the architecture component. This constitutes an explicit mapping. All descendants of the moved object in the node hierarchy are moved along with it-unless they have been mapped before. Those are implicitly mapped. If a user wants to map the implicitly mapped entities to somewhere else, he or she just moves its node in the architecture to another target. Again, syntactic checks are in place to make sure that an implementation node cannot be moved to another implementation node (unless that one is its original parent), because that would create a node hierarchy that is inconsistent to the code.</p><p>Nodes that were mapped explicitly or implicitly are marked visually as such. The mapping creates a logical copy of a node when it was moved into an architecture node. Its original representation in the separate Code-City for the implementation becomes transparent to make clear that it has already been mapped. If either of the two nodes is selected, its counterpart is selected, too, to make their connection clear. Preserving the original node in the implementation representation helps to study its relation to other nodes in the context of the original implementation, which may be a useful information for the decision where to map its neighbors. It also helps to assess the progress of the mapping process.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Reflexion analysis</head><p>As soon as two ends of an implementation dependency (source and target nodes of the corresponding edge) are mapped (implicitly or explicitly), the automated reflexion analysis can determine whether the implementation dependency is allowed (i.e., covered by a corresponding architecture dependency) or represents a divergence (i.e., there is no such corresponding architecture dependency allowing it). Likewise, initially when nothing has been mapped, all architecture dependencies are so called absences, that is, there is no implementation dependency confirming them. Whenever nodes are mapped, these could turn into so called convergences, that is, there is actually an implementation dependency confirming them. We are using our incre-mental reflexion analysis <ref type="bibr" target="#b70">[71]</ref> to compute the effect of each mapping decision thereby keeping the effort of the recalculation to a minimum. This on-the-fly computation also supports what-if scenarios, where a user can drag an implementation node over different architecture nodes to see the possible effect of a mapping immediately. All edges effected by a new mapping are animated so that the mapping effects can be observed among the many other edges present in the scene.</p><p>Edges in both the implementation and architecture are typed. Typed dependencies in an architecture make sense, for instance, to allow calls between components but not accesses to attributes. As mentioned above, colors are used for the type of edges. As a consequence, edge color cannot be used to distinguish between implementation and architecture dependencies. To show this distinction, architecture dependencies are drawn noticably thicker than implementation edges. For realistic systems, there are many more implementation than architecture edges and the focus in this visualization is the architecture, hence, it makes sense to show the architecture dependencies more prominently.</p><p>The remaining question is now: how to show whether an edge is allowed, divergent, absent, or convergent when color is no option because it is already used for edge types? Animation is already used for changed edges and animation in generally should be kept to a minimum; otherwise it may become annoying. We see no need to highlight allowed implementation edges and convergent architecture edges, because everything is in order with these. A user wants to see primarily where implementation and architecture differ, that is, divergent and absent edges should be easy to spot. Some tools decorate edges with a symbol to mark them as divergent or absent, but we find such decorations be difficult to relate to a particular edge when there are many edges, in particular, if edge bundling is applied. For this reason, we are using a radiance effect and dashed lines for absences and divergences.</p><p>Added value of architecture Architecture conformance checking is an important measure to ensure architecture and implementation are in sync, but there is potential for more added value. Architecture is a suitable abstraction to discuss other aspects of the implementation within distributed teams. Because the implementation is visually embedded in the architecture in our visualization it is easy to relate details of the implementation to the architecture. For instance, we support dynamic analysis where a user can trace the control flow by way of animated edges for dynamic calls, which raises the level of abstraction in the context of debugging. This way, the static architecture gets also a dynamic view. Similarly, we visualize performance data by way of spheres above methods whose radius represents the CPU time spent within those and the number of calls by way of a color gradient, which allows to relate performance bottlenecks to the architecture. Test coverage metrics can be visualized through coloring such that the untested parts of the architecture can be spotted easily. Also, we show the change history along with the trends in code erosion as a kind of movie that allows how the system evolved both in terms of changes and quality. The implementation embedded in the architecture drawn as a Code-City is a uniform representation in all these development practices and may provide insights that can be discussed in a distributed team.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.">Conclusions</head><p>In this paper, we have described our software visualization platform SEE and how it can be used to support the reflexion analysis collaboratively for distributed teams. We explained the most important design decisions for the visualization and interaction based on current knowledge of cognitive psychology. It is still work in progress. As a next step, we plan to evaluate our design decisions empirically.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Figure 1 :</head><label>1</label><figDesc>Figure 1: Virtual room with code cities for different use cases</figDesc><graphic coords="2,109.11,84.19,375.01,135.49" type="bitmap" /></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">https://facewaretech.com</note>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Global software engineering: evolution and trends</title>
		<author>
			<persName><forename type="first">C</forename><surname>Ebert</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Kuhrmann</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Prikladnicki</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Conference on Global Software Engineering</title>
				<imprint>
			<date type="published" when="2016">2016</date>
			<biblScope unit="page" from="144" to="153" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<monogr>
		<title level="m" type="main">A Collaborative Multi-Touch UML Design Tool</title>
		<author>
			<persName><forename type="first">M</forename><surname>Magin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Kopf</surname></persName>
		</author>
		<idno>TR-2013-001</idno>
		<imprint>
			<date type="published" when="2013">2013</date>
			<pubPlace>Germany</pubPlace>
		</imprint>
		<respStmt>
			<orgName>University of Mannheim</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Technical Report</note>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Collaborative modeling and visualization of software systems using multidimensional UML</title>
		<author>
			<persName><forename type="first">M</forename><surname>Ferenc</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Polasek</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Vincur</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IEEE Working Conference on Software Visualization</title>
				<imprint>
			<date type="published" when="2017">2017</date>
			<biblScope unit="page" from="99" to="103" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Software reflexion models: Bridging the gap between source and high-level models</title>
		<author>
			<persName><forename type="first">G</forename><forename type="middle">C</forename><surname>Murphy</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Notkin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Sullivan</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">ACM SIGSOFT Symposium on the Foundations of Software Engineering</title>
				<imprint>
			<publisher>ACM Press</publisher>
			<date type="published" when="1995">1995</date>
			<biblScope unit="page" from="18" to="28" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Tree-maps: A spacefilling approach to the visualization of hierarchical information structures</title>
		<author>
			<persName><forename type="first">B</forename><surname>Johnson</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Shneiderman</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the Conference on Visualization</title>
				<meeting>the Conference on Visualization</meeting>
		<imprint>
			<publisher>IEEE Computer Society Press</publisher>
			<date type="published" when="1991">1991</date>
			<biblScope unit="page" from="284" to="291" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Information pyramids: A new approach to visualising large hierarchies</title>
		<author>
			<persName><forename type="first">K</forename><surname>Andrews</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Wolte</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Pichler</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IEEE Conference on Visualization</title>
				<imprint>
			<date type="published" when="1997">1997</date>
			<biblScope unit="page" from="49" to="52" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Virtual but visible software</title>
		<author>
			<persName><forename type="first">C</forename><surname>Knight</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Munro</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Conference on Information Visualization</title>
				<imprint>
			<publisher>IEEE</publisher>
			<date type="published" when="2000">2000</date>
			<biblScope unit="page" from="198" to="205" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Visualisation for informed decision making; from code to components</title>
		<author>
			<persName><forename type="first">S</forename><forename type="middle">M</forename><surname>Charters</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Knight</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Thomas</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Munro</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Conference on Software Engineering and Knowledge Engineering</title>
				<imprint>
			<date type="published" when="2002">2002</date>
			<biblScope unit="page" from="765" to="772" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Software landscapes: Visualizing the structure of large software systems</title>
		<author>
			<persName><forename type="first">M</forename><surname>Balzer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Noack</surname></persName>
		</author>
		<author>
			<persName><forename type="first">O</forename><surname>Deussen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Lewerentz</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IEEE TCVG Symposium on Visualization</title>
				<imprint>
			<date type="published" when="2004">2004</date>
			<biblScope unit="page" from="261" to="266" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">A 3d metaphor for software production visualization</title>
		<author>
			<persName><forename type="first">T</forename><surname>Panas</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Berrigan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Grundy</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Conference on Information Visualization</title>
				<imprint>
			<publisher>IEEE</publisher>
			<date type="published" when="2003">2003</date>
			<biblScope unit="page" from="314" to="319" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">3D representations for software visualization</title>
		<author>
			<persName><forename type="first">A</forename><surname>Marcus</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Feng</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">I</forename><surname>Maletic</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">ACM International Symposium on Software Visualization</title>
				<imprint>
			<date type="published" when="2003">2003</date>
			<biblScope unit="page" from="27" to="36" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">Visualizing software systems as cities</title>
		<author>
			<persName><forename type="first">R</forename><surname>Wettel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Lanza</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IEEE International Workshop on Visualizing Software for Understanding and Analysis</title>
				<imprint>
			<date type="published" when="2007">2007</date>
			<biblScope unit="page" from="92" to="99" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">Codecity: 3d visualization of large-scale software</title>
		<author>
			<persName><forename type="first">R</forename><surname>Wettel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Lanza</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Companion of the 30th International Conference on Software Engineering</title>
				<imprint>
			<publisher>ACM</publisher>
			<date type="published" when="2008">2008</date>
			<biblScope unit="page" from="921" to="922" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">Visual exploration of largescale system evolution</title>
		<author>
			<persName><forename type="first">R</forename><surname>Wettel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Lanza</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE Working Conference on Reverse Engineering</title>
		<imprint>
			<biblScope unit="page" from="219" to="228" />
			<date type="published" when="2008">2008</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">ExplorViz: visual runtime behavior analysis of enterprise application landscapes</title>
		<author>
			<persName><forename type="first">F</forename><surname>Fittkau</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Roth</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Hasselbring</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">European Conference on Information Systems</title>
				<imprint>
			<date type="published" when="2015">2015</date>
			<biblScope unit="page" from="1" to="13" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">Exploring software cities in virtual reality</title>
		<author>
			<persName><forename type="first">F</forename><surname>Fittkau</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Krause</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Hasselbring</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IEEE Working Conference on Software Visualization</title>
				<imprint>
			<date type="published" when="2015">2015</date>
			<biblScope unit="page" from="130" to="134" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<analytic>
		<title level="a" type="main">Codemetropolis: Eclipse over the city of source code</title>
		<author>
			<persName><forename type="first">G</forename><forename type="middle">O</forename><surname>Balogh</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Szabolics</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Beszédes</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IEEE International Working Conference on Source Code Analysis and Manipulation</title>
				<imprint>
			<date type="published" when="2015">2015</date>
			<biblScope unit="page" from="271" to="276" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">Cityvr: Gameful software visualization</title>
		<author>
			<persName><forename type="first">L</forename><surname>Merino</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Ghafari</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Anslow</surname></persName>
		</author>
		<author>
			<persName><forename type="first">O</forename><surname>Nierstrasz</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IEEE International Conference on Software Maintenance and Evolution (TD Track)</title>
				<imprint>
			<date type="published" when="2017">2017</date>
			<biblScope unit="page" from="633" to="637" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<analytic>
		<title level="a" type="main">Overcoming issues of 3d software visualization through immersive augmented reality</title>
		<author>
			<persName><forename type="first">L</forename><surname>Merino</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Bergel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">O</forename><surname>Nierstrasz</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IEEE Working Conference on Software Visualization</title>
				<imprint>
			<date type="published" when="2018">2018</date>
			<biblScope unit="page" from="54" to="64" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<analytic>
		<title level="a" type="main">Evocells -A treemap layout algorithm for evolving tree data</title>
		<author>
			<persName><forename type="first">W</forename><surname>Scheibel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Weyand</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Döllner</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Joint Conference on Computer Vision, Imaging and Computer Graphics Theory and Applications</title>
				<imprint>
			<date type="published" when="2018">2018</date>
			<biblScope unit="page" from="273" to="280" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b20">
	<analytic>
		<title level="a" type="main">Perfvis: Pervasive visualization in immersive augmented reality for performance awareness</title>
		<author>
			<persName><forename type="first">L</forename><surname>Merino</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Hess</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Bergel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">O</forename><surname>Nierstrasz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Weiskopf</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">ACM/SPEC International Conference on Performance Engineering</title>
				<imprint>
			<date type="published" when="2019">2019</date>
			<biblScope unit="page" from="13" to="16" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b21">
	<analytic>
		<title level="a" type="main">Advanced visual metaphors and techniques for software maps</title>
		<author>
			<persName><forename type="first">D</forename><surname>Limberger</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Scheibel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Döllner</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Trapp</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Symposium on Visual Information Communication and Interaction</title>
				<imprint>
			<date type="published" when="2019">2019</date>
			<biblScope unit="page" from="1" to="8" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b22">
	<analytic>
		<title level="a" type="main">Visualization of software architectures in virtual reality and augmented reality</title>
		<author>
			<persName><forename type="first">A</forename><surname>Schreiber</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Nafeie</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Baranowski</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Seipel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Misiak</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE Aerospace Conference</title>
		<imprint>
			<biblScope unit="page" from="1" to="12" />
			<date type="published" when="2019">2019</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b23">
	<analytic>
		<title level="a" type="main">How EvoStreets are observed in three-dimensional and virtual reality environments</title>
		<author>
			<persName><forename type="first">M</forename><surname>Steinbeck</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Koschke</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M.-O</forename><surname>Rüdel</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IEEE International Conference on Software Analysis, Evolution and Reengineering</title>
				<imprint>
			<date type="published" when="2020">2020</date>
			<biblScope unit="page" from="332" to="343" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b24">
	<analytic>
		<title level="a" type="main">Towards collaborative and dynamic software visualization in vr</title>
		<author>
			<persName><forename type="first">F</forename><surname>Jung</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Dashuber</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Philippsen</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the International Joint Conference on Computer Vision, Imaging and Computer Graphics Theory and Applications</title>
				<meeting>the International Joint Conference on Computer Vision, Imaging and Computer Graphics Theory and Applications</meeting>
		<imprint>
			<publisher>SciTePress</publisher>
			<date type="published" when="2020">2020</date>
			<biblScope unit="volume">3</biblScope>
			<biblScope unit="page" from="149" to="156" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b25">
	<analytic>
		<title level="a" type="main">A layered software city for dependency visualization</title>
		<author>
			<persName><forename type="first">V</forename><surname>Dashuber</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Philippsen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Weigend</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">ternational Joint Conference on Computer Vision, Imaging and Computer Graphics Theory and Applications</title>
				<imprint>
			<publisher>SciTePress</publisher>
			<date type="published" when="2021">2021</date>
			<biblScope unit="volume">3</biblScope>
			<biblScope unit="page" from="15" to="26" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b26">
	<analytic>
		<title level="a" type="main">Representing development history in software cities</title>
		<author>
			<persName><forename type="first">F</forename><surname>Steinbrückner</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Lewerentz</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">ACM International Symposium on Software Visualization</title>
				<imprint>
			<publisher>ACM</publisher>
			<date type="published" when="2010">2010</date>
			<biblScope unit="page" from="193" to="202" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b27">
	<analytic>
		<title level="a" type="main">Software visualization in software maintenance, reverse engineering, and reengineering: A research survey</title>
		<author>
			<persName><forename type="first">R</forename><surname>Koschke</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal on Software Maintenance and Evolution</title>
		<imprint>
			<biblScope unit="volume">15</biblScope>
			<biblScope unit="page" from="87" to="109" />
			<date type="published" when="2003">2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b28">
	<analytic>
		<title level="a" type="main">Hierarchical edge bundles: Visualization of adjacency relations in hierarchical data</title>
		<author>
			<persName><forename type="first">D</forename><forename type="middle">H R</forename><surname>Holten</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE Transactions on Visualization and Computer Graphics</title>
		<imprint>
			<biblScope unit="volume">12</biblScope>
			<biblScope unit="page" from="741" to="748" />
			<date type="published" when="2006">2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b29">
	<monogr>
		<author>
			<persName><forename type="first">D</forename><forename type="middle">H R</forename><surname>Holten</surname></persName>
		</author>
		<title level="m">Visualization of graphs and trees for software analysis</title>
				<imprint>
			<date type="published" when="2009">2009</date>
		</imprint>
		<respStmt>
			<orgName>Technical University of Delft</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Ph.D. thesis</note>
</biblStruct>

<biblStruct xml:id="b30">
	<monogr>
		<title level="m" type="main">Visualization of Execution Traces and its Application to Software Maintenance</title>
		<author>
			<persName><forename type="first">J</forename><surname>Bohnet</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2010">2010</date>
		</imprint>
		<respStmt>
			<orgName>Hasso-Plattner-Institut ; Universität Potsdam</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Dissertation</note>
</biblStruct>

<biblStruct xml:id="b31">
	<monogr>
		<ptr target="https://softvis3d.com" />
		<title level="m">SoftVis3D, Softvis3d website</title>
				<imprint>
			<date type="published" when="2021-06">2021. 30-June-2021</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b32">
	<analytic>
		<title level="a" type="main">Locomotion mode affects the updating of objects encountered during travel: The contribution of vestibular and proprioceptive inputs to path integration, Presence: Teleoper</title>
		<author>
			<persName><forename type="first">S</forename><forename type="middle">S</forename><surname>Chance</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Gaunet</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">C</forename><surname>Beall</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">M</forename><surname>Loomis</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Virtual Environ</title>
		<imprint>
			<biblScope unit="volume">7</biblScope>
			<biblScope unit="page" from="168" to="178" />
			<date type="published" when="1998">1998</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b33">
	<analytic>
		<title level="a" type="main">Maintaining spatial orientation during travel in an immersive virtual environment, Presence: Teleoper</title>
		<author>
			<persName><forename type="first">D</forename><forename type="middle">A</forename><surname>Bowman</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><forename type="middle">T</forename><surname>Davis</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><forename type="middle">F</forename><surname>Hodges</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">N</forename><surname>Badre</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Virtual Environ</title>
		<imprint>
			<biblScope unit="volume">8</biblScope>
			<biblScope unit="page" from="618" to="631" />
			<date type="published" when="1999">1999</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b34">
	<analytic>
		<title level="a" type="main">Spatial updating in virtual reality: the sufficiency of visual information</title>
		<author>
			<persName><forename type="first">B</forename><forename type="middle">E</forename><surname>Riecke</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><forename type="middle">W</forename><surname>Cunningham</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><forename type="middle">H</forename><surname>Bülthoff</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Psychological Research</title>
		<imprint>
			<biblScope unit="volume">71</biblScope>
			<biblScope unit="page" from="298" to="313" />
			<date type="published" when="2007">2007</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b35">
	<analytic>
		<title level="a" type="main">Virtual reality: An instructional medium for visual-spatial tasks</title>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">W</forename><surname>Regian</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><forename type="middle">L</forename><surname>Shebilske</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">M</forename><surname>Monk</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal of Communication</title>
		<imprint>
			<biblScope unit="volume">42</biblScope>
			<biblScope unit="page" from="136" to="149" />
			<date type="published" when="1992">1992</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b36">
	<analytic>
		<title level="a" type="main">Visualising a software system as a city through virtual reality</title>
		<author>
			<persName><forename type="first">N</forename><surname>Capece</surname></persName>
		</author>
		<author>
			<persName><forename type="first">U</forename><surname>Erra</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Romano</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Scanniello</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Augmented Reality, Virtual Reality, and Computer Graphics</title>
				<editor>
			<persName><forename type="first">L</forename><forename type="middle">T</forename><surname>De Paolis</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">P</forename><surname>Bourdot</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">A</forename><surname>Mongelli</surname></persName>
		</editor>
		<meeting><address><addrLine>Cham</addrLine></address></meeting>
		<imprint>
			<publisher>Springer International Publishing</publisher>
			<date type="published" when="2017">2017</date>
			<biblScope unit="page" from="319" to="327" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b37">
	<analytic>
		<title level="a" type="main">Visualizing object-oriented software in virtual reality</title>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">I</forename><surname>Maletic</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Leigh</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Marcus</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Dunlap</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Workshop on Program Comprehension</title>
				<imprint>
			<date type="published" when="2001">2001</date>
			<biblScope unit="page" from="26" to="35" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b38">
	<analytic>
		<title level="a" type="main">Communicating software architecture using a unified single-view visualization</title>
		<author>
			<persName><forename type="first">T</forename><surname>Panas</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Epperly</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Quinlan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Saebjornsen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Vuduc</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IEEE International Conference on Engineering Complex Computer Systems</title>
				<imprint>
			<publisher>IEEE</publisher>
			<date type="published" when="2007">2007</date>
			<biblScope unit="page" from="217" to="228" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b39">
	<analytic>
		<title level="a" type="main">Code park: A new 3d code visualization tool</title>
		<author>
			<persName><forename type="first">P</forename><surname>Khaloo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Maghoumi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Taranta</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Bettner</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Laviola</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IEEE Working Conference on Software Visualization</title>
				<imprint>
			<publisher>IEEE</publisher>
			<date type="published" when="2017">2017</date>
			<biblScope unit="page" from="43" to="53" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b40">
	<analytic>
		<title level="a" type="main">On the impact of the medium in the effectiveness of 3d software visualizations</title>
		<author>
			<persName><forename type="first">L</forename><surname>Merino</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Fuchs</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Blumenschein</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Anslow</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Ghafari</surname></persName>
		</author>
		<author>
			<persName><forename type="first">O</forename><surname>Nierstrasz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Behrisch</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><forename type="middle">A</forename><surname>Keim</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IEEE Working Conference on Software Visualization</title>
				<imprint>
			<publisher>IEEE</publisher>
			<date type="published" when="2017">2017</date>
			<biblScope unit="page" from="11" to="21" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b41">
	<analytic>
		<title level="a" type="main">Interactive visualization of software components with virtual reality headsets</title>
		<author>
			<persName><forename type="first">A</forename><surname>Schreiber</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Brüggemann</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IEEE Working Conference on Software Visualization</title>
				<imprint>
			<publisher>IEEE</publisher>
			<date type="published" when="2017">2017</date>
			<biblScope unit="page" from="119" to="123" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b42">
	<analytic>
		<title level="a" type="main">Synchrovis: 3d visualization of monitoring traces in the city metaphor for analyzing concurrency</title>
		<author>
			<persName><forename type="first">J</forename><surname>Waller</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Wulf</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Fittkau</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Döhring</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Hasselbring</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IEEE Working Conference on Software Visualization</title>
				<imprint>
			<date type="published" when="2013">2013</date>
			<biblScope unit="page" from="1" to="4" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b43">
	<analytic>
		<title level="a" type="main">Using high-rising cities to visualize performance in real-time</title>
		<author>
			<persName><forename type="first">K</forename><surname>Ogami</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">G</forename><surname>Kula</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Hata</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Ishio</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Matsumoto</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Software Visualization (VIS-SOFT), 2017 IEEE Working Conference on</title>
				<imprint>
			<publisher>IEEE</publisher>
			<date type="published" when="2017">2017</date>
			<biblScope unit="page" from="33" to="42" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b44">
	<analytic>
		<title level="a" type="main">Dynamic analysis of software systems through virtual reality</title>
		<author>
			<persName><forename type="first">F</forename><surname>Fernandes</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><forename type="middle">S</forename><surname>Rodrigues</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Werner</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Symposium on Virtual and Augmented Reality</title>
				<imprint>
			<date type="published" when="2017">2017</date>
			<biblScope unit="page" from="331" to="340" />
		</imprint>
	</monogr>
	<note>In Spanish</note>
</biblStruct>

<biblStruct xml:id="b45">
	<analytic>
		<title level="a" type="main">Navigating large-scale virtual environments: what differences occur between helmet-mounted and desk-top displays?</title>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">A</forename><surname>Ruddle</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><forename type="middle">J</forename><surname>Payne</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><forename type="middle">M</forename><surname>Jones</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Presence: Teleoperators &amp; Virtual Environments</title>
		<imprint>
			<biblScope unit="volume">8</biblScope>
			<biblScope unit="page" from="157" to="168" />
			<date type="published" when="1999">1999</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b46">
	<analytic>
		<title level="a" type="main">Head-mounted display versus desktop for 3d navigation in virtual reality: A user study</title>
		<author>
			<persName><forename type="first">B</forename><surname>Sousa Santos</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Dias</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Pimentel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J.-W</forename><surname>Baggerman</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Ferreira</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Silva</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Madeira</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Multimedia Tools and Applications</title>
		<imprint>
			<biblScope unit="volume">41</biblScope>
			<biblScope unit="page" from="161" to="181" />
			<date type="published" when="2009">2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b47">
	<analytic>
		<title level="a" type="main">Effects of proprioceptive feedback and environmental characteristics on spatial learning in virtual environments</title>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">A</forename><surname>Ruddle</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Péruch</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">International Journal of Human-Computer Studies</title>
		<imprint>
			<biblScope unit="volume">60</biblScope>
			<biblScope unit="page" from="299" to="326" />
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b48">
	<analytic>
		<title level="a" type="main">An exploratory study of co-located collaborative visual analytics around a tabletop display</title>
		<author>
			<persName><forename type="first">P</forename><surname>Isenberg</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Fisher</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">R</forename><surname>Morris</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Inkpen Quinn</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Czerwinski</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE Symposium on Visual Analytics Science and Technology</title>
		<imprint>
			<biblScope unit="page" from="179" to="186" />
			<date type="published" when="2010">2010</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b49">
	<analytic>
		<title level="a" type="main">Co-located collaborative visual analytics around a tabletop display</title>
		<author>
			<persName><forename type="first">P</forename><surname>Isenberg</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Fisher</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><forename type="middle">A</forename><surname>Paul</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">R</forename><surname>Morris</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Inkpen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Czerwinski</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE Transactions on Visualization and Computer Graphics</title>
		<imprint>
			<biblScope unit="volume">18</biblScope>
			<biblScope unit="page" from="689" to="702" />
			<date type="published" when="2012">2012</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b50">
	<analytic>
		<title level="a" type="main">Sourcevis: Collaborative software visualization for colocated environments</title>
		<author>
			<persName><forename type="first">C</forename><surname>Anslow</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Marshall</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Noble</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Biddle</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IEEE Working Conference on Software Visualization</title>
				<imprint>
			<date type="published" when="2013">2013</date>
			<biblScope unit="page" from="1" to="10" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b51">
	<analytic>
		<title level="a" type="main">Reflections on collaborative software visualization in co-located environments</title>
		<author>
			<persName><forename type="first">C</forename><surname>Anslow</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IEEE International Conference on Software Maintenance and Evolution</title>
				<imprint>
			<date type="published" when="2014">2014</date>
			<biblScope unit="page" from="645" to="650" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b52">
	<analytic>
		<title level="a" type="main">Information visualisation utilising 3d computer game engines case study: A source code comprehension tool</title>
		<author>
			<persName><forename type="first">B</forename><surname>Kot</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Wuensche</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Grundy</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Hosking</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">ACM SIGCHI New Zealand Chapter&apos;s International Conference on Computer-Human Interaction: Making CHI Natural</title>
				<imprint>
			<date type="published" when="2005">2005</date>
			<biblScope unit="page" from="53" to="60" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b53">
	<analytic>
		<title level="a" type="main">A flexible framework to support collaborative software evolution analysis</title>
		<author>
			<persName><forename type="first">M</forename><surname>D'ambros</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Lanza</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">European Conference on Software Maintenance and Reengineering</title>
				<imprint>
			<date type="published" when="2008">2008</date>
			<biblScope unit="page" from="3" to="12" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b54">
	<analytic>
		<title level="a" type="main">Distributed and collaborative software evolution analysis with Churrasco</title>
		<author>
			<persName><forename type="first">M</forename><surname>D'ambros</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Lanza</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Science of Computer Programming</title>
		<imprint>
			<biblScope unit="volume">75</biblScope>
			<biblScope unit="page" from="276" to="287" />
			<date type="published" when="2010">2010</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b55">
	<analytic>
		<title level="a" type="main">Communicating software architecture using a unified single-view visualization</title>
		<author>
			<persName><forename type="first">T</forename><surname>Panas</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Epperly</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Quinlan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Saebjornsen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Vuduc</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IEEE International Conference on Engineering Complex Computer Systems</title>
				<imprint>
			<date type="published" when="2007">2007</date>
			<biblScope unit="page" from="217" to="228" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b56">
	<analytic>
		<title level="a" type="main">Interactive exploration of collaborative softwaredevelopment data</title>
		<author>
			<persName><forename type="first">E</forename><surname>Stroulia</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Matichuk</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Rocha</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Bauer</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IEEE International Conference on Software Maintenance</title>
				<imprint>
			<date type="published" when="2013">2013</date>
			<biblScope unit="page" from="504" to="507" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b57">
	<monogr>
		<title level="m" type="main">Hands-On: Experiencing Software Architecture in Virtual Reality</title>
		<author>
			<persName><forename type="first">C</forename><surname>Zirkelbach</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Krause</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Hasselbring</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2019">2019</date>
		</imprint>
		<respStmt>
			<orgName>Christian-Albrechts-Universität zu Kiel</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Research Report 1809</note>
</biblStruct>

<biblStruct xml:id="b58">
	<analytic>
		<title level="a" type="main">GXL: toward a standard exchange format</title>
		<author>
			<persName><forename type="first">R</forename><surname>Holt</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Winter</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Schürr</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IEEE Working Conference on Reverse Engineering</title>
				<imprint>
			<date type="published" when="2000">2000</date>
			<biblScope unit="page" from="162" to="171" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b59">
	<monogr>
		<author>
			<persName><forename type="first">C</forename><forename type="middle">G</forename><surname>Jung</surname></persName>
		</author>
		<title level="m">Gesammelte Werke, Band 6: Psychologische Typen</title>
				<imprint>
			<publisher>Walter Verlag</publisher>
			<date type="published" when="1995">1995</date>
			<biblScope unit="page">474</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b60">
	<analytic>
		<title level="a" type="main">Program comprehension in virtual reality</title>
		<author>
			<persName><forename type="first">J</forename><surname>Dominic</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Tubre</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Houser</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Ritter</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Kunkel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Rodeghero</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 28th International Conference on Program Comprehension</title>
				<meeting>the 28th International Conference on Program Comprehension</meeting>
		<imprint>
			<date type="published" when="2020">2020</date>
			<biblScope unit="page" from="391" to="395" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b61">
	<monogr>
		<author>
			<persName><forename type="first">W</forename><surname>Macnamara</surname></persName>
		</author>
		<title level="m">Evaluating the effectiveness of the gestalt principles of perceptual observation for virtual reality user interface design</title>
				<imprint>
			<date type="published" when="2017">2017</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b62">
	<analytic>
		<title level="a" type="main">Mirror neurons and mirror systems in monkeys and humans</title>
		<author>
			<persName><forename type="first">M</forename><surname>Fabbri-Destro</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Rizzolatti</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Physiology</title>
		<imprint>
			<biblScope unit="volume">23</biblScope>
			<biblScope unit="page" from="171" to="179" />
			<date type="published" when="2008">2008</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b63">
	<analytic>
		<title level="a" type="main">The empathic brain: how, when and why?</title>
		<author>
			<persName><forename type="first">F</forename><forename type="middle">De</forename><surname>Vignemont</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Singer</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Trends in cognitive sciences</title>
		<imprint>
			<biblScope unit="volume">10</biblScope>
			<biblScope unit="page" from="435" to="441" />
			<date type="published" when="2006">2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b64">
	<analytic>
		<title level="a" type="main">Why some humanoid faces are perceived more positively than others: Effects of human-likeness and task</title>
		<author>
			<persName><forename type="first">A</forename><surname>Prakash</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><forename type="middle">A</forename><surname>Rogers</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">International Journal of Social Robotics</title>
		<imprint>
			<biblScope unit="volume">7</biblScope>
			<biblScope unit="page" from="309" to="331" />
			<date type="published" when="2015">2015</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b65">
	<analytic>
		<title level="a" type="main">The uncanny valley [from the field</title>
		<author>
			<persName><forename type="first">M</forename><surname>Mori</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><forename type="middle">F</forename><surname>Macdorman</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Kageki</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE Robotics &amp; Automation Magazine</title>
		<imprint>
			<biblScope unit="volume">19</biblScope>
			<biblScope unit="page" from="98" to="100" />
			<date type="published" when="2012">2012</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b66">
	<analytic>
		<title level="a" type="main">Clustering paths with dynamic time warping</title>
		<author>
			<persName><forename type="first">R</forename><surname>Koschke</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Steinbeck</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IEEE Working Conference on Software Visualization</title>
				<imprint>
			<date type="published" when="2020">2020</date>
			<biblScope unit="page" from="89" to="99" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b67">
	<analytic>
		<title level="a" type="main">Comparing the EvoStreet visualization technique in two-and three-dimensional environments-a controlled experiment</title>
		<author>
			<persName><forename type="first">M</forename><surname>Steinbeck</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Koschke</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M.-O</forename><surname>Rüdel</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Conference on Program Comprehension</title>
				<imprint>
			<date type="published" when="2019">2019</date>
			<biblScope unit="page" from="231" to="242" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b68">
	<analytic>
		<title level="a" type="main">A controlled experiment on spatial orientation in VR-based software cities</title>
		<author>
			<persName><forename type="first">M</forename><surname>Rüdel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Ganser</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Koschke</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IEEE Working Conference on Software Visualization</title>
				<imprint>
			<date type="published" when="2018">2018</date>
			<biblScope unit="page" from="21" to="31" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b69">
	<analytic>
		<title level="a" type="main">Hierarchical reflexion models</title>
		<author>
			<persName><forename type="first">R</forename><surname>Koschke</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Simon</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IEEE Working Conference on Reverse Engineering</title>
				<imprint>
			<date type="published" when="2003">2003</date>
			<biblScope unit="page" from="36" to="45" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b70">
	<analytic>
		<title level="a" type="main">Incremental reflexion analysis</title>
		<author>
			<persName><forename type="first">R</forename><surname>Koschke</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal on Software Maintenance and Evolution</title>
		<imprint>
			<biblScope unit="volume">25</biblScope>
			<biblScope unit="page" from="601" to="637" />
			<date type="published" when="2013">2013</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b71">
	<analytic>
		<title level="a" type="main">Adopting conversational interfaces for exploring OSGibased software architectures in augmented reality</title>
		<author>
			<persName><forename type="first">P</forename><surname>Seipel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Stock</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Santhanam</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Baranowski</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Hochgeschwender</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Schreiber</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IEEE/ACM 1st International Workshop on Bots in Software Engineering (BotSE)</title>
				<imprint>
			<date type="published" when="2019">2019</date>
			<biblScope unit="page" from="20" to="21" />
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
