-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpaper.bib
1081 lines (1080 loc) · 64.9 KB
/
paper.bib
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
% !TeX root = ../paper.tex
@INPROCEEDINGS{ardigo2021visualizing,
author={Ardigò, Susanna and Nagy, Csaba and Minelli, Roberto and Lanza, Michele},
booktitle={2021 Working Conference on Software Visualization (VISSOFT)},
title={Visualizing Data in Software Cities},
year={2021},
volume={},
number={},
pages={145-149},
doi={10.1109/VISSOFT52517.2021.00028}
}
@inproceedings{atzberger2021softwareforest,
author = {Atzberger, Daniel and Cech, Tim and de la Haye, Merlin and Söchting, Maximilian and Scheibel, Willy and Limberger, Daniel and Döllner, Jürgen},
year = {2021},
DISABLEDmonth = {02},
pages = {112-122},
title = {{Software Forest}: A Visualization of Semantic Similarities in Source Code using a Tree Metaphor},
doi = {10.5220/0010267601120122},
booktitle={Proceedings of the 16th International Joint Conference on Computer Vision, Imaging and Computer Graphics Theory and Applications (VISIGRAPP 2021) - IVAPP},
publisher={SciTePress},
organization={INSTICC},
DISABLEDisbn={978-989-758-488-6},
issn={2184-4321},
}
@inproceedings{atzberger2021softwaregalaxies,
author = {Atzberger, Daniel and Scheibel, Willy and Limberger, Daniel and D\"{o}llner, J\"{u}rgen},
title = {{Software Galaxies}: Displaying Coding Activities using a Galaxy Metaphor},
year = {2021},
isbn = {9781450386470},
publisher = {Association for Computing Machinery},
DISABLEDaddress = {New York, NY, USA},
url = {https://doi.org/10.1145/3481549.3481573},
doi = {10.1145/3481549.3481573},
abstract = {Software visualization uses metaphors to depict software system and software development data that usually has no inherent gestalt. The choice of a fitting metaphor for visual display is researched broadly, but deriving a layout based on similarity is still challenging. We present a novel approach to 3D software visualization called Software Galaxy. Our layout is based on applying Latent Dirichlet Allocation on source code documents. We utilize a metaphor inspired from astronomy for depicting software metrics for single documents and clusters of documents. Our first experiments indicate that a 3D visualization capturing semantic relatedness can be beneficial for standard program comprehension tasks.},
booktitle = {Proceedings of the 14th International Symposium on Visual Information Communication and Interaction},
articleno = {18},
numpages = {2},
keywords = {Topic Modeling, Software Visualization, Visualization Metaphor},
DISABLEDlocation = {Potsdam, Germany},
series = {VINCI '21}
}
@inproceedings{atzberger2022visualization,
title={Visualization of Knowledge Distribution across Development Teams using {2.5D} Semantic Software Maps},
author={Atzberger, Daniel and Cech, Tim and Jobst, Adrian and Scheibel, Willy and Limberger, Daniel and Trapp, Matthias and D{\"o}llner, J{\"u}rgen},
pages={210--217},
year={2022},
booktitle={Proceedings of the 17th International Joint Conference on Computer Vision, Imaging and Computer Graphics Theory and Applications (VISIGRAPP 2022) - IVAPP},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0010991100003124},
DISABLEDisbn={978-989-758-555-5},
issn={2184-4321}
}
@inproceedings{atzberger2023visualization,
title={Visualization of Source Code Similarity Using {2.5D} Semantic Software Maps},
author={Atzberger, Daniel and Cech, Tim and Scheibel, Willy and Limberger, Daniel and D{\"o}llner, J{\"u}rgen},
booktitle={Computer Vision, Imaging and Computer Graphics Theory and Applications: 16th International Joint Conference, VISIGRAPP 2021, Virtual Event, February 8--10, 2021, Revised Selected Papers},
pages={162--182},
year={2023},
organization={Springer},
DISABLEDmonth = {02},
DISABLEDisbn = {978-3-031-25476-5},
doi = {10.1007/978-3-031-25477-2_8}
}
@inproceedings{balzer2005voronoi,
author = {Balzer, Michael and Deussen, Oliver and Lewerentz, Claus},
title = {Voronoi Treemaps for the Visualization of Software Metrics},
year = {2005},
isbn = {1595930736},
publisher = {Association for Computing Machinery},
DISABLEDaddress = {New York, NY, USA},
doi = {10.1145/1056018.1056041},
abstract = {In this paper we present a hierarchy-based visualization approach for software metrics using Treemaps. Contrary to existing rectangle-based Treemap layout algorithms, we introduce layouts based on arbitrary polygons that are advantageous with respect to the aspect ratio between width and height of the objects and the identification of boundaries between and within the hierarchy levels in the Treemap. The layouts are computed by the iterative relaxation of Voronoi tessellations. Additionally, we describe techniques that allow the user to investigate software metric data of complex systems by utilizing transparencies in combination with interactive zooming.},
booktitle = {Proceedings of the 2005 ACM Symposium on Software Visualization},
pages = {165–172},
numpages = {8},
keywords = {software metrics, treemaps, voronoi diagrams},
DISABLEDlocation = {St. Louis, Missouri},
series = {SoftVis '05}
}
@inproceedings{boothe2011animation,
author = {Boothe, Peter and Badame, Sandro},
title = {Animation of Object-Oriented Program Execution},
pages = {585--588},
booktitle = {Proceedings of Bridges 2011: Mathematics, Music, Art, Architecture, Culture},
year = {2011},
DISABLEDeditor = {Sarhangi, Reza and S\'{e}quin, Carlo H.},
isbn = {978-0-9846042-6-5},
issn = {1099-6702},
publisher = {Tessellations Publishing},
DISABLEDaddress = {Phoenix, Arizona},
url = {http://archive.bridgesmathart.org/2011/bridges2011-585.html}
}
@inproceedings{brown1984system,
title={A system for algorithm animation},
author={Brown, Marc H. and Sedgewick, Robert},
booktitle={Proceedings of the 11th annual conference on Computer graphics and interactive techniques},
pages={177--186},
year={1984},
issue_date = {July 1984},
publisher = {Association for Computing Machinery},
DISABLEDaddress = {New York, NY, USA},
volume = {18},
number = {3},
issn = {0097-8930},
abstract = {A software environment is described which provides facilities at a variety of levels for “animating” algorithms: exposing properties of programs by displaying multiple dynamic views of the program and associated data structures. The system is operational on a network of graphics-based, personal workstations and has been used successfully in several applications for teaching and research in computer science and mathematics. In this paper, we outline the conceptual framework that we have developed for animating algorithms, describe the system that we have implemented, and give several examples drawn from the host of algorithms that we have animated.},
journal = {SIGGRAPH Comput. Graph.},
DISABLEDmonth = {1},
DISABLEDisbn = {0897911385},
doi = {10.1145/800031.808596},
series = {SIGGRAPH '84}
}
@incollection{catmull1974class,
title = {A Class oF Local Interpolating Splines},
DISABLEDeditor = {Robert E. Barnhill and Richard F. Riesenfeld},
booktitle = {Computer Aided Geometric Design},
publisher = {Academic Press},
pages = {317-326},
year = {1974},
DISABLEDisbn = {978-0-12-079050-0},
doi = {10.1016/B978-0-12-079050-0.50020-5},
DISABLEDurl = {https://www.sciencedirect.com/science/article/pii/B9780120790500500205},
author = {Edwin Catmull and Raphael Rom}
}
@inproceedings{caudwell2010gource,
author = {Caudwell, Andrew H.},
title = {Gource: Visualizing Software Version Control History},
year = {2010},
DISABLEDisbn = {9781450302401},
publisher = {Association for Computing Machinery},
DISABLEDaddress = {New York, NY, USA},
doi = {10.1145/1869542.1869554},
abstract = {This film demonstrates a tool for visualizing the development history of software projects as an interactive animation, showing developers working on the hierarchical file-directory structure of a project over the course of its development.},
booktitle = {Proceedings of the ACM International Conference Companion on Object Oriented Programming Systems Languages and Applications Companion},
pages = {73–74},
numpages = {2},
keywords = {software development history, software visualization, force-directed},
DISABLEDlocation = {Reno/Tahoe, Nevada, USA},
series = {OOPSLA '10}
}
@inproceedings{cheng2008xdiva,
author = {Cheng, Yung-Pin and Chen, Jih-Feng and Chiu, Ming-Chieh and Lai, Nien-Wei and Tseng, Chien-Chih},
title = {XDIVA: A Debugging Visualization System with Composable Visualization Metaphors},
year = {2008},
DISABLEDisbn = {9781605582207},
publisher = {Association for Computing Machinery},
DISABLEDaddress = {New York, NY, USA},
DISABLEDurl = {https://doi.org/10.1145/1449814.1449869},
doi = {10.1145/1449814.1449869},
abstract = {Despite the progress that has been made in the field of program visualization, programmers nowadays still rely on in-serting extra code (e.g., print statements) to visualize complicated program states during debugging. Only recently have tools such as DDD (Data Display Debugger) (5) begun to provide visualization of data types for programmers. Still such visualization remains limited. There are many obstacles that have impeded and continue to impede program visualization for practical use. One such major obstacle one is the wide variety of data types in a computer program. Given the variety and complexity of computations for many domains, it is unlikely that visualizations will be available a priori to cover everything that might be interesting. As an attempt to address the problem, a debugging visualization tool called xDIVA is presented. The visual effects of xDIVA use 3-D shapes, colors, and animations from a 3-D rendering engine. xDIVA conducts a novel and meticulous object-oriented design so that visualization metaphors are interactive, composable, and decoupled from data, i.e. a complicated visualization metaphor can be composed and assembled from basic ones, each of which is independently replaceable. The benefits of xDIVA are demonstrated by several applications.},
booktitle = {Companion to the 23rd ACM SIGPLAN Conference on Object-Oriented Programming Systems Languages and Applications},
pages = {807–810},
numpages = {4},
keywords = {debugging visualization, composable visualization metaphors, program visualization},
DISABLEDlocation = {Nashville, TN, USA},
series = {OOPSLA Companion '08}
}
@inproceedings{chis2014moldable,
title = {The Moldable Debugger: A Framework for Developing Domain-specific Debuggers},
author = {Chi{\c{s}}, Andrei and Gîrba, Tudor and Nierstrasz, Oscar},
DISABLEDeditor = {Combemale, Beno{\^i}t and Pearce, David J. and Barais, Olivier and Vinju, Jurgen J.},
booktitle = {Software Language Engineering},
pages = {102--121},
year = {2014},
publisher = {Springer International Publishing},
DISABLEDisbn = {978-3-319-11245-9},
DISABLEDaddress = {Cham},
doi = {10.1007/978-3-319-11245-9_6}
}
@inproceedings{ciolkowski20173d,
author={Ciolkowski, Marcus and Faber, Simon and von Mammen, Sebastian},
booktitle={Proceedings of the 27th International Workshop on Software Measurement and 12th International Conference on Software Process and Product Measurement},
pages={189--198},
year={2017},
author = {Ciolkowski, Marcus and Faber, Simon and von Mammen, Sebastian},
title = {{3D} Visualization of Dynamic Runtime Structures},
DISABLEDisbn = {9781450348539},
publisher = {Association for Computing Machinery},
DISABLEDaddress = {New York, NY, USA},
doi = {10.1145/3143434.3143435},
abstract = {Continued development and maintenance of software requires understanding its design and behavior. Software at runtime creates a complex network of call--callee relationships that are hard to determine but that developers need to understand to optimize software performance. Existing tools typically focus on static aspects (e.g., Structure101 or SonarQube), or they are difficult to use and require high expertise (e.g., software profiling tools).Unfortunately, these dependencies are hard to derive from static code analysis: For one, static analysis will reveal potential call--callee relationships not actual ones. Second, they are often difficult to detect, since information systems today increasingly use abstraction patterns and code injection, which obscures runtime behavior.In this paper, we present our efforts towards accessible and informative means of visualizing software runtime processes. We designed a novel visualization approach that utilizes a hierarchical and interactive 3-D city layout based on force-directed graphs to display the runtime structure of an application. This promises to reduce the time and effort invested in debugging programming errors or in finding bottlenecks of software performance. Our approach extends the city metaphor for translating programmatic relationships into accessible 3D visualizations. With the identified goals and constraints in mind, we designed a novel visual debugging system, which maps programming code structures to 3D city layouts based on force-directed graphs. Exploration of the animated visualization allows the user to investigate not only the static relationships of large software projects but also its dynamic runtime behavior.We conducted a formative evaluation of the approach with a preliminary version of a prototype. In a series of six interviews with experts in software development and dynamic analysis, we were able to confirm that the approach is useful and supports identifying bottlenecks. The interviews raised and prioritized potential future improvements, several of which we implemented into the final version of our prototype.},
keywords = {software quality, call structure, 3D visualization, runtime metrics},
DISABLEDlocation = {Gothenburg, Sweden},
series = {IWSM Mensura '17}
}
@article{cornelissen2008execution,
title={Execution trace analysis through massive sequence and circular bundle views},
author={Cornelissen, Bas and Zaidman, Andy and Holten, Danny and Moonen, Leon and Van Deursen, Arie and Van Wijk, Jarke J},
journal={Journal of Systems and Software},
volume={81},
number={12},
pages={2252--2268},
year={2008},
publisher={Elsevier}
}
@INPROCEEDINGS{cornelissen2009trace,
author={Cornelissen, Bas and Zaidman, Andy and van Deursen, Arie and van Rompaey, Bart},
booktitle={2009 IEEE 17th International Conference on Program Comprehension},
title={Trace visualization for program comprehension: A controlled experiment},
year={2009},
volume={},
number={},
pages={100-109},
doi={10.1109/ICPC.2009.5090033}
}
@article{dashuber2022trace,
title = {Trace visualization within the {Software City} metaphor: Controlled experiments on program comprehension},
journal = {Information and Software Technology},
volume = {150},
pages = {106989},
year = {2022},
DISABLEDissn = {0950-5849},
doi = {10.1016/j.infsof.2022.106989},
DISABLEDurl = {https://www.sciencedirect.com/science/article/pii/S0950584922001227},
author = {Veronika Dashuber and Michael Philippsen},
keywords = {Trace visualization, Software city, Program comprehension, Aggregation, Heatmap, Root cause analysis}
}
@inproceedings{devkota2022domain,
title={Domain-Centered Support for Layout, Tasks, and Specification for Control Flow Graph Visualization},
author={Devkota, Sabin and LeGendre, Matthew P. and Kunen, Adam and Aschwanden, Pascal and Isaacs, Katherine E.},
booktitle={2022 Working Conference on Software Visualization (VISSOFT)},
pages={40--50},
year={2022},
organization={IEEE},
eprint={2108.03047},
place = {United States},
DISABLEDmonth = {7},
url = {https://par.nsf.gov/biblio/10435515},
DOI = {10.1109/VISSOFT55257.2022.00013},
journal = {2022 Working Conference on Software Visualization (VISSOFT)}
}
@inproceedings{dugerdil2008execution,
title={Execution trace visualization in a {3D} space},
author={Dugerdil, Philippe and Alam, Sazzadul},
pages={38--43},
year={2008},
organization={IEEE},
doi={10.1109/ITNG.2008.137},
DISABLEDisbn = {9780769530994},
publisher = {IEEE Computer Society},
DISABLEDaddress = {USA},
abstract = {In program execution visualization, we wish to show where the action is unfolding when some high level use-case is played on the system. However, an important problem is to deal with the volume of data to display. One solution is to represent the architecture of the software in some familiar form. Then we proposed to represent it as a modern city, with buildings and districts, in a 3D space. In this paper we present the way the program execution is represented in such a space and we show how the understanding of this execution is facilitated. Since the display of the full execution trace is impossible because of its sheer size, we developed a trace segmentation technique. Then an information filter, called class omnipresence, is applied to further reduce the information to display. Finally, the resulting sequence of segments can be “played” on the screen, like in a movie.},
booktitle = {Proceedings of the Fifth International Conference on Information Technology: New Generations},
keywords = {reverse engineering, trace segmentation, dynamic analysis, Software visualization},
series = {ITNG '08}
}
@thesis{fierz2009compass,
title={Compass: Flow-centric back-in-time debugging},
author={Fierz, Julien},
year={2009},
school={University of Bern},
type={Master's thesis},
url={https://scg.unibe.ch/archive/masters/Fier09a.pdf}
}
@INPROCEEDINGS{fittkau2013live,
author={Fittkau, Florian and Waller, Jan and Wulf, Christian and Hasselbring, Wilhelm},
booktitle={2013 First IEEE Working Conference on Software Visualization (VISSOFT)},
title={Live trace visualization for comprehending large software landscapes: The {ExplorViz} approach},
year={2013},
volume={},
number={},
pages={1-4},
doi={10.1109/VISSOFT.2013.6650536}
}
@article{fruchterman1991graph,
author = {Fruchterman, Thomas M. J. and Reingold, Edward M.},
title = {Graph drawing by force-directed placement},
journal = {Software: Practice and Experience},
volume = {21},
number = {11},
pages = {1129-1164},
keywords = {Graph drawing, Force-directed placement, Multi-level techniques, Simulated annealing},
doi = {10.1002/spe.4380211102},
eprint = {https://onlinelibrary.wiley.com/doi/pdf/10.1002/spe.4380211102},
abstract = {Abstract We present a modification of the spring-embedder model of Eades [Congressus Numerantium, 42, 149–160, (1984)] for drawing undirected graphs with straight edges. Our heuristic strives for uniform edge lengths, and we develop it in analogy to forces in natural systems, for a simple, elegant, conceptually-intuitive, and efficient algorithm.},
year = {1991}
}
@inproceedings{gestwicki2005methodology,
author = {Gestwicki, Paul and Jayaraman, Bharat},
title = {Methodology and Architecture of {JIVE}},
year = {2005},
DISABLEDisbn = {1595930736},
publisher = {Association for Computing Machinery},
DISABLEDaddress = {New York, NY, USA},
doi = {10.1145/1056018.1056032},
abstract = {A novel approach to the runtime visualization and analysis of object-oriented programs is presented and illustrated through a prototype system called JIVE: Java Interactive Visualization Environment. The main contributions of JIVE are: multiple concurrent representations of program state and execution history; support for forward and reverse execution; and graphical queries over program execution. This model facilitates program understanding and interactive debugging. Our visualization of runtime states clarifies the important point that objects are environments of execution. The history of object interaction is displayed via sequence diagrams, and in this way we help close the loop between design-time and run-time representations. Interactive execution is made possible by maintaining a runtime history database, which may be queried for information on variable behavior, method executions, and object interactions. We illustrate the capabilities of this system through examples. JIVE is implemented using the Java Platform Debugger Architecture and supports the Java language and libraries, including multithreaded and GUI applications.},
booktitle = {Proceedings of the 2005 ACM Symposium on Software Visualization},
pages = {95–104},
numpages = {10},
DISABLEDlocation = {St. Louis, Missouri},
series = {SoftVis '05}
}
@book{gamma1994design,
title={Design patterns: elements of reusable object-oriented software},
author={Gamma, Erich and Helm, Richard and Johnson, Ralpha and Vlissides, John},
isbn={9780321700698},
lccn={94034264},
series={Addison-Wesley Professional Computing Series},
year={1994},
publisher={Pearson Education},
edition={1st}
}
@article{gregg2016flame,
author = {Gregg, Brendan},
title = {The Flame Graph},
year = {2016},
issue_date = {June 2016},
publisher = {Association for Computing Machinery},
DISABLEDaddress = {New York, NY, USA},
volume = {59},
number = {6},
issn = {0001-0782},
doi = {10.1145/2909476},
abstract = {This visualization of software execution is a new necessity for performance profiling and debugging.},
journal = {Commun. ACM},
DISABLEDmonth = {5},
pages = {48–57},
numpages = {10}
}
@inproceedings{hoff2022utilizing,
title = "Utilizing Software Architecture Recovery to Explore Large-Scale Software Systems in Virtual Reality",
abstract = "Exploring an unfamiliar large-scale software system is challenging especially when based solely on source code. While software visualizations help in gaining an overview of a system, they generally neglect architecture knowledge in their representations, e.g., by arranging elements along package structures rather than functional components or locking users in a specific abstraction level only slightly above the source code. In this paper, we introduce an automated approach for software architecture recovery and use its results in an immersive 3D virtual reality software visualization to aid accessing and relating architecture knowledge. We further provide a semantic zoom that allows a user to access and relate information both horizontally on the same abstraction level, e.g., by following method calls, and vertically across different abstraction levels, e.g., from a member to its parent class. We evaluate our contribution in a controlled experiment contrasting the usefulness regarding software exploration and comprehension of our concepts with those of the established CityVR visualization and the Eclipse IDE.",
keywords = "Software Visualization, Virtual Reality, Software Architecture Recovery, Empirical Software Engineering",
author = "Adrian Hoff and Lea Gerling and Christoph Seidl",
year = "2022",
DISABLEDmonth = 10,
doi = "10.1109/VISSOFT55257.2022.00020",
language = "English",
DISABLEDisbn = "978-1-6654-8093-2",
booktitle = "2022 Working Conference on Software Visualization (VISSOFT)",
publisher = "IEEE",
DISABLEDaddress = "United States",
}
@inproceedings{hamouLhadj2004survey,
author = {Hamou-Lhadj, Abdelwahab and Lethbridge, Timothy C.},
title = {A Survey of Trace Exploration Tools and Techniques},
year = {2004},
publisher = {IBM Press},
abstract = {The analysis of large execution traces is almost impossible without efficient tool support. Lately, there has been an increase in the number of tools for analyzing traces generated from object-oriented systems. This interest has been driven by the fact that polymorphism and dynamic binding pose serious limitations to static analysis. However, most of the techniques supported by existing tools are found in the context of very specific visualization schemes, which makes them hard to reuse. It is also very common to have two different tools implement the same techniques using different terminology. This appears to result from the absence of a common framework for trace analysis approaches. This paper presents the state of the art in the area of trace analysis. We do this by analyzing the techniques that are supported by eight trace exploration tools. We also discuss their advantages and limitations and how they can be improved.},
booktitle = {Proceedings of the 2004 Conference of the Centre for Advanced Studies on Collaborative Research},
pages = {42–55},
numpages = {14},
DISABLEDlocation = {Markham, Ontario, Canada},
series = {CASCON '04},
DISABLEDmonth = {01},
url={https://users.encs.concordia.ca/~abdelw/papers/CASCON04-TraceToolSurvey.pdf}
}
@INPROCEEDINGS{hamouLhadj2006summarizing,
author={Hamou-Lhadj, Abdelwahab and Lethbridge, Timothy C.},
booktitle={14th IEEE International Conference on Program Comprehension (ICPC'06)},
title={Summarizing the Content of Large Traces to Facilitate the Understanding of the Behaviour of a Software System},
year={2006},
volume={},
number={},
pages={181-190},
doi={10.1109/ICPC.2006.45}
}
@inproceedings{hofer2006design,
author = {Christoph Hofer and Marcus Denker and Stéphane Ducasse},
title = {Design and Implementation of a Backward-in-time Debugger},
booktitle = {NODe 2006 -- GSEM 2006},
year = {2006},
DISABLEDeditor = {Robert Hirschfeld and Andreas Polze and Ryszard Kowalczyk},
pages = {17-32},
publisher = {Gesellschaft für Informatik e.V.},
DISABLEDaddress = {Bonn},
DISABLEDmonth = {9},
series = {{LNI}},
volume = {{P-88}},
isbn = {978-3-88579-182-9},
url = {https://dl.gi.de/items/ed80bc70-fcdd-4899-acc2-57f6de552aba},
pissn = {1617-5468}
}
@inproceedings{ingalls1997back,
title = {Back to the Future: The Story of {Squeak}, a Practical {Smalltalk} Written in Itself},
author = {Ingalls, Dan and Kaehler, Ted and Maloney, John and Wallace, Scott and Kay, Alan},
booktitle = {Proceedings of the 12th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications},
pages = {318--326},
year = {1997},
issue_date = {Oct. 1997},
publisher = {Association for Computing Machinery},
DISABLEDaddress = {New York, NY, USA},
volume = {32},
number = {10},
issn = {0362-1340},
doi = {10.1145/263700.263754},
journal = {SIGPLAN Not.},
DISABLEDmonth = {10},
numpages = {9},
DISABLEDlocation = {Atlanta, Georgia, USA},
series = {OOPSLA '97}
}
@ARTICLE{jerding1998information,
journal={IEEE Transactions on Visualization and Computer Graphics},
title={The {Information Mural}: a technique for displaying and navigating large information spaces},
year={1998},
volume={4},
number={3},
pages={257-271},
doi={10.1109/2945.722299},
author = {Jerding, Dean F. and Stasko, John T.},
issue_date = {July 1998},
publisher = {IEEE Educational Activities Department},
DISABLEDaddress = {USA},
issn = {1077-2626},
abstract = {Information visualizations must allow users to browse information spaces and focus quickly on items of interest. Being able to see some representation of the entire information space provides an initial gestalt overview and gives context to support browsing and search tasks. However, the limited number of pixels on the screen constrain the information bandwidth and make it difficult to completely display large information spaces. The Information Mural is a two-dimensional, reduced representation of an entire information space that fits entirely within a display window or screen. The Mural creates a miniature version of the information space using visual attributes, such as gray-scale shading, intensity, color, and pixel size, along with antialiased compression techniques. Information Murals can be used as stand-alone visualizations or in global navigational views. We have built several prototypes to demonstrate the use of Information Murals in visualization applications; subject matter for these views includes computer software, scientific data, text documents, and geographic information.},
DISABLEDmonth = {7},
keywords = {navigation, data visualization, software visualization, focus+context, Information visualization, browsers.}
}
@inproceedings{ko2008debugging,
title = {Debugging Reinvented: Asking and Answering Why and Why Not Questions about Program Behavior},
author = {Ko, Amy J. and Myers, Brad A.},
booktitle = {Proceedings of the 30th International Conference on Software Engineering},
pages = {301--310},
year = {2008},
DISABLEDisbn = {9781605580791},
publisher = {Association for Computing Machinery},
DISABLEDaddress = {New York, NY, USA},
doi = {10.1145/1368088.1368130},
DISABLEDlocation = {Leipzig, Germany},
series = {ICSE '08}
}
@INPROCEEDINGS{krause2021live,
author={Krause, Alexander and Hansen, Malte and Hasselbring, Wilhelm},
booktitle={2021 Working Conference on Software Visualization (VISSOFT)},
title={Live Visualization of Dynamic Software Cities with Heat Map Overlays},
year={2021},
volume={},
number={},
pages={125-129},
doi={10.1109/VISSOFT52517.2021.00024}
}
@article{kruskal1983icicle,
title = {Icicle Plots: Better Displays for Hierarchical Clustering},
journal = {The American Statistician},
volume = {37},
number = {2},
pages = {162-168},
year = {1983},
publisher = {Taylor \& Francis},
doi = {10.1080/00031305.1983.10482733},
eprint = {https://www.tandfonline.com/doi/pdf/10.1080/00031305.1983.10482733},
author={Joseph B. Kruskal and James M. Landwehr},
ISSN = {00031305}
}
@INPROCEEDINGS{kuhn2008consistent,
booktitle = {2008 15th Working Conference on Reverse Engineering (WCRE)},
title = {Consistent Layout for Thematic Software Maps},
year = {2008},
volume = {},
issn = {1095-1350},
pages = {209-218},
abstract = {Software visualizations can provide a concise overview of a complex software system.Unfortunately, since software has no physical shape, there is no ``natural'' mapping of software to a two-dimensional space. As a consequence most visualizations tend to use a layout in which position and distance have no meaning, and consequently layout typical diverges from one visualization to another.We propose a consistent layout for software maps in which the position of a software artifact reflects its vocabulary, and distance corresponds to similarity of vocabulary.We use Latent Semantic Indexing (LSI) to map software artifacts to a vector space, and then use Multidimensional Scaling (MDS) to map this vector space down to two dimensions.The resulting consistent layout allows us to develop a variety of thematic software maps that express very different aspects of software while making it easy to compare them.The approach is especially suitable for comparing views of evolving software, since the vocabulary of software artifacts tends to be stable over time.},
keywords = {software visualization; program comprehension},
doi = {10.1109/WCRE.2008.45},
DISABLEDurl = {https://doi.ieeecomputersociety.org/10.1109/WCRE.2008.45},
publisher = {IEEE Computer Society},
DISABLEDaddress = {Los Alamitos, CA, USA},
DISABLEDmonth = {10},
author={Kuhn, Adrian and Loretan, Peter and Nierstrasz, Oscar}
}
@article{lange1997object,
author = {Lange, Danny B. and Nakamura, Yuichi},
title = {Object-Oriented Program Tracing and Visualization},
year = {1997},
issue_date = {May 1997},
publisher = {IEEE Computer Society Press},
volume = {30},
number = {5},
issn = {0018-9162},
doi = {10.1109/2.589912},
abstract = {Object orientation has changed software development for the better, but it has not really made programs easier to understand. Object-oriented program analysis tools remain rare because OO concepts such as inheritance and polymorphism render conventional analysis and presentation techniques insufficient. The authors describe a way to obtain, manipulate, and visualize OO execution traces that provides fine-grained localization information for program understanding. Applying dynamic analysis along with interactive visualization makes it possible to determine the exact program paths that influence particular objects and facilitates recognition of execution patterns. Because an object can invoke methods in itself and in other objects, an interaction graph becomes an important tool for modeling object interaction. However, even small toy programs may produce so many invocations that the interaction graph becomes unmanageable. The solution is to use search-space-reducing techniques such as merging, pruning, and slicing to remove unwanted information from the interaction graph, thereby limiting its complexity and size. The research prototype Program Explorer takes a user through a series of executions and visualizations to explain a given program and its framework. Although it was originally designed for C++, a version developed for IBM's System Object Model demonstrated that the concepts are applicable to OO languages in general. The authors believe Program Explorer can be applied to a wide range of software engineering problems, such as framework understanding to improve reuse, application logic analysis for maintenance, and visual debugging of OO code.},
journal = {Computer},
DISABLEDmonth = {5},
pages = {63–70},
numpages = {8},
DISABLEDaddress = {Los Alamitos, CA, USA}
}
@INPROCEEDINGS{langelier2008exploring,
author={Langelier, Guillaume and Sahraoui, Houari and Poulin, Pierre},
booktitle={2008 IEEE Symposium on Visual Languages and Human-Centric Computing},
title={Exploring the evolution of software quality with animated visualization},
year={2008},
volume={},
number={},
pages={13-20},
doi={10.1109/VLHCC.2008.4639052}
}
@inproceedings{lemieux2006visualization,
author = {Lemieux, Fran\c{c}ois and Salois, Martin},
title = {Visualization Techniques for Program Comprehension - A Literature Review},
year = {2006},
isbn = {1586036734},
publisher = {IOS Press},
DISABLEDaddress = {NLD},
abstract = {Understanding software is getting more complex as programs are getting ever bigger. Many believe that the key to this problem is better visualization. The objective of this document is to provide an as thorough as possible overview of this field. This is the starting point for further research and development in this critical area. Over 140 papers and nearly as many tools were reviewed for this purpose. This document presents the most relevant and significant ones. It also tries to identify the essential requirements of a software visualization component.},
booktitle = {Proceedings of the 2006 Conference on New Trends in Software Methodologies, Tools and Techniques: Proceedings of the Fifth SoMeT\_06},
pages = {22–47},
numpages = {26},
keywords = {System Understanding, Program Comprehension, Software Visualization},
url = {https://ebooks.iospress.nl/volumearticle/3136},
DISABLEDlocation = {Quebec City, Canada},
DISABLEDmonth = {10},
DISABLEDeditor = {Hamido Fujita and Mohamed Mejri},
series = {Frontiers in Artificial Intelligence and Applications},
volume = {147}
}
@inproceedings{lewis2003debugging,
title = {Debugging Backwards in Time},
author = {Lewis, Bil},
journal = {CoRR},
year = {2003},
volume = {cs.SE/0310016},
doi = {10.48550/ARXIV.CS/0310016},
numpages = {11},
booktitle = {Proceedings of the Fifth International Workshop on Automated Debugging (AADEBUG 2003)}
}
@inproceedings{lienhard2008practical,
author = {Lienhard, Adrian and Gîrba, Tudor and Nierstrasz, Oscar},
year = {2008},
DISABLEDmonth = {07},
pages = {592-615},
title = {Practical Object-oriented Back-in-time Debugging},
DISABLEDisbn = {978-3-540-70591-8},
doi = {10.1007/978-3-540-70592-5_25},
booktitle = {22nd European Conference on Object-oriented Programming (ECOOP 2008)},
series = {Lecture Notes in Computer Science},
volume = {5142},
publisher = {Springer Verlag},
DISABLEDaddress = {Paphos, Cyprus},
}
@INPROCEEDINGS{lienhard2008test,
author={Lienhard, Adrian and Girba, Tudor and Greevy, Orla and Nierstrasz, Oscar},
booktitle={2008 12th European Conference on Software Maintenance and Reengineering},
title={{Test Blueprints} - Exposing Side Effects in Execution Traces to Support Writing Unit Tests},
year={2008},
volume={},
number={},
pages={83-92},
doi={10.1109/CSMR.2008.4493303}
}
@inproceedings{lienhard2009flow,
title={Flow-centric, back-in-time debugging},
author={Lienhard, Adrian and Fierz, Julien and Nierstrasz, Oscar},
booktitle={Objects, Components, Models and Patterns: 47th International Conference, TOOLS EUROPE 2009, Zurich, Switzerland, June 29-July 3, 2009. Proceedings 47},
pages={272--288},
year={2009},
organization={Springer}
}
@inproceedings{lienhard2009taking,
title = {Taking an Object-centric View on Dynamic Information With Object Flow Analysis},
journal = {Computer Languages, Systems \& Structures},
volume = {35},
number = {1},
pages = {63-79},
year = {2009},
booktitle = {ESUG 2007 International Conference on Dynamic Languages (ESUG/ICDL 2007)},
issn = {1477-8424},
doi = {10.1016/j.cl.2008.05.006},
author = {Adrian Lienhard and Stéphane Ducasse and Tudor Gîrba},
keywords = {Dynamic analysis, Object flow analysis}
}
@inproceedings{limberger2019advanced,
author = {Limberger, Daniel and Scheibel, Willy and D\"{o}llner, J\"{u}rgen and Trapp, Matthias},
title = {Advanced Visual Metaphors and Techniques for Software Maps},
year = {2019},
DISABLEDisbn = {9781450376266},
publisher = {Association for Computing Machinery},
DISABLEDaddress = {New York, NY, USA},
doi = {10.1145/3356422.3356444},
abstract = {Software maps provide a general-purpose interactive user interface and information display for software analytics tools. This paper systematically introduces and classifies software maps as a treemap-based technique for software cartography. It provides an overview of advanced visual metaphors and techniques, each suitable for interactive visual analytics tasks, that can be used to enhance the expressiveness of software maps. Thereto, the metaphors and techniques are briefly described, located within a visualization pipeline model, and considered within the software map design space. Consequent applications and use cases w.r.t. different types of software system data and software engineering data are discussed, arguing for a versatile use of software maps in visual software analytics.},
booktitle = {Proceedings of the 12th International Symposium on Visual Information Communication and Interaction},
articleno = {11},
numpages = {8},
keywords = {treemap, information visualization, design space},
DISABLEDlocation = {Shanghai, China},
series = {VINCI '19}
}
@article{limberger2022visual,
journal={Journal of Visualization},
author = {Limberger, Daniel and Scheibel, Willy and D\"{o}llner, J\"{u}rgen and Trapp, Matthias},
title = {Visual Variables and Configuration of Software Maps},
year = {2022},
issue_date = {Feb 2023},
publisher = {Springer-Verlag},
DISABLEDaddress = {Berlin, Heidelberg},
volume = {26},
number = {1},
issn = {1343-8875},
doi = {10.1007/s12650-022-00868-1},
abstract = {Software maps provide a general-purpose interactive user interface and information display in software analytics. This paper classifies software maps as a containment-based treemap embedded into a 3D attribute space and introduces respective terminology. It provides a comprehensive overview of advanced visual metaphors and techniques, each suitable for interactive visual analytics tasks. The metaphors and techniques are briefly described, located within a visualization pipeline model, and considered within a software map design space. The general expressiveness and applicability of visual variables are detailed and discussed. Consequent applications and use cases for different software system data and software engineering data are discussed, arguing for the versatile use of software maps in visual software analytics.},
journal = {Journal of Visualization},
DISABLEDmonth = {9},
pages = {249–274},
numpages = {26},
keywords = {Software visualization, Treemaps, Visual variables, Design space}
}
@ARTICLE{vonMayrhauser1995program,
journal={Computer},
title={Program comprehension during software maintenance and evolution},
year={1995},
volume={28},
number={8},
pages={44-55},
doi={10.1109/2.402076},
author = {von Mayrhauser, Anneliese and Vans, A. Marie},
issue_date = {August 1995},
publisher = {IEEE Computer Society Press},
DISABLEDaddress = {Washington, DC, USA},
issn = {0018-9162},
DISABLEDmonth = {8}
}
@article{merino2018towards,
author = {Merino, Leonel and Ghafari, Mohammad and Nierstrasz, Oscar},
title = {Towards actionable visualization for software developers},
journal = {Journal of Software: Evolution and Process},
volume = {30},
number = {2},
pages = {e1923},
keywords = {actionable visualization, literature review, software visualization taxonomy},
doi = {https://doi.org/10.1002/smr.1923},
DISABLEDurl = {https://onlinelibrary.wiley.com/doi/abs/10.1002/smr.1923},
eprint = {https://onlinelibrary.wiley.com/doi/pdf/10.1002/smr.1923},
abstract = {Abstract Abundant studies have shown that visualization is advantageous for software developers, yet adopting visualization during software development is not a common practice due to the large effort involved in finding an appropriate visualization. Developers require support to facilitate that task. Among 368 papers in SOFTVIS/VISSOFT venues, we identify 86 design study papers about the application of visualization to relieve concerns in software development. We extract from these studies the task, need, audience, data source, representation, medium, and tool, and we characterize them according to the subject, process, and problem domain. On the one hand, we support software developers to put visualization in action by mapping existing visualization techniques to particular needs from different perspectives. On the other hand, we highlight the problem domains that are overlooked in the field and need more support.},
year = {2018}
}
@inproceedings{moreno2004visualizing,
author = {Moreno, Andr\'{e}s and Myller, Niko and Sutinen, Erkki and Ben-Ari, Mordechai},
title = {Visualizing Programs with {Jeliot 3}},
year = {2004},
DISABLEDisbn = {1581138679},
publisher = {Association for Computing Machinery},
DISABLEDaddress = {New York, NY, USA},
doi = {10.1145/989863.989928},
abstract = {We present a program visualization tool called Jeliot 3 that is designed to aid novice students to learn procedural and object oriented programming. The key feature of Jeliot is the fully or semi-automatic visualization of the data and control flows. The development process of Jeliot has been research-oriented, meaning that all the different versions have had their own research agenda rising from the design of the previous version and their empirical evaluations. In this process, the user interface and visualization has evolved to better suit the targeted audience, which in the case of Jeliot 3, is novice programmers. In this paper we explain the model for the system and introduce the features of the user interface and visualization engine. Moreover, we have developed an intermediate language that is used to decouple the interpretation of the program from its visualization. This has led to a modular design that permits both internal and external extensibility.},
booktitle = {Proceedings of the Working Conference on Advanced Visual Interfaces},
pages = {373–376},
numpages = {4},
keywords = {novice programming, program visualization},
DISABLEDlocation = {Gallipoli, Italy},
series = {AVI '04}
}
@inproceedings{mortara2021visualization,
title={Visualization of Object-Oriented Variability Implementations as Cities},
author={Mortara, Johann and Collet, Philippe and Dery-Pinna, Anne-Marie},
booktitle={2021 Working Conference on Software Visualization (VISSOFT)},
pages={76--87},
year={2021},
organization={IEEE},
year={2021},
doi={10.1109/VISSOFT52517.2021.00017},
publisher = {IEEE Computer Society},
DISABLEDaddress = {Los Alamitos, CA, USA},
DISABLEDmonth = {7}
}
@inproceedings{munzner1997h3,
author = {Munzner, Tamara},
title = {{H3}: Laying out Large Directed Graphs in {3D} Hyperbolic Space},
year = {1997},
isbn = {0818681896},
publisher = {IEEE Computer Society},
DISABLEDaddress = {USA},
abstract = {We present the H3 layout technique for drawing large directed graphs as node-link diagrams in 3D hyperbolic space. We can lay out much larger structures than can be handled using traditional techniques for drawing general graphs because we assume a hierarchical nature of the data. We impose a hierarchy on the graph by using domain-specific knowledge to find an appropriate spanning tree. Links which are not part of the spanning tree do not influence the layout but can be selectively drawn by user request. The volume of hyperbolic 3-space increases exponentially, as opposed to the familiar geometric increase of euclidean 3-space. We exploit this exponential amount of room by computing the layout according to the hyperbolic metric. We optimize the cone tree layout algorithm for 3D hyperbolic space by placing children on a hemisphere around the cone mouth instead of on its perimeter. Hyperbolic navigation affords a Focus+Context view of the structure with minimal visual clutter. We have successfully laid out hierarchies of over 20,000 nodes. Our implementation accommodates navigation through graphs too large to be rendered interactively by allowing the user to explicitly prune or expand subtrees.},
booktitle = {Proceedings of the 1997 IEEE Symposium on Information Visualization (InfoVis '97)},
pages = {2},
keywords = {optimization, hierarchical data, directed graphs, graph drawing, cone tree layout algorithm, H3 layout technique, data visualization, 3D hyperbolic space, visual clutter, subtree pruning, euclidean 3-space, large directed graphs, node-link diagrams, spanning tree, domain-specific knowledge, hyperbolic navigation},
series = {INFOVIS '97},
journal={Proceedings of VIZ '97: Visualization Conference, Information Visualization Symposium and Parallel Rendering Symposium},
DISABLEDlocation = {Phoenix, Arizona},
DISABLEDmonth = {10},
url = {https://graphics.stanford.edu/papers/h3/}
}
@inproceedings{myers1986visual,
author = {Myers, Brad A.},
title = {Visual Programming, Programming by Example, and Program Visualization: A Taxonomy},
year = {1986},
DISABLEDisbn = {0897911806},
publisher = {Association for Computing Machinery},
DISABLEDaddress = {New York, NY, USA},
doi = {10.1145/22627.22349},
booktitle = {Proceedings of the SIGCHI Conference on Human Factors in Computing Systems},
pages = {59–66},
numpages = {8},
DISABLEDlocation = {Boston, Massachusetts, USA},
series = {CHI '86},
DISABLEDmonth = {04},
volume = {17},
journal = {ACM SIGCHI Bulletin}
}
@INPROCEEDINGS{noda2017identifying,
author={Noda, Kunihiro and Kobayashi, Takashi and Toda, Tatsuya and Atsumi, Noritoshi},
booktitle={2017 IEEE 41st Annual Computer Software and Applications Conference (COMPSAC)},
title={Identifying Core Objects for Trace Summarization Using Reference Relations and Access Analysis},
year={2017},
volume={1},
number={},
pages={13-22},
doi={10.1109/COMPSAC.2017.142}
}
@incollection{norman1986cognitive,
title = {Cognitive Engineering},
author = {Norman, Donald A.},
booktitle = {User-centered System Design: New Perspectives on Human-computer Interaction},
year = {1986},
DISABLEDmonth = {01},
publisher = {Lawrence Erlbaum Associates},
DISABLEDaddress = {Hillsdale, NJ, USA},
pages = {31-61},
isbn = {9780367807320},
INVALIDdoi = {10.1201/b15703-3},
url = {https://www.researchgate.net/profile/Donald-Norman-3/publication/235616560_Cognitive_Engineering/links/0c960536c18209b825000000/Cognitive-Engineering.pdf}
}
@inproceedings{dePauw1998execution,
author = {de Pauw, Wim and Lorenz, David and Vlissides, John and Wegman, Mark},
title = {Execution Patterns in Object-Oriented Visualization},
year = {1998},
publisher = {USENIX Association},
DISABLEDaddress = {USA},
abstract = {Execution patterns are a new metaphor for visualizing execution traces of object-oriented programs. We present an execution pattern view that lets a programmer visualize and explore a program's execution at varied levels of abstraction. The view employs visual, navigational, and analytical techniques that accommodate lengthy, real-world traces. By classifying repetitive behavior automatically into high-order execution patterns, we drastically reduce the inform ation a programmer must assimilate, with little loss of in sight.},
booktitle = {Proceedings of the 4th Conference on USENIX Conference on Object-Oriented Technologies and Systems - Volume 4},
pages = {16},
numpages = {1},
DISABLEDlocation = {Santa Fe, New Mexico},
series = {COOTS'98},
url = {https://www.usenix.org/legacy/publications/library/proceedings/coots98/full_papers/depauw/depauw.pdf}
}
@inproceedings{dePauw1994modeling,
author = {de Pauw, Wim and Kimelman, Doug and Vlissides, John M.},
title = {Modeling Object-Oriented Program Execution},
year = {1994},
DISABLEDisbn = {3540582029},
publisher = {Springer-Verlag},
DISABLEDaddress = {Berlin, Heidelberg},
booktitle = {Proceedings of the 8th European Conference on Object-Oriented Programming},
pages = {163–182},
numpages = {20},
series = {ECOOP '94},
doi={10.1007/BFb0052182},
DISABLEDeditor={Tokoro, Mario and Pareschi, Remo}
}
@article{perscheid2012test,
title={Test-driven Fault Navigation for Debugging Reproducible Failures},
author={Michael Perscheid and Michael Haupt and Robert Hirschfeld and Hidehiko Masuhara},
journal={Information and Media Technologies},
volume={7},
number={4},
pages={1377-1400},
year={2012},
doi={10.11185/imt.7.1377}
}
@article{pothier2009back,
title = {Back to the Future: Omniscient Debugging},
author = {Pothier, Guillaume and Tanter, {\'E}ric},
journal = {IEEE Software},
volume = {26},
number = {6},
pages = {78--85},
year = {2009},
publisher = {IEEE Computer Society Press},
doi = {10.1109/MS.2009.169},
issn = {1937-4194},
DISABLEDaddress = {Los Alamitos, CA, USA},
DISABLEDmonth = {11}
}
@online{prestin2022hidden,
url = {https://github.com/LucPrestin/Hidden-Modularity},
urldate = {2023-05-05},
title = {Hidden Modularity},
author = {Luc Prestin},
year = {2022}
}
@inproceedings{reiss2006visualizing,
author = {Reiss, Steven P.},
title = {Visualizing Program Execution Using User Abstractions},
year = {2006},
DISABLEDisbn = {1595934642},
publisher = {Association for Computing Machinery},
DISABLEDaddress = {New York, NY, USA},
doi = {10.1145/1148493.1148512},
abstract = {A practical system that uses visualization for understanding the execution of complex programs must offer the user views of the execution that are specific to the program being understood and the particular problem at hand without significantly slowing down or perturbing the system being examined. This paper describes a visualization data model and its implementation that accomplishes this. The model starts with program events that can be instrumented efficiently and with little overhead. It uses extended finite state automata to model program behaviors in terms of events. It builds time-varying data structures based on these automata. The data structures are then made available to various visualizations through a set of mappings that let the user dynamically control the visualization. The model and its implementation have been demonstrated on a range of specific understanding problems with a variety of different visualizations.},
booktitle = {Proceedings of the 2006 ACM Symposium on Software Visualization},
pages = {125–134},
numpages = {10},
keywords = {run-time monitoring, dynamic software visualization, instrumentation},
DISABLEDlocation = {Brighton, United Kingdom},
series = {SoftVis '06}
}
@article{reiss2007visual,
title = {Visual representations of executing programs},
journal = {Journal of Visual Languages \& Computing},
volume = {18},
number = {2},
pages = {126-148},
year = {2007},
note = {Selected papers from Visual Languages and Computing 2005 (VLC '05)},
issn = {1045-926X},
doi = {10.1016/j.jvlc.2007.01.003},
DISABLEDurl = {https://www.sciencedirect.com/science/article/pii/S1045926X07000043},
author = {Reiss, Steven P.},
keywords = {Software visualization, Execution visualization, Software tools, Programming environments},
abstract = {Programmers have always been curious about what their programs are doing while it is executing, especially when the behavior is not what they are expecting. Since program execution is intricate and involved, visualization has long been used to provide the programmer with appropriate insights into program execution. This paper looks at the evolution of on-line visual representations of executing programs, showing how they have moved from concrete representations of relatively small programs to abstract representations of larger systems. Based on this examination, we describe the challenges implicit in future execution visualizations and methodologies that can meet these challenges.}
}
@article{robertson2009scale,
author = {Robertson, George and Ebert, David and Eick, Stephen and Keim, Daniel and Joy, Ken},
title = {Scale and Complexity in Visual Analytics},
year = {2009},
issue_date = {December 2009},
publisher = {Palgrave Macmillan},
volume = {8},
number = {4},
issn = {1473-8716},
doi = {10.1057/ivs.2009.23},
abstract = {The fundamental problem that we face is that a variety of large-scale problems in security, public safety, energy, ecology, health care and basic science all require that we process and understand increasingly vast amounts and variety of data. There is a growing impedance mismatch between data size/complexity and the human ability to understand and interact with data. Visual analytic tools are intended to help reduce that impedance mismatch by using analytic tools to reduce the amount of data that must be viewed, and visualization tools to help understand the patterns and relationships in the reduced data. But visual analytic tools must DISABLEDaddress a variety of scalability issues if they are to succeed. In this paper, we characterize the scalability and complexity issues in visual analytics. We discuss some highlights on progress that has been made in the past 5 years, as well as key areas where more progress is needed.},
journal = {Information Visualization},
DISABLEDmonth = {10},
pages = {247–253},
numpages = {7},
keywords = {analytics, scalability, visual analytics, visualization}
}
@incollection{rowledge2001tour,
title = {A Tour of the {Squeak} Object Engine},
author = {Rowledge, Tim},
DISABLEDeditor = {Guzdial, Mark J. and Rose, Kimberly M.},
booktitle = {Squeak: Open Personal Computing and Multimedia},
year = {2001},
numpages = {26},
url = {https://rmod-files.lille.inria.fr/FreeBooks/CollectiveNBlueBook/Rowledge-Final.pdf},
isbn = {0130280917},
publisher = {Prentice Hall PTR},
DISABLEDaddress = {USA},
edition = {1st}
}
@article{sandberg1988smalltalk,
author = {Sandberg, David W.},
title = {Smalltalk and Exploratory Programming},
year = {1988},
issue_date = {Oct. 1988},
publisher = {Association for Computing Machinery},
DISABLEDaddress = {New York, NY, USA},
volume = {23},
number = {10},
issn = {0362-1340},
doi = {10.1145/51607.51614},
journal = {SIGPLAN Not.},
DISABLEDmonth = {oct},
pages = {85--92},
numpages = {8}
}
@INPROCEEDINGS{sasso2015blended,
author={Dal Sasso, Tommaso and Minelli, Roberto and Mocci, Andrea and Lanza, Michele},
booktitle={3rd IEEE Working Conference on Software Visualization (VISSOFT)},
title={Blended, not stirred: Multi-concern visualization of large software systems},
year={2015},
volume={},
number={},
pages={106-115},
doi={10.1109/VISSOFT.2015.7332420},
DISABLEDaddress={Bremen, Germany},
DISABLEDmonth={9},
publisher = {IEEE},
DISABLEDisbn = {978-1-4673-7526-9}
}
@mastersthesis{schweizer2014pathobjects,
title = {{PathObjects}: revealing object interactions to assist developers in program comprehension},
author = {Leon Schweizer},
year = {2014},
institution = {Hasso Plattner Institute, University of Potsdam},
url = {https://github.com/leoschweizer/PathObjects-Thesis}
}
@book{shneiderman2005designing,
title = {Designing the user interface: strategies for effective human-computer interaction},
author = {Shneiderman, Ben and Plaisant, Catherine},
edition = {4th},
year = {2005},
publisher = {Pearson Education},
DISABLEDaddress = {India},
isbn = {0-321-19786-0},
url = {http://seu1.org/files/level5/IT201/Book%20-%20Ben%20Shneiderman-Designing%20the%20User%20Interface-4th%20Edition.pdf}
}
@article{sorva2013review,
title={A review of generic program visualization systems for introductory programming education},
author={Sorva, Juha and Karavirta, Ville and Malmi, Lauri},
journal={ACM Transactions on Computing Education (TOCE)},
volume={13},
number={4},
pages={1--64},
year={2013},
issue_date = {November 2013},
publisher = {Association for Computing Machinery},
DISABLEDaddress = {New York, NY, USA},
doi = {10.1145/2490822},
DISABLEDmonth = {11},
articleno = {15},
numpages = {64}
}
@article{systä2001shimba,
author = {Systä, Tarja and Koskimies, Kai and Müller, Hausi},
title = {{Shimba} — an environment for reverse engineering Java software systems},
journal = {Software: Practice and Experience},
volume = {31},
number = {4},
pages = {371-394},
keywords = {software reverse engineering, reverse engineering environment, program comprehension, SCED, Rigi, Java},
doi = {10.1002/spe.386},
DISABLEDurl = {https://onlinelibrary.wiley.com/doi/abs/10.1002/spe.386},
eprint = {https://onlinelibrary.wiley.com/doi/pdf/10.1002/spe.386},
abstract = {Abstract Shimba is a reverse engineering environment to support the understanding of Java software systems. Shimba integrates the Rigi and SCED tools to analyze and visualize the static and dynamic aspects of a subject system. The static software artifacts and their dependencies are extracted from Java byte code and viewed as directed graphs using the Rigi reverse engineering environment. The run-time information is generated by running the target software under a customized SDK debugger. The generated information is viewed as sequence diagrams using the SCED tool. In SCED, statechart diagrams can be synthesized automatically from sequence diagrams, allowing the user to investigate the overall run-time behavior of objects in the target system. Shimba provides facilities to manage the different diagrams and to trace artifacts and relations across views. In Shimba, SCED sequence diagrams are used to slice the static dependency graphs produced by Rigi. In turn, Rigi graphs are used to guide the generation of SCED sequence diagrams and to raise their level of abstraction. We show how the information exchange among the views enables goal-driven reverse engineering tasks and aids the overall understanding of the target software system. The FUJABA software system serves as a case study to illustrate and validate the Shimba reverse engineering environment. Copyright © 2001 John Wiley \& Sons, Ltd.},
year = {2001}
}
@ARTICLE{teyseyre2009overview,
author={Teyseyre, Alfredo R. and Campo, Marcelo R.},
journal={IEEE Transactions on Visualization and Computer Graphics},
title={An Overview of {3D} Software Visualization},
year={2009},
volume={15},
number={1},
pages={87-105},
doi={10.1109/TVCG.2008.86}
}
@book{thiede2023squeak,
author = {Christoph Thiede and Patrick Rein},
title = {Squeak by example},
volume = {6.0},
year = {2023},
numpages = {328},
url = {https://www.lulu.com/shop/patrick-rein-and-christoph-thiede/squeak-by-example-60/paperback/product-8vr2j2.html},
pdf = {https://github.com/hpi-swa-lab/SqueakByExample-english/releases/download/6.0/SBE-6.0.pdf},
publisher = {Lulu},
isbn = {9781447629481},
note = {ISBN 978-1-4476-2948-1}
}
@inproceedings{thiede2023object,
title = {Object-Centric Time-Travel Debugging: Exploring Traces of Objects},
booktitle = {Companion Proceedings of the 7th International Conference on the Art, Science, and Engineering of Programming},
series = {<Programming> '23},
author = {Christoph Thiede and Marcel Taeumel and Robert Hirschfeld},
year = {2023},
DISABLEDmonth = {3},
days = {13--17},
DISABLEDlocation = {Tokyo, Japan},
publisher = {ACM},
DISABLEDaddress = {New York, NY, USA},
numpages = {7},
url = {https://2023.programming-conference.org/details/px-2023-papers/9/Object-centric-Time-Travel-Debugging-Exploring-Traces-of-Objects},
doi = {10.1145/3594671.3594678}
}
@inproceedings{thiede2023time,
title = {Time-Awareness in Object Exploration Tools: Toward In Situ Omniscient Debugging},
booktitle = {Proceedings of the 2023 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software},
series = {Onward! '23},
author = {Christoph Thiede and Marcel Taeumel and Robert Hirschfeld},
year = {2023},
DISABLEDmonth = {10},
days = {25--27},
DISABLEDlocation = {Cascais, Portugal},
publisher = {ACM},
DISABLEDaddress = {New York, NY, USA},
numpages = {14},
doi = {10.1145/3622758.3622892},
url = {https://2023.splashcon.org/details/splash-2023-Onward-papers/6/Time-awareness-in-Object-exploration-Tools-Toward-In-Situ-Omniscient-Debugging},
note = {To appear}
}
@thesis{tramnitzke2007object,
title={Object call graph visualization},
author={Danny Tramnitzke},
year={2007},
institution={Växjö University},
type={Bachelor Thesis},
url={https://www.diva-portal.org/smash/get/diva2:205514/FULLTEXT01.pdf}
}
@inproceedings{trumper2012viewfusion,
title={{ViewFusion}: Correlating Structure and Activity Views for Execution Traces},
author={Tr{\"u}mper, Jonas and Telea, Alexandru C. and D{\"o}llner, J{\"u}rgen},
pages={45--52},
year={2012},
DISABLEDmonth = {01},
journal = {Theory and Practice of Computer Graphics 2012, TPCG 2012 - Eurographics UK Chapter Proceedings},
doi = {10.2312/LocalChapterEvents/TPCG/TPCG12/045-052},
booktitle = {Theory and Practice of Computer Graphics},
DISABLEDeditor = {Hamish Carr and Silvester Czanner},
publisher = {The Eurographics Association},
DISABLEDISBN = {978-3-905673-93-7}
}
@article{ungar1997debugging,
author = {Ungar, David and Lieberman, Henry and Fry, Christopher},
title = {Debugging and the Experience of Immediacy},
year = {1997},
issue_date = {April 1997},
publisher = {Association for Computing Machinery},
DISABLEDaddress = {New York, NY, USA},
volume = {40},
number = {4},
issn = {0001-0782},
doi = {10.1145/248448.248457},
journal = {Commun. ACM},
DISABLEDmonth = {4},
pages = {38--43},
numpages = {6}
}