Anke Lehmann
email: anke.lehmann@tu-dresden.de

Oliver Staadt
email: oliver.staadt@uni-rostock.de

Evaluation of Distance-aware Bimanual Manipulation Techniques for Large High-Resolution Displays

Keywords: Large display, interaction technique, 2D manipulation, distance, mapping factor, control-display gain, user study

In this paper we present the approach of interaction scaling. It assists users during their current tasks by adjusting interactivity depending on the user's distance to large high-resolution displays. The mapping method of interaction scaling combines the calculation of a distance-adjusted mapping factor with a manual/automatic change of precision levels. In our user study we evaluated how different accuracies, user preferences and physical navigation affect the user performance of distance-aware manipulation techniques. We used symmetric/asymmetric bimanual manipulation techniques that were evaluated with interaction scaling and a direct mapping approach. Further, we differentiated between coarse-grained and fine-grained accuracy of manipulation tasks. The study identified that interaction scaling improves user performance for very precise manipulation tasks. The participants were able to manipulate objects more accurately with asymmetric technique than with symmetric technique. Most participants preferred a manual switching; however, the tasks could be solved equally well with automatic switching by half of them.

Introduction

Nowadays, large high-resolution displays (LHRDs) are used in wide application areas like product engineering, geospatial imaging or scientific visualization. They combine a large physical display area with high pixel density. In addition, LHRDs change the way users perceive and interact with information as is known from small displays [START_REF] Andrews | Information visualization on large, highresolution displays: issues, challenges, and opportunities[END_REF]. This has resulted in modifications of user behavior and interaction possibility. We must consider these aspects at information visualization and application of interaction techniques in LHRD environments. For instance, physical navigation provides a natural behavior for user interaction. This means users step forwards or backwards in front of a large display to perceive detailed information or the global context of information. Similarly to visual percep-tion tasks, different interaction tasks are performed at close-up range or at distant. These tasks require different precision and sensitivity of user input.

On the one hand, there are tasks which require fast and imprecise user input such as object movements across large distances with less effort. On the other hand, some tasks need precise and slow user input like exact object positioning despite of natural hand tremor. To overcome the human precision limit a control-display gain or mapping factor is used. For instance, a low mapping factor generates slower pointer motions in display space than the actual user input in motor space, and conversely with a high mapping factor. In general, different mapping factors were used to map the user input to coarse-grained or fine-grained virtual interaction. Therefore, we need methods to switch between these precision levels during user interaction.

Our approach of interaction scaling assists the user during his current activity by adjusting the precision of interaction depending on the user's distance to the display. This work is an extension of interaction scaling presented in [START_REF] Lehmann | Distance-Aware Bimanual Interaction for Large High Resolution Displays[END_REF], in which we investigate how the user benefits from a distance-aware manipulation technique. We improved the calculation of a distance-adjusted mapping factor with a switching method of precision level. The automatic change of precision levels uses an implicit granularity control via task-based and distance-adapted mapping factor. In contrast, the manual switching of precision levels uses an explicit switching between distance-adapted mapping factor and one-to-one mapping. We applied the extended interaction scaling approach to bimanual manipulation techniques; a symmetric technique which allows performing the manipulation tasks simultaneously, while the asymmetric technique differentiates between manipulation tasks. The switching methods and manipulation techniques use different interaction metaphors. For instance the manual switching and symmetric technique seems to be easy to use for novice user, whereas the others more suitable for experts. In our user study we evaluated how different interaction accuracies, user preferences and behavior of physical navigation affect the user performance of distance-aware manipulation techniques.

The contributions of our work are applying interaction scaling with task-based automatic switching of precision levels, evaluation of distance-aware manipulation techniques, and discussion of findings during distance-aware manipulation.

Related Work

Previous studies showed that LHRDs impact positively user performance on visualization and manipulation tasks [START_REF] Ball | Move to improve: promoting physical navigation to increase user performance with large displays[END_REF][START_REF] Czerwinski | Toward characterizing the productivity benefits of very large displays[END_REF] and influence the user's information perception and their interaction [START_REF] Ball | The effects of peripheral vision and physical navigation on large scale visualization[END_REF][START_REF] Tan | Physically large displays improve performance on spatial tasks[END_REF]. Hence, large displays require interaction techniques that support different precision of user input. The challenge is to switch between fast and precise interaction tasks that require different speed and accuracy of user input. There are several approaches that vary the mapping factor during interaction, like target-oriented techniques [START_REF] Blanch | Semantic pointing: improving target acquisition with control-display ratio adaptation[END_REF][START_REF] Grossman | The bubble cursor: enhancing target acquisition by dynamic resizing of the cursor's activation area[END_REF], velocity-based techniques [START_REF] Casiez | The impact of control-display gain on user performance in pointing tasks[END_REF][START_REF] Collomb | Improving drag-and-drop on wall-size displays[END_REF][START_REF] Esakia | Large display interaction via multiple acceleration curves and multifinger pointer control[END_REF][START_REF] Frees | Precise and rapid interaction through scaled manipulation in immersive virtual environments[END_REF][START_REF] Nancel | Highprecision pointing on large wall displays using small handheld devices[END_REF][START_REF] König | Adaptive pointingdesign and evaluation of a precision enhancing technique for absolute pointing devices[END_REF][START_REF] Kopper | Increasing the precision of distant pointing for large high-resolution displays[END_REF], and manual-switching methods [START_REF] Forlines | Hybridpointing: fluid switching between absolute and relative pointing with a direct input device[END_REF][START_REF] Nancel | Highprecision pointing on large wall displays using small handheld devices[END_REF][START_REF] Vogel | Distant freehand pointing and clicking on very large, high resolution displays[END_REF]. However, using target-oriented methods we need knowledge about the virtual environment. Further, velocity-based approaches require device-specific calcu-lations because of different input modalities (e.g., touchpad, laser pointer, mouse). Esakia et al. [START_REF] Esakia | Large display interaction via multiple acceleration curves and multifinger pointer control[END_REF] used a velocity-based touchpad in combination with an explicit switching between multiple acceleration curves by varying the number of fingers to control the cursor pointer. Thus, a larger range of dynamic mapping factors is supported.

However, using the user's distance in front of a LHRD allows to adjust the mapping factor dynamically and device-independent. Such distance-aware techniques adjust the precision of interaction according to the user's current position [START_REF] Cao | Visionwand: interaction techniques for large displays using a passive wand tracked in 3d[END_REF][START_REF] Jakobsen | Information visualization and proxemics: Design opportunities and empirical findings[END_REF][START_REF] Peck | A multiscale interaction technique for large, highresolution displays[END_REF][START_REF] Shoemaker | Body-centric interaction techniques for very large wall displays[END_REF][START_REF] Vogel | Interactive public ambient displays: Transitioning from implicit to explicit, public to personal, interaction with multiple users[END_REF]. For instance, the interactive public ambient display [START_REF] Vogel | Interactive public ambient displays: Transitioning from implicit to explicit, public to personal, interaction with multiple users[END_REF] utilizes the user's distance to control public and personal information presentation. In [START_REF] Shoemaker | Body-centric interaction techniques for very large wall displays[END_REF] the user distance controls a virtual light position that affects the user's shadow cast and the positioning of virtual tools during interaction. In multiscale interaction [START_REF] Peck | A multiscale interaction technique for large, highresolution displays[END_REF] the multiscale cursor is changed based on the user's position relative to the display and re-scales the displayed data interactively.

Furthermore, LHRDs attract users to move within the physical space in front of the display (physical navigation). Related work showed that using physical navigation increases user performance on navigation and visualization tasks [START_REF] Andrews | Information visualization on large, highresolution displays: issues, challenges, and opportunities[END_REF][START_REF] Ball | The effects of peripheral vision and physical navigation on large scale visualization[END_REF][START_REF] Ball | Move to improve: promoting physical navigation to increase user performance with large displays[END_REF][START_REF] Bezerianos | Perception of visual variables on tiled wall-sized displays for information visualization applications[END_REF][START_REF] Jakobsen | Information visualization and proxemics: Design opportunities and empirical findings[END_REF]. Jakobsen et al. [START_REF] Jakobsen | Information visualization and proxemics: Design opportunities and empirical findings[END_REF] investigated proxemics for visualization tasks. For instance, the physical sense to abstract data was increased by using proxemics and the user's effort was reduced with proxemic-based zooming and aggregation. In [START_REF] Ballendat | Proxemic interaction: Designing fora proximity and orientation-aware environment[END_REF] the authors discussed the concept of proxemic interactions in a smart living environment, for example to control a media player by implicit or explicit spatial user movements.

In previous work the user's distance was considered for selection and navigation tasks [START_REF] Ball | Move to improve: promoting physical navigation to increase user performance with large displays[END_REF][START_REF] Jakobsen | Information visualization and proxemics: Design opportunities and empirical findings[END_REF][START_REF] Kopper | Increasing the precision of distant pointing for large high-resolution displays[END_REF][START_REF] Peck | A multiscale interaction technique for large, highresolution displays[END_REF]. We assume that physical navigation also increases user performance on manipulation tasks. Our objective is to find a distance-aware adjustment of interaction precision by using physical navigation in LHRD environments. Furthermore, the distance-aware adjustment should be almost device-independent.

Distance-aware Interaction

As mentioned above this paper describes a further development of our interaction scaling approach (see [START_REF] Lehmann | Distance-Aware Bimanual Interaction for Large High Resolution Displays[END_REF]). We implemented a bimanual symmetric and asymmetric interaction technique that enables users to manipulate virtual content with the suitable accuracy in large display environments. In a preliminary study [START_REF] Lehmann | Distance-Aware Bimanual Interaction for Large High Resolution Displays[END_REF] we evaluated these techniques with a distance-adapted mapping method. We used continuous and discrete distance-adjusted mapping factors with pure relative mapping and compared it with an absolute (1:1) mapping. The results indicated that a distance-adapted continuous mapping factor is more suitable than discrete mapping factors. Furthermore, we investigated an interaction accuracy of 5-3 mm. Subjects were able to manipulate objects easily with absolute mapping, because the natural hand tremor was manageable. Moreover, the drift effect of relative mapping was difficult to compensate by users. We observed that interaction scaling had a positive impact on user performance (e.g., less object selection) but we did not find statistical significant results.

Based on these results we integrated a switching method to interaction scaling. We implemented a task-based automatic switching to reduce the drift effect. Some subjects requested fast object manipulation at close-up range of the display, thus, we implemented a manual switching method to support user preferences. Furthermore, we adjusted the continuous mapping functions to support user interaction with high accuracy.

2D Manipulation Techniques

In this section we shortly describe the used bimanual 2D manipulation techniques which support the fundamental manipulation tasks of selection, positioning, scaling, and rotation. We utilize an indirect interaction technique to interact from various distances. The manipulation techniques use a ray-casting technique to determine the virtual cursors of the corresponding interaction devices. We apply only the position data of the input devices (3-DOF) to calculate the virtual cursor position by using an orthographic projection. Thus, the hand tremor is invisible at the corresponding virtual cursors. The object manipulation is performed in a similar way to common two finger multitouch gestures.

The asymmetric manipulation technique differentiates between manipulation tasks which are performed with the dominant hand (i.e., selection and positioning) and the non-dominant hand (i.e., rotation and scaling). At selection the dominant hand's cursor is moved onto the virtual object and the selection button is pressed (manipulation start). The selected object is translated according the movements of the dominant hand. If the selection button is released the object is placed at the current cursor's position (manipulation end). To scale or rotate an object the user switches the interaction mode by pressing the manipulation button with the non-dominant hand. During the scale-rotate mode (SR-mode) the dominant hand's cursor is fixed and the object's positioning is disabled. The object can be scaled down or up by constricting or expanding the distance between the hands' cursors. To rotate the object the user changes the angle between both cursors. If the user releases the manipulation button, the SR-mode is disabled and the positioning mode is enabled again.

Guiard's framework [START_REF] Guiard | Asymmetric division of labor in human skilled bimanual action: The kinematic chain as a model[END_REF] suggests that users perform fine-grained interaction tasks with their dominant hand, whereas they use their non-dominant hand for coarsegrained interaction tasks. Here, the dominant hand is used for the selection task which uses an absolute mapping (1:1) and requires precise motions. By contrast, the rotation and scaling task are supported by a distance-adjusted mapping factor why the nondominant hand is used for it.

The symmetric manipulation technique uses an additional midpoint cursor between both hands' cursors to interact with virtual objects. For the selection task the midpoint cursor is moved onto the virtual object and the selection button is pressed with the dominant hand (manipulation start). The hands' cursors must be moved simultaneously according the desired direction to translate the selected object. The object can be scaled down or up by constricting or expanding the distance between the hands' cursors. At rotation task the user's hands are moved like a steering wheel. The selected object is placed on the current position of the mid-point cursor when the selection button is released. Using the symmetric technique the manipulation tasks are performed simultaneously.

Interaction Scaling

Interaction scaling defines the distance-adjusted precision of user input based on the user's physical navigation in front of a LHRD. With a distance-adjusted mapping factor we calculate the virtual motions (display pointer) based on the user's physical motions (input device) and the user's current display distance. Therefore, we use the dimensions of the physical interaction space in front of the display wall and define special interaction ranges. In addition, these interaction ranges depend on the current LHRD configuration (e.g., dimension of display surface, pixel resolution, display alignment). We calculate different viewing distances to define the interaction ranges, when a fine-grained or coarse-grained interaction is appropriated.

The visual acuity is used to determine the maximum viewing distance d where a user is able to perceive objects with object size h separately [START_REF] Ware | Information Visualization: Perception for Design[END_REF]. By using the formula of visual angle θ (Eq. 1) we can calculate the viewing distance d pixel where a user with normal vision is able to recognize individual pixels on a LHRD with given pixel pitch pp (see Eq. 2, θ = 1/60 • ). Further, we calculate the viewing distance d block where pixels are merged by doubling of pixel pitch. At this distance fine detailed information are not anymore noticeable. We determine the viewing distance d wall where a user is able to see the entire display wall s (see Eq. 3).

θ = 2arctan ( h 2d ) (1)
d pixel = pp 2 tan( 1 120
)

(2)

d wall =√ s 2 2*(1-cos (120)) (3)
In order to calculate the distance-adapted mapping factor we use the following relative mapping functions.

Linear mapping function: A continuous linear factor is applied to the physical motions. The factor (mf) grows linearly with increasing distance to the display. At close-up and middle range a small mapping factor (mf <1) is calculated. Thus, larger physical movements are needed to perform small virtual movements. At distant range a greater mapping factor is used (mf >1) to support small physical movements which result in larger virtual movements.

Exponential mapping function:

The mapping factor decreases closer to the display. At close-up range a mapping factor less one (mf <1) is calculated which increases slowly. Thus, a very precise interaction is supported. At middle distance the mapping factor grows faster, accordingly smaller physical movements are needed to achieve the same virtual movements with increasing distance. At distant range a constant mapping factor (mf ≥1) is used to provide coarse interaction.

We use two methods to switch the precision levels between fast, imprecise interaction (absolute mapping) and slow, distance-adjusted precise interaction (relative mapping).

Manual switching: The user can switch between absolute mapping and relative mapping (e.g., pressing an additional button). Here, the user is able to deactivate the distance-adjusted precision at each distance.

Automatic switching: The selection task uses an absolute mapping and the other tasks are performed with a relative mapping, i.e., a task-based method is used. Additionally, the relative mapping is preserved if the user is within the close-up range at manipulation end (current distance ≤ close-up range). If no object is selected and the user leaves the close-up range then the relative mapping is changed to absolute mapping automatically (current distance > close-up range).

Both methods use animated cursor positions to switch from relative to absolute mapping. The automatic switching requires no additional user input in contrast to the manual switching. This is useful in environments where limited user input is available.

User Study

We conducted an experiment to evaluate our interaction scaling techniques. Our goal was to determine how different accuracies and preferences affect user performance. We assume the user performance is increased by using interaction scaling (IS). We implemented a 2D puzzle solver application to compare the user performance with and without interaction scaling. The experiment task was inspired by a children's toy (the shape sorting cube).

The accuracy represents the tolerance range when an object is manipulated correctly to fit into its target. The experiment differentiated between big targets, objects with coarse-grained accuracy (tolerance range ± 2.5 mm), and small targets, objects with fine-grained accuracy (tolerance range ± 1 mm). Therefore, we supported an interaction at distant and at close-up range. In the experiment we had three big targets (square, circle, star) and five small targets (square, circle, star, two triangles). The targets with coarse accuracy were displayed with a thicker silhouette.

Task. The participants were asked to manipulate 2D objects to fit into their corresponding 2D targets with respect to size, position, and orientation. They had to sort eight objects with the same color like the target container (see Fig. 1). The application will only verify the object adjustment if the user drops down the manipulated object onto the desired target by releasing the selection button.

In the experiment we tested the following hypotheses for both manipulation techniques:  H1: Manipulating objects is more efficient and effectively with interaction scaling than without interaction scaling.

 H2: There is a difference between big and small targets according to number of attempts and error rate. Furthermore, the error rate is lower with interaction scaling than without interaction scaling for small targets. The error rate of big targets will not be affected by interaction scaling.  H3: Using interaction scaling reduces the physiological effort.

Apparatus

The display wall is a 6 x 4 tiled display. Each tile has a resolution of 1920 x 1200 pixels (DELL 2709W), resulting in a total resolution of 11520 x 4800 pixels (55 million pixels). We used a 12-camera infrared tracking system from NaturalPoint (OptiTrack1 ) and the cameras are mounted on a suspended traverse system. The tracking volume in front of the display wall is approximately 3.8 m wide, 3.0 m deep and 3.0 m tall. The user holds a tracked Nintendo Wii Remote Controller (Wiimote) in each hand to interact with the application. We used the Wiimote's [A] button as selection button on the dominant hand (both techniques) and as manipulation button on the non-dominant hand (asymmetric technique). The Wiimote's [B] button was used as switch button on the dominant hand (both techniques). Furthermore, the user wears a tracked baseball cap to determine his current user-display distance. The test application was implemented by using the VRUI toolkit [START_REF] Kreylos | Environment-independent vr development[END_REF].

We use a tiled display wall with bezels, thus, the test application is configured in such a way that no virtual content is occluded by the bezels (see Fig. 1). The virtual objects' size was limited from 0.5 to 25.4 cm. The size limits were tested experimentally and the objects were visible from any distance. At application start the objects were generated randomly with respect to size and position without overlapping each other.

4.2

Design and Procedure

In our user study we evaluated the asymmetric technique (asymT) and the symmetric technique (symT) with two distance-adjusted mapping functions and two methods of switching the precision level as described in Section 3.2. Thus, we combined the linear mapping function (lmf) and the exponential mapping function (emf) with the automatic (auto) and the manual (manu) switching method.

Table 1. Five conditions evaluated in the experiment.

Mapping function Switching method

Linear (lmf) Exponential (emf) Static (smf) Automatic (auto)

  Manual (manu)   Without 
These four interaction scaling conditions were compared with a static mapping function without a cursor switching method (smf), see Table 1. This condition used one-to-one mapping of user motion to cursor motion (absolute mapping). In our preliminary studies this baseline condition performed well. The used mapping functions are illustrated in Fig. 2. The linear and exponential mapping functions generated similar mapping factors. However, the exponential mapping function supports more precise interaction with increasing distance than the linear function. The experiment was performed by each subject with both manipulation techniques to obtain sufficient experimental data. The techniques use different interaction meta-phors why only one technique was performed by the user on one experimental day. Therefore, the user's time exposure was limited to 45 minutes per experimental day.

Each subject performed the task with all experimental conditions (within-subject design2 ). The subject has been informed which condition was activated. The condition smf was performed as first and last trial. The switching method was performed with both distance-adjusted mapping functions, afterwards the switching method was changed to avoid mental overload (example presentation order: smf, auto-lmf, autoemf, manu-lmf, manu-emf, smf). The experimental condition was counterbalanced between the subjects.

The experiment consist of two partsa training phase and the test scenarios (trials). At the beginning the subjects performed a 10 minutes tutorial 3 to practice the interaction technique with the automatic and manual switching method. Afterwards the trail started. When the subject selected the first object the application timer was started. The subject manipulated the objects according to the current experimental interaction technique. The trial was finished if the last object was sorted correctly. The application timer was stopped and all data was written to a csv-file.

For each switching method the subject filled out the NASA task load index [START_REF] Hart | Nasa-Task Load Index (NASA-TLX); 20 Years Later[END_REF], a questionnaire to determine his physiological effort. In addition, the subject filled out a questionnaire reporting demographic information (before the study) and subjective data on his preferences (after the study). Furthermore, we captured the participant's 3D position to gain an insight into physical navigation.

Participants. The experiment had 24 voluntary participants (2 females and 22 males), whereas two male subjects could not finish the tasks, thus, they have been excluded from the data set. The participants were college students (9 subjects) or staff members (13 subjects) from the university. The ages of the participants ranged from 22 to 42 years with an average age of 30 years. One subject was a left-hander and all participants reported normal vision or corrected-to-normal vision (45%). 7 participants reported experience with interaction in LHRD environments; the remaining 15 participants reported no experience.

Results

This section reports the results of the experiment. We did not remove outliers from the data set to represent different user types. Hence, the precondition of normal distributed data was violated in some cases (non-parametric tests applied). In order to analyze the user performance we ran a repeated-measured ANOVA (Greenhouse-Geisser corrected) or a Friedman ANOVA on ranks on the dependent variables. The post-hoc pairwise comparison (samples t-test or Dunn's method) was performed with Bonferroni correction. User performance is usually assessed by efficiency, effectiveness, physiological effort, and satisfaction [START_REF] Hornbaek | Current practice in measuring usability: Challenges to usability studies and research[END_REF]. In our study the efficiency and effectiveness were determined by measured manipulation time, number of attempts, and error rate. The physiological effort was determined by number of button events as the user's motor effort and his subjective workload rating. The workload was determined as Raw TLX [START_REF] Hart | Nasa-Task Load Index (NASA-TLX); 20 Years Later[END_REF] without weighting scales. The NASA task load index (TLX) uses six subscales (i.e., mental/physical/temporal demand, performance, effort, frustration) to determine the total workload. The overall TLX workload represented the satisfaction. We used zscore transformation to combine the different metrics. Figure 3 shows the mean zscores of efficiency/effectiveness, physiological effort, and overall user performance.

Due to the participant's expectation on first trial and his training curve on last trial, we combined both trials of condition smf by arithmetic averaging of measured values. Fig. 3. User performance (z up ) with the sub-scales effectiveness/efficiency (z ee ) and physiological effort (z pe ).

Efficiency/Effectiveness

According to mean efficiency/effectiveness z-scores we found significant differences (χ 2 (4) asymT =12.04 p=0.017, χ 2 (4) symT =13.35 p=0.01). Pairwise comparison showed that the subjects were more efficient and effective with interaction scaling at asymT (p<0.05, excluded auto-emf) and with both conditions of manu at symT (p<0.005) compared to smf.

We have analyzed the efficiency/effectiveness values with respect to the different accuracies of target type. The efficiency/ effectiveness of small targets differed significantly (χ 2 (4) asymT =14.10 p=0.007 and χ 2 (4) symT =14.66 p=0.005) between smf and manu (p<0.05) at both techniques. We found no differences for big targets.

The used parameters of efficiency/effectiveness were analyzed in detail. We measured the total manipulation time in seconds per object, i.e., the times were added up during the object manipulation. In order to sort in an object the required attempts were counted for each object according to the target parameters (position, size, orientation).

We calculated the relative error rate of the corresponding target by the average sum of failed attempts and divided by the total number of attempts. That means, the less attempts, the lower the target's error rate. Manipulation time. On average, the subjects needed less time to manipulate the big targets than the small targets, as expected (see Fig. 4). For big targets we found a significant difference between the conditions (F(4,84) asymT,big =2.51 p=0.048, χ 2 (4) asymT,big =9.64 p=0.047). However, a pairwise comparison could not show which conditions are differed. For small targets we only found a significant difference at symT (χ 2 (4) symT,small =16.2 p=0.003) between smf and the conditions of manu (p<0.05).

Number of attempts.

The subjects needed less attempts for the big targets than for the small targets. The number of attempts differed significantly between condition and small targets (χ 2 (4) asymT,small =27.44 and χ 2 (4) symT,small =19.02 p≤0.001) and not significantly between condition and big targets. A pairwise comparison identified the differences of small targets between the condition smf and both conditions of manu (asymT and symT), also between smf and auto-lmf (asymT p<0.005) or auto-emf (symT p<0.05).

Error rate. The lowest error rate was achieved with manual switching for big and small targets (see Fig. 4). As expected, the big targets achieved a low error rate with the static mapping function, whereas the small targets generated a higher error rate. For each condition the error rate differed very significantly between big and small targets (all p<0.005 at asymT and all p<0.001 at symT with Wilcoxon signed rank test). Furthermore, the error rate of small targets differed significantly between smf and manu at both techniques (p=0.027 at asymT and p=0.01 at symT) and between smf and auto-lmf at asymT (p=0.002).

H2.

We partially confirmed H2. By means of big/small targets with different accuracy we could show that accuracy affects the user performance. We found a difference according to required attempts between the targets types, whereby the big targets were solved faster. According to error rate the big targets were not affected by interaction scaling as expected. On the contrary, the error rate of small targets was affected positively by manual switching with symmetric technique. For asymmetric technique the error rate of small targets was affected positively by interaction scaling with manual switching and automatic switching with linear mapping factor. Since the exponential mapping factor decreases fast by stepping forwards, sometimes clutching was required for scaling/rotation tasks. We found interesting results according to the maximum number of attempts (≤ 2) and low error rate (≤ 20%), see Table 2. In total, at asymT the subjects solved 60% of the small targets with a maximum of two attempts with interaction scaling in comparison to 45% of small targets without interaction scaling. On the contrary, at symT the participants solved more than 52% of the small targets with one or two attempts by using interaction scaling and 49% without interaction scaling. At symT only about 30% of the small targets were solved with low error rate with/without interaction scaling, excepting manu-emf. In particular, the participants had problems to solve the small rotated square 4 . At asymT over 38% of the small targets were solved with low error rate using interaction scaling, while only 26% of them were solved without interaction scaling. One exception was condition manu-emf where half of the small targets were solved with low error rate.

H1. We partially confirmed H1. Our findings have shown participants required shorter manipulation times, less attempts and less error rate for object manipulation with both distance-adjusted mapping functions combined with the manual switching method of precision levels. In addition, the subjects performed the tasks more efficiently with automatic switching and linear mapping factor at asymmetric technique. Especially the required high accuracy of ± 1 mm benefited from interaction scaling. Nevertheless, the coarse accuracy of ± 2.5 mm supported good performance with and without interaction scaling.

Physiological Effort

The motor effort (i.e., movements of fingers and arms) differed between the manipulation techniques due to the used interaction metaphors. For symmetric technique the number of manipulation operations was equal to the number of object selections due to the simultaneous tasks. However, for asymmetric technique the number of manipulation operations were calculated from the count of object selections and the count of SR-mode activation. The total button events were counted for each trial (number of pressing switch button, select button, and manipulation button).

Button events. At symT less button events were averagely needed with auto (x ̅ lmf =19, x ̅ emf =20), followed by smf (x ̅ smf =27) and manu (x ̅ lmf =28, x ̅ emf =29). Similarly, at asymT less button events were averagely required with auto (x ̅ lmf =46, x ̅ emf =52), followed by the manu (x ̅ lmf =57, x ̅ emf =58) and smf (x ̅ smf =56). The difference was significantly (χ 2 (4) asymT =19.97, χ 2 (4) symT =25.05 p≤0.001). Pairwise comparisons showed that auto needed significantly less motor effort than manu-emf (p<0.005) or smf (p<0.05) at symT. At asymT the significant difference occurred between auto-lmf and manu (p<0.01).

Workload. In general, the participants assessed that the overall workload of both manipulation techniques is roughly the same. However, the workload of auto was evaluated higher than manu. The frustration and effort were rated highest by smf. The participants reported a higher temporal/physical demand and frustration for symT, in particular with auto. Due to the simultaneous manipulation tasks of symT more physical demand was required and increased the frustration level (e.g., readjustment of scaling during positioning). In contrast, the mental demand, performance and effort were rated higher at asymT. Here, the switching of interaction mode required additional mental demand and effort, thus, reduced the frustration level (e.g., positioning is preserved during scaling). From the participants' point of view, the manual switching of precision levels required no additional physical/mental demand or effort.

Based on the workload results the subjective workload rating was calculated by using the scales of physical demand, mental demand, effort, and frustration.

H3.

In general, the physiological effort was higher at condition smf compared with auto or manu (see Fig. 3). However, a significant effect was only found for asymT (F(4,84) asymT =3.98 p=0.005) between smf and manu (p<0.01) and auto-lmf (p<0.05) respectively. Thus, H3 was only confirmed by asymmetric technique. The workload of manual switching was less appraised by the subjects than for automatic or without switching. However, the number of button events was similar for automatic and without switching. Furthermore, we could not find a significant difference of physiological effort between the manipulation techniques. We assume that the higher number of button events do not affect the physiological effort at asymmetric technique.

User Performance and Preferences

User performance. There was a significant effect of condition on user performance (χ 2 (4) asymT =19.82, χ 2 (4) symT =20.18 both p<0.001) between smf and manu (see Fig. 3).

At symT there was an additional significant difference between smf and auto-emf (all p<0.05). We found no effect of manipulation technique and switching method. In general, the user performance was better with manu than with auto at asymT. This difference is due to the poor performance results of efficiency/effectiveness and the increased physiological effort on auto. At symT also auto obtained averagely poor performance results of efficiency/effectiveness than manu. However, the performance values of physiological effort are roughly the same at symT.

Preferences.

In general, the manual switching was preferred by the participants (68% at asymT and 77% at symT). Furthermore, the automatic switching was preferred by 7 subjects at asymT and 5 subjects at symT. Only 3 subjects reported preferences of both switching methods for symmetric and asymmetric techniques. Further, the participants reported preferences for both manipulation techniques (i.e., asymT by 10 subjects, symT by 9 subjects, both by 3 subjects). The presentation order of techniques (experimental day 1 vs. day 2) had no impact on the participants' preferences. The preference of switching method depends on the manipulation technique. As opposed to this, the preference of manipulation technique depends on individuals. Many participants sensed the symmetric interaction technique as intuitive, i.e., natural and easy handling, less mentally demanding. Nevertheless, the simultaneous manipulation operations complicate precise scaling and positioning at the same time. Furthermore, some users reported that they became even easier with the asymmetric interaction technique after a training period. The separation of the interaction tasks enabled more precise manipulation and they sensed this technique less physically demanding in the long term. Consequently, the automatic switching is rather preferred at symmetric technique than at asymmetric technique.

Physical Navigation

We could observe three behavior pattern according to physical navigation (see Fig. 5). First, a subject used the entire physical interaction space to manipulate the objects sequentially by stepping forwards/backwards (vertical movements). Second, a subject preferred a constant interaction distance to the display and only stepped forwards when the attempt failed (horizontal movements). Third, the subject used a strategy, while he manipulated all objects at distant and afterwards he performed a fine adjustment at close-up range (tactical movements). At asymmetric technique with automatic switching the participants using vertical movements performed the tasks more efficiently, whereas the participants using horizontal movements attained better performance results with manual switching. At symmetric technique the participants using vertical movements performed the tasks with manual and automatic switching more efficiently and effectively. However, the tactical movements benefited from static mapping function. Using the users' physical navigation profile we also identified three interaction ranges, where participants interacted frequently (i.e., close range udd<0.9 m, closemiddle range udd≤1.5 m, middle-distant range udd<2.0 m). Far distances (udd>2.0 m) were used rarely. About half of the participants interacted in close-middle range (12 subjects), whereas the remaining participants preferred close range (3 subjects) or middle-distant range (7 subjects) at asymT and close or middle-distant range (5 subjects each) at symT. We observed that subjects with close-middle range were more efficient with automatic switching. For the other preferred ranges a manual switching was more suitable. Here, clutching could reduced by using coarse-grained precision (absolute mapping) at close range. However, we could not find a relation between user performance and movements or preferred distance.

Discussion and Conclusion

We evaluated how different accuracies affect user performance on distance-aware bimanual manipulation techniques. To consider user preference during object manipulation, we compared a direct mapping approach with distance-adapted mapping approaches that use an automatic task-based or a manual switching method of precision levels. Table 3 outlines the main findings of our user study.

Table 3. Summary of main findings.

In summary, the user performance is increased by using interaction scaling in LHRD environments. The results have shown that the users are able to effectively solve fundamental manipulation tasks with distance-aware interaction techniques. In fact, interaction scaling improved the performance significantly if a high accuracy (2 mm) was required; but it has no effect at lower accuracy (5 mm). The participants were able to manipulate the objects more accurately with the asymmetric technique than with the symmetric technique. Most of the participants preferred a manual switching of precision levels; however, half of the subjects solved the tasks with automatic switching well.

Basically, the best performance results are provided by the automatic switching method with linear mapping factor at asymmetric technique. Furthermore, the manual switching method with linear or exponential mapping factor provided the best performance results for both techniques. As the manual switching of precision levels required often a minor adjustment after the coarse adjustment, a smaller (exponential) mapping factor was more efficient. At automatic switching of precision levels a continuous adjustment was performed, thus a larger mapping factor was appropriated for effective motor movements effectively (less clutching).

Based on our findings, we recommend to consider the user's preferences and navigation behavior in distance-aware interaction, such as the user's preferred distance and walk movements. In principle, the distance-adjusted mapping factor is appropriate, but the calculation should not be the same over all interaction distances. For in-

Metric Results

Efficiency/ Effectiveness

 Improvement of efficiency/effectiveness ─ Interaction scaling with automatic/manual switching (asymmetric technique) ─ Interaction scaling with manual switching (symmetric technique) ─ Accurate object manipulation with distance-aware asymmetric technique Physiological Effort  Workload of manual switching was less appraised in spite of significant higher number of button events (both techniques)  Higher number of button events had no effect at asymmetric technique movements or manual switching was efficient with horizontal movements  Automatic switching was efficient at close-middle range and manual switching was suitable for other ranges stance, at close range the possibility of coarse precision has to be provided by manual switching of precision levels. In contrast, if the user prefers to interact at distant, then the user should reach a high precision level with a few steps closer to the large display by using an exponential mapping function.

The study has shown that the physical navigation is used differently by the users, e.g., their interaction distances vary. Our results agree with Kopper et al. [START_REF] Kopper | Increasing the precision of distant pointing for large high-resolution displays[END_REF] that users interact mainly from a constant distance during manipulation tasks (horizontal movement), but also with Ball et al. [START_REF] Ball | Move to improve: promoting physical navigation to increase user performance with large displays[END_REF] that users prefer to walk during navigation tasks (vertical movements). We recommend to consider various parameters, such as parameters of the physical interaction space (e.g., input device, dimensions of interaction space), objective characteristics of the user (e.g., body size, physiological limitations), and individual subjective characteristics (e.g., preference of bimanual technique, preferred interaction distance) to define the interaction scaling.

The idea of interaction scaling with task-based automatic switching between coarse and precise interaction is only partly suitable in LHRD environments. We recommend to use a semi-automatic distance-aware approach to assist users. That means the user controls the precision of interaction and at the user's request an adjustment should be performed by the system automatically.

In our study we identified behaviors according to physical navigation. However, the behaviors were partially inaccurate. In future work we plan to investigate the user's physical navigation more detailed during object manipulation on a LHRD. Afterwards, we assume to generate user profiles that improve distance-aware interaction by considering individual properties.

Fig. 1 .

 1 Fig. 1. Test application to evaluate distance-aware manipulation technique with a large highresolution display.

Fig. 2 .

 2 Fig. 2. Illustration of the used mapping functions within the experiment.

Fig. 4 .

 4 Fig. 4. Comparing manipulation time (top) and error rate (bottom) by target type.

Fig. 5 .

 5 Fig. 5. The observed behavior patterns regarding to physical navigation: vertical movements (left), horizontal movements (center), and tactical movements (right).



  High accuracy (2mm) benefited from interaction scaling  Improvement of user performance ─ Manual switching with linear/exponential mapping factor (both techniques) ─ Automatic switching with linear mapping factor (asymmetric technique) Preferences  Interaction scaling with manual switching was preferred.  Preference of manipulation technique depends on individuals and switching preference depends on manipulation technique Physical Navigation Observation of behavior pattern (vertical, horizontal, and tactical): ─ Distance-aware symmetric technique was efficient with vertical movements ─ Asymmetric technique with automatic switching was efficient with vertical

Table 2 .

 2 Mean relative frequency distribution (x) of less attempts (≤ 2) and less error rate (≤ 20%) by target type (with N big =66 and N small =110). Best performance results are highlighted bold.

		attempts ≤ 2 error rate ≤ 20%	attempts ≤ 2 error rate ≤ 20%
	Condition x ̅ big x ̅ small x ̅ big x ̅ small	x ̅ big x ̅ small x ̅ big x ̅ small
	auto-lmf 83,3% 63,6% 65,2% 42,7%	86,4% 56,4% 72,7% 30,9%
	auto-emf 81,8% 59,1% 62,1% 38,2%	87,9% 51,8% 69,7% 31,8%
	manu-lmf 86,4% 60,0% 77,3% 41,8%	95,5% 57,3% 77,3% 32,7%
	manu-emf 80,3% 63,6% 72,7% 57,3%	89,4% 58,2% 72,7% 50,0%
	smf	80,3% 44,5% 72,0% 26,4%	89,4% 48,6% 78,8% 30,0%
		asymmetric technique (asymT)	symmetric technique (symT)

www.naturalpoint.com/optitrack/

The experimental design was: 2 manipulation techniques (asymT, symT) x 2 distanceadapted mapping functions (lmf, emf) x 2 switching methods (auto, manu) + 4 baseline conditions (as first/last trial per technique, smf) = 12 trails per

participant.[START_REF] Ball | Move to improve: promoting physical navigation to increase user performance with large displays[END_REF] The tutorial used the same task, whereby the tolerance range of big/small targets was increased to ± 3.8 mm and ± 2 mm, respectively.

This object was the smallest one with 11 mm size and 40 degree orientation.

Acknowledgments. This work was supported by EFRE fond of the European Community and a grant of the German National Research Foundation (DFG), Research Training Group 1424 MuSAMA. We thank our study participants and the anonymous reviewers for their valuable contribution.


Taimur Khan
email: tkhan@cs.uni-kl.de

Henning Barthel
email: henning.barthel@iese.fraunhofer.de

Karsten Amrhein
email: amrhein@rhrk.uni-kl.de

Achim Ebert
email: ebert@cs.uni-kl.de

Peter Liggesmeyer
email: liggesmeyer@cs.uni-kl.de

An Interactive Approach for Inspecting Software System Measurements

Keywords: Software Comprehension, Software M easurement, Interactive Visual Analysis, Visual Query Specification, Software Visualization

In recent times, visual analysis has become increasingly important, especially in the area of software measurement, as most of the data from software measurement is multivariate. In this regard, standard software analysis tools are limited by their lack of ability to process huge collections of multidimensional data sets; current tools are designed to either support only wellknown metrics or are too complicated to use for generating custom software metrics. Furthermore, the analyst requires extensive knowledge of the underlying data schemas and the relevant querying language. To address these shortcomings, we propose an interactive visual approach that focuses on visual elements, their configurations, and interconnectivity rather than a data ontology and querying language. In order to test and validate our methodology, we developed a prototype tool called VIM ETRIK (Visual Specification of M etrics). Our preliminary evaluation study illustrates the intuitiveness and ease-of-use of our approach to understand software measurement and analysis data.

Introduction

Studies estimate that up to 80% of the software costs occur in the maintenance phase, 40% of which goes into understanding the software system [START_REF] Pollo | Advances in Software M aintenance M anagement: Technologies and Solutions[END_REF]. In this context, various measurements or software metrics are often utilized to obtain objective, reprodu cible, and quantifiable measurements to assist software analysts in quality assurance testing, software debugging, and software performance optimization. Independent of the application area, such measurements are closely scrutinized to ensure that the system in question performs optimally, is safe and reliable, and is of high quality.

Analyses of such measurements of software systems tend to result in the scrutiny of a large amount of analysis data by means of software metrics. Most mainstream analysis tools, such as the Fraunhofer M-System [START_REF] Jürgen M Ünch | M -System NT -Ein flexibles, datenbank-basiertes M ess-und Analyse-System[END_REF], specify and examine these software metrics using a database approach. In this case, an analyzable representation of the source code is generated, stored in a relation or graph database, and queried to create measurement data (e.g., quality or maintainability metrics) [START_REF] Harrison | A flexible method for maintaining software metrics data: a universal metrics repository[END_REF][START_REF] Ebert | Reverse Engineering Using Graph Queries[END_REF].

However, these traditional approaches require the analyst to not only have in-depth knowledge of the underlying data schema but also expert knowledge of the relevant querying mechanisms. For using such an approach, the analyst needs an insight into the data ontology and must formulate queries using either the Structured Query Language (SQL) for relational databases [START_REF] Harrison | A flexible method for maintaining software metrics data: a universal metrics repository[END_REF] or a graph querying language such as GReQL [START_REF] Ebert | Reverse Engineering Using Graph Queries[END_REF] for graph databases. In contrast, we propose an interactive visual approach that focuses on visual elements, their configurations, and interconnectivity rather than a data ontology and querying language.

In this paper, the above-mentioned shortcomings are addressed through an innovative means for facilitating the specification and visualization of user-defined software system measurements. The key ingredients of our approach are a schema-less data access path to an underlying graph data model, a workflow-based approach for defining metrics, and the ability to visually depict the results of these queries not only in traditional forms (e.g., through tabular views, scatter plots, box plots, histograms, line charts, etc.) but also through modern interactive visualization paradigms (e.g., the city view [START_REF] Khan | eCITY: A Tool to Track Software Structural Changes Using an Evolving City[END_REF]). The novelty of our approach lies in how we combine the specification and visualization of software measurements through data workflows. Ultimately, our goal is to empower end users with the ability to apply tailored metrics and visualization metaphors to visually explore the characteristics of a software system according to their individual needs and requirements.

In order to validate our ideas, we developed a live-data prototype tool called VIMETRIK (Visual Specification of Metrics). Our preliminary evaluation study indicates the prospects and the feasibility of our approach to analyze software measurement data.

Related Work

Our approach aims at providing easy and intuitive means for analyzing a software system at different levels of details in terms of software measurements or metrics, such as computing cyclomatic complexity, analyzing dependencies or call traces, or using statistical analysis to find issues. However, current software analysis tools (e.g., [START_REF] Jürgen M Ünch | M -System NT -Ein flexibles, datenbank-basiertes M ess-und Analyse-System[END_REF], [START_REF] Roover | The SOUL tool suite for querying programs in symbiosis with Eclipse[END_REF], and [START_REF] Hajiyev | codeQuest: Scalable Source Code Queries with Datalog[END_REF]) tend to be complicated as they require in -depth knowledge of the underlying data schemas and the relevant querying language. Closely related tools are: Sextant [START_REF] Winter | Sextant: A tool to specify and visualize software metrics for Java source-code[END_REF], a tool for specifying and visualizing software metrics for Java source code and WiggleIndexer 1 , a tool that allows the indexing of Abstract Syntax Trees (AST) using a graph database. Although these tools have some similar features, they do not employ workflows in the visual analysis of software systems. WiggleIndexer has a similar graph database model and querying mec hanism; however, users need to have in-depth knowledge of both the model and the underlying Cypher querying language. On the other hand, although Sextant provides several visualization capabilities, it contains significantly fewer details about the sy stem and the analysis needs to be performed in the Service Modeling Language (SML) instead of with workflows.

3

The Methodology

In this section, we present the details of our methodology, which consists of a graph database model capable of capturing full details of a software system's source code and a workflow-based approach for defining metrics.

The Graph Database Model

Generally, traditional measurement tools use a relational database to store information about the target software system, which leads to a trade-off between scalability and the number of source code details stored. Furthermore, relational databases are often faced with implementation-related issues, such as schema evolution over time, extensive joins of large tables, etc.

In contrast, we propose using a graph database approach aimed at storing full source code details, which scales to large programs and provides an easy mea ns for restructuring. Our proposed graph model is designed to handle queries about software artifacts and is based on AST. The resulting Directed Acyclic Graph (DAG) contains additional links between the vertices of a syntax tree. Our aim in providing such a graph model is to address the many crosscutting queries that our domain experts may have.

For the sake of brevity, Fig. 1 shows only the top-level entities of our proposed graph model as well as the links between these entities. The key ingredients of this top-level model are: an analysis root, which may contain links to projects, primitives, arrays, and a literals root; projects, which may be connected to top-level packages or, for convenience, directly to compilation units; packages, which may have links to sub-packages; and compilation units, which contain a top-level type. By traversing the above-mentioned nodes, we touch upon nodes and edges that form the top-level hierarchy of a software system. Additional edges between these elements provide further insight into the various aspects of the underlying software system. For example: IMPORTS provides an understanding of the coupling between compilation units and HAS_LITERAL offers a means for tracking the usage of literals.

Similarly, our graph model contains representations of other source code elements such as fields, methods, statements, and expressions. It forms a tree-like structure that not only contains the hierarchy of each source file but, more importantly, links to elements found in other source files, too. These additional edges in our graph model connect related elements in a meaningful manner and are a key ingredient for crosscutting queries, such as finding artifacts that connect method or variable usage to their declaration. Furthermore, nodes and edges in our graph model have properties that allow us to distinguish the graph elements according to their types, their access p arameters, or through other artifacts.

Finally, it is important to mention that as graph databases rely on semi-structured data, they can be easily modified in order to cater to changing requirements. As a result, our model can be easily modified through the addition of new nodes, edges, or properties.

Fig. 1. Graph model of top-level entities

Querying Through A Workflow-based Approach

The central focus of our methodology is on supporting users who have no prior knowledge of the underlying graph model, database, or query mechanisms. To do so, we break down larger software measurement concerns into smaller well-managed modules. The focal point of designing modules that process software entities, which we refer to as Software Fact Extractors, is to allow users to assemble and adapt an analysis flow comprised of standard building blocks. Thus, the main function of these modules is for users to combine them in a meaningful manner, through pipes that carry data, in order to produce useful software measurement results.

In order to highlight how the above-mentioned modules can be combined in a workflow to produce a software measurement, we present a simple workflow example in Fig. 2, which calculates the number of packages per project. In this figure, blue nodes represent our Software Fact Extractors, while the yellow node symbolizes a data manipulator. Since we are interested in projects that are part of the source analy-sis and not in external libraries, we configure the "AllProjects" module with the INTERNAL access option. From the user's perspective, this node produces a listing of all the internal projects in the database and connects to the "PackagesInProject" mo dule. However, internally it needs to execute a Cypher query to produce the results. Similarly, the "PackagesInProject" node traverses the PKG_OF_PROJ and PKG_OF_PKG links of Fig. 1 to provide a project-to-package mapping. Finally, a data manipulation node labeled "Aggregation" groups the projects according to a count of project-to-package mappings.

Fig. 2. A simple workflow for number of packages

4

The VIMETRIK Tool

In order to demonstrate our methodology, we have developed an interactive visual data exploration and data-mining tool called VIMETRIK. Our tool is built on top of the KNIME2 Eclipse plug-in that enables users to model workflows. However, as a prerequisite to working with our workflows the user needs to extract source code facts, following the methodology described in Section 3, into a Neo4j graph database with the help of a pre-packaged library. From the user's perspective, this is a simple process as they just need to load Java projects into the Eclipse Java Package Explorer and click on "Extract Facts".

In KNIME, the most common processing unit is a "Node", which represents any of the visual workflow nodes. Our custom nodes gather the Cypher query results as "DataTables" and pass them to connected nodes for processing or visualization. Add itionally, these nodes provide a token that contains the graph database connection d etails. This approach enables us to process elements of our graph database and at the same time have the full functionality of all the nodes available in KNIME. Interope rability between our Software Fact Extractors in KNIME and the Neo4j database is attained through the management of KNIME's DataTable data structure and the specification of our graph queries.

Using our VIMETRIK tool, we have developed several workflows that calculate metrics at different levels of the code structure, such as the Chidamber & Kemerer metrics suite [START_REF] Chidamber | A M etrics Suite for Object Oriented Design[END_REF], the QMOOD metrics suite [START_REF] Bansiya | A Hierarchical M odel for Object-Oriented Design Quality Assessment[END_REF], McCabe's cyclic complexity measure [START_REF]A Complexity M easure[END_REF], etc. Fig. 3a shows an example of such a workflow.

Once the relevant software metrics are modeled using our workflow-based approach, the measurement results can be analyzed using different coordinated views of the data. On the one hand, users can attach and configure standard KNIME "Data View" nodes that produce traditional views (i.e., parallel coordinates, scatter matrix, or tabular view). On the other hand, users can generate interactive software visualizations via a VIMTERIK "CustomNetworkViewer" node. This node allows the users to configure the type of visualization (i.e., city, sunburst, or hyperbolic), apply some generic settings, and map measurement results as entity properties. Fig. 3b shows one of these possibilities, with the results being encoded in a city view [START_REF] Khan | eCITY: A Tool to Track Software Structural Changes Using an Evolving City[END_REF]. The Preliminary Evaluation Study

A preliminary evaluation study was conducted to determine if software analysts could use our proposed methodology to perform software measurement tasks effectively (in terms of completion and accuracy) and, importantly, without dealing with the complexity of a data ontology or querying mechanisms. To validate these claims, we chose experts (21 Master or PhD students, 4 females and 17 males) from the related fields of Software Engineering (SE), Computer Graphics (CG), and Database and Information Systems (DBIS). None of them had any prior experience with VIMETRIK or KNIME; however, all had object-oriented programming experience and 19 had either SQL or basic query knowledge. Our hypotheses were that by using our tool, users with no prior experience would be able to achieve a completion rate of at least 85% (H 1 ) and an accuracy of at least 85% (H 2 ) for basic software measurement tasks. Furthermore, we expected the participants to be highly satisfied (with regard to acceptability and usability) with our tool.

We selected the Apache Tomcat system as the target system fo r our investigation. The software measurement tasks (size, cyclic complexity, and coupling) were class ified into three categories (lightweight, intermediate, and advanced) according to the number of Fact Extractor nodes required for each task. At the end of each test, a closed-ended Likert scale (ranging from 1 "strongly disagree" to 5 "strongly agree")

questionnaire and an open-ended questionnaire were used to collect user satisfaction feedback and suggestions.

Each subject was given a short tutorial and was asked to complete nine identical tasks. The subjects were awarded 0% to 100% for the completion or correctness of each task; however, the completion and correctness task results were weighted according to their difficulty: lightweight=1, intermediate=3, and advanced=5. We applied descriptive statistical methods (i.e., sample mean, standard deviation, and median) to the gathered experiment data. We also tested our hypotheses statistically using the Wilcoxon T test, with a confidence level for rejecting the null hypotheses at 95%. Due to space restrictions, we present only a summary of the results.

The overall completion percentage for all groups was 94.38% (SE=94.03%, CG=95.43%, and DBIS=93.68%). The completion hypothesis H 1 was tested using the Wilcoxon T test (Z=4.04, p=1.0E-04), which justified our hypothesis (p<0.05; thus, the null hypothesis was rejected). Similarly, the overall correctness percentage for all groups was 94.22% (SE=93.71%, CG=95.71%, and DBIS=93.24%). The correctness hypothesis H 2 was also tested using the Wilcoxon T test (Z=4.12, p=3.78E-5), which justified our hypothesis (p<0.05; thus, the null hypothesis was rejected).

In the closed-ended questionnaires (four questions from the performance and effort expectancy parameters of the TAM model [START_REF] Venkatesh | User acceptance of information technology: toward a unified view[END_REF] and eleven questions from the utility, intuitiveness, learnability, and personal effect parameters from the work of Nestler et al. [START_REF] Nestler | Assessing qualitative usability in life-threatening, timecritical and unstable situations[END_REF]), the subjects (irrespective of the user group) gave an average score of 4 out of 5. This indicates that the subjects were highly satisfied with our tool. Furthermore, they provided a few useful suggestions in the open-ended questionnaires that we aim to tackle in the future.

Conclusion

This preliminary study shows both the prospects and the feasibility of our proposed solution. In particular, participants with no knowledge of the underlying database model, the querying mechanism, or software analysis in general were able to use our tool to understand software measurement and analysis data. The intuitive and easy-touse nature of our approach is highlighted by the fact that independent of their expertise, they were able to complete basic software analysis tasks with a completion rate and accuracy of over 85%. This would not be possible with current tools, which require users to have in-depth knowledge of data ontology and advanced querying skills. Furthermore, all participants were highly satisfied (with regard to usability and acceptance) with our approach. This work has raised interesting issues for future work. One relevant extension is the addition of modules and mechanisms to include software measurements that handle source code analysis rules, such as those used by PMD, Checkstyle, and Find-Bugs. Another interesting future work is to monitor the evolution of these measurements in order to support various change requirements. Furthermore, as a consequence of the preliminary results a full-scale comparative study is planned with professional software analysts.

Fig. 3 .

 3 Fig. 3. Integrated analysis and visualization approach

WiggleIndexer -Indexing of AST using graph databases (https://github.com/raoulDoc/WiggleIndexer)

KNIM E Analytics Platform (http://www.knime.org/knime/)