forked from wbsnipes/ASDChapter
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path26Snipes_Bibliography.bib
More file actions
1116 lines (992 loc) · 63.8 KB
/
26Snipes_Bibliography.bib
File metadata and controls
1116 lines (992 loc) · 63.8 KB
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
@inproceedings{Zou-ComanIndustry,
author = {Zou, Lijie and Godfrey, Michael W.},
title = {An Industrial Case Study of Coman's Automated Task Detection Algorithm: What Worked, What Didn'T, and Why},
booktitle = {Proceedings of the 2012 IEEE International Conference on Software Maintenance (ICSM)},
series = {ICSM '12},
year = {2012},
isbn = {978-1-4673-2313-0},
pages = {6--14},
numpages = {9},
doi = {10.1109/ICSM.2012.6405247},
acmid = {2473556},
publisher = {IEEE Computer Society},
address = {Washington, DC, USA},
keywords = {Tuning,Switches,Software maintenance,Software algorithms,Smoothing methods,Time series analysis,case study,task boundary detection},
}
@inproceedings{Coman-TaskIdent,
author = {Coman, Irina Diana and Sillitti, Alberto},
title = {Automated Identification of Tasks in Development Sessions},
booktitle = {Proceedings of the 2008 The 16th IEEE International Conference on Program Comprehension},
series = {ICPC '08},
year = {2008},
isbn = {978-0-7695-3176-2},
pages = {212--217},
numpages = {6},
doi = {10.1109/ICPC.2008.16},
acmid = {1438607},
publisher = {IEEE Computer Society},
address = {Washington, DC, USA},
keywords = {Task Detection, Program Comprehension, Concerns},
}
@inproceedings{FastDash,
author = {Biehl, Jacob T. and Czerwinski, Mary and Smith, Greg and Robertson, George G.},
title = {FASTDash: A Visual Dashboard for Fostering Awareness in Software Teams},
booktitle = {Proceedings of the SIGCHI Conference on Human Factors in Computing Systems},
series = {CHI '07},
year = {2007},
isbn = {978-1-59593-593-9},
location = {San Jose, California, USA},
pages = {1313--1322},
numpages = {10},
doi = {10.1145/1240624.1240823},
acmid = {1240823},
publisher = {ACM},
address = {New York, NY, USA},
keywords = {awareness, collaborative programming, field study, large display, visualization},
}
@inproceedings{Kersten-Mylyn,
author = {Kersten, Mik and Murphy, Gail C.},
title = {Using Task Context to Improve Programmer Productivity},
booktitle = {Proceedings of the 14th ACM SIGSOFT International Symposium on Foundations of Software Engineering},
series = {SIGSOFT '06/FSE-14},
year = {2006},
isbn = {1-59593-468-5},
location = {Portland, Oregon, USA},
pages = {1--11},
numpages = {11},
doi = {10.1145/1181775.1181777},
acmid = {1181777},
publisher = {ACM},
address = {New York, NY, USA},
keywords = {IDE, degree-of-interest, interaction history, program views, task management},
}
@inproceedings{Kersten-Mylar2005,
author = {Kersten, Mik and Murphy, Gail C.},
title = {Mylar: A Degree-of-interest Model for IDEs},
booktitle = {Proceedings of the 4th International Conference on Aspect-oriented Software
Development},
series = {AOSD '05},
year = {2005},
isbn = {1-59593-042-6},
location = {Chicago, Illinois},
pages = {159--168},
numpages = {10},
doi = {10.1145/1052898.1052912},
acmid = {1052912},
publisher = {ACM},
address = {New York, NY, USA},
keywords = {development tools, program structure, program views, software evolution, software
tasks, task representation},
}
@phdthesis{kersten2007focusing,
title={Focusing knowledge work with task context},
author={Kersten, Mik},
year={2007},
school={The University of British Columbia}
}
@inproceedings{V:Johnson2007Automated,
abstract = {{Zorro is a system designed to automatically determine whether a developer is complying with an operational definition of test-driven development (TDD) practices. Automated recognition of TDD can benefit the software development community in a variety of ways, from inquiry into the "true nature" of TDD, to pedagogical aids to support the practice of test-driven development, to support for more rigorous empirical studies on the effectiveness of TDD in both laboratory and real world settings. This paper introduces the Zorro system, its operational definition of TDD, the analyses made possible by Zorro, and our ongoing efforts to validate the system.}},
author = {Johnson, P. M. and Kou, Hongbing},
booktitle = {Agile Conference (AGILE), 2007},
citeulike-article-id = {11538873},
doi = {10.1109/AGILE.2007.16},
institution = {Univ. of Hawaii, Honolulu},
isbn = {0-7695-2872-4},
keywords = {gamification, sw\_engineering},
month = aug,
pages = {15--25},
posted-at = {2012-10-24 17:51:39},
priority = {2},
publisher = {IEEE},
title = {{Automated Recognition of Test-Driven Development with Zorro}},
year = {2007}
}
@article{Kou2010Operational,
abstract = {{Test-driven development (TDD) is a style of development named for its most visible characteristic: the design and implementation of test cases prior to the implementation of the code required to make them pass. Many claims have been made for TDD: that it can improve implementation as well as design quality, that it can improve productivity, that it results in 100\% coverage, and so forth. However, research to validate these claims has yielded mixed and sometimes contradictory results. We believe that at least part of the reason for these results stems from differing interpretations of the TDD development style, along with an inability to determine whether programmers actually follow whatever definition of TDD is in use.
Zorro is a system designed to automatically determine whether a developer is complying with an operational definition of Test-Driven Development (TDD) practices. Automated recognition of TDD can benefit the software development community in a variety of ways, from inquiry into the true nature of TDD, to pedagogical aids to support the practice of test-driven development, to support for more rigorous empirical studies on the effectiveness of TDD in both laboratory and real world settings.
This paper describes the Zorro system, its operational definition of TDD, the analyses made possible by Zorro, two empirical evaluations of the system, and an attempted case study. Our research shows that it is possible to define an operational definition of TDD that is amenable to automated recognition, and illustrates the architectural and design issues that must be addressed in order to do so. Zorro has implications not only for the practice of TDD, but also for software engineering micro-process definition and recognition through its parent framework, Software Development Stream Analysis.}},
author = {Kou, Hongbing and Johnson, PhilipM and Erdogmus, Hakan},
booktitle = {Automated Software Engineering},
doi = {10.1007/s10515-009-0058-8},
journal = {Automated Software Engineering},
keywords = {hackystat, tdd},
number = {1},
pages = {57--85},
posted-at = {2013-09-02 14:22:59},
priority = {4},
publisher = {Springer US},
title = {{Operational definition and automated inference of test-driven development with Zorro}},
volume = {17},
year = {2010}
}
@article{V:Wasserman1996Toward,
abstract = {{Despite rapid changes in computing and software development, some fundamental ideas have remained constant. This article describes eight such concepts that together constitute a viable foundation for a software engineering discipline: abstraction, analysis and design methods and notations, user interface prototyping, modularity and architecture, software life cycle and process, reuse, metrics, and automated support}},
author = {Wasserman, A. I.},
doi = {10.1109/52.542291},
issn = {0740-7459},
journal = {IEEE Software},
keywords = {gamification, sw\_engineering},
month = nov,
number = {6},
pages = {23--31},
posted-at = {2012-10-24 16:08:10},
priority = {2},
publisher = {IEEE},
title = {{Toward a discipline of software engineering}},
volume = {13},
year = {1996}
}
@inproceedings{V:Sillitti2003Collecting,
abstract = {{Measures represent important data in all engineering disciplines. This data allows engineers to understand how things work and how to make changes to produce desired results. In software engineering, it is difficult to collect useful measures because developers do not consider it an important activity, compared to coding. Moreover, manual collected data is often affected by errors, making it unusable. The shortage of automated tools for collecting and analyzing measures does not contribute to the evolution of software engineering. We present PROM (PRO Metrics), an automated tool for collecting and analyzing software metrics as well as personal software process (PSP) data. The tool uses an architecture based on plug-ins that automatically collects data from development tools.}},
author = {Sillitti, A. and Janes, A. and Succi, G. and Vernazza, T.},
booktitle = { Proceedings of the 29th Euromicro Conference},
comment = {Presents a system PROM (or PRO Metrics) for automatically collecting "personal software process" data in order to improve the software development process for organizations. It does not present analysis of data and focuses on the collection process. The authors compare it to Hackystat.},
doi = {10.1109/EURMIC.2003.1231611},
institution = {DIST, Genova Univ., Italy},
isbn = {0-7695-1996-2},
issn = {1089-6503},
keywords = {gamification, sw\_engineering},
pages = {336--342},
posted-at = {2012-10-24 16:04:25},
priority = {2},
publisher = {IEEE},
title = {{Collecting, integrating and analyzing software metrics and personal software process data}},
year = {2003}
}
@inproceedings{V:banerjee2001clickstream,
author = {Banerjee, A. and Ghosh, J.},
booktitle = {Proceedings of the Web Mining Workshop at the 1st SIAM Conference on Data Mining},
citeulike-article-id = {11538033},
keywords = {gamification, sw\_engineering},
posted-at = {2012-10-24 15:57:19},
priority = {2},
title = {{Clickstream Clustering Using Weighted Longest Common Subsequences}},
year = {2001}
}
@inproceedings{V:Tan2008Elearning,
abstract = {{E-learning recommendation system helps learners to make choices without sufficient personal experience of the alternatives, and it is considerably requisite in this information explosion age. In our study, the user-based collaborative filtering method is chosen as the primary recommendation algorithm, combined with online education. We analyze the requirement of a web-based e-learning recommendation system, and divide the system workflow into five sections: data collection, data ETL, model generation, strategy configuration, and service supply. Moreover, an architecture is proposed, based on which further development can be accomplished. In this architecture, there are seven modules, and four of them are core modules: recommendation models database, recommendation system database, recommendation management, data/model management.}},
author = {Tan, Huiyi and Guo, Junfei and Li, Yong},
booktitle = {International Conference on Computer Science and Software Engineering, 2008},
citeulike-article-id = {11537878},
citeulike-linkout-0 = {http://dx.doi.org/10.1109/CSSE.2008.305},
citeulike-linkout-1 = {http://ieeexplore.ieee.org/xpls/abs\_all.jsp?arnumber=4722931},
doi = {10.1109/CSSE.2008.305},
institution = {Int. Sch. of Software, Wuhan Univ., Wuhan, China},
isbn = {978-0-7695-3336-0},
keywords = {gamification, sw\_engineering},
month = dec,
pages = {430--433},
posted-at = {2012-10-24 15:39:35},
priority = {2},
publisher = {IEEE},
title = {{E-learning Recommendation System}},
volume = {5},
year = {2008}
}
@inproceedings{V:Atterer2007Tracking,
abstract = {{In this paper, we introduce an implementation for detailed monitoring of user actions on web pages. It addresses the problem that the log data recorded by standard web servers is not sufficient for the tracking of users on AJAX websites, e.g. to conduct a usability test. Using standard web technologies, our HTTP proxy can record very detailed usage information, such as mouse movements, clicks, key presses and scrolling, together with the exact HTML DOM tree objects involved. As we show in several case studies, the tracking also works across multiple websites, none of which needs to be under our control. This approach is much less invasive than previous efforts: The test person does not need to install software on her computer, and in certain operation modes, no configuration changes at all are required on her computer. Our research indicates that if the technology described in this paper is employed, arbitrary visitors of a website are more likely to take part in a usability test offered by that site -- this facilitates recruiting test participants over the Internet.}},
author = {Atterer, Richard and Schmidt, Albrecht},
booktitle = {Proceedings of the SIGCHI Conference on Human Factors in Computing Systems},
citeulike-article-id = {2272265},
citeulike-linkout-0 = {http://portal.acm.org/citation.cfm?id=1240624.1240828},
citeulike-linkout-1 = {http://dx.doi.org/10.1145/1240624.1240828},
doi = {10.1145/1240624.1240828},
isbn = {978-1-59593-593-9},
keywords = {gamification, sw\_engineering, user\_patterns},
pages = {1347--1350},
posted-at = {2012-10-23 18:51:11},
priority = {2},
publisher = {ACM},
series = {CHI '07},
title = {{Tracking the interaction of users with AJAX applications for usability testing}},
year = {2007}
}
@article{wbsnipes:Robillard2004How,
abstract = {{Prior to performing a software change task, developers must discover and understand the subset of the system relevant to the task. Since the behavior exhibited by individual developers when investigating a software system is influenced by intuition, experience, and skill, there is often significant variability in developer effectiveness. To understand the factors that contribute to effective program investigation behavior, we conducted a study of five developers performing a change task on a medium-size open source system. We isolated the factors related to effective program investigation behavior by performing a detailed qualitative analysis of the program investigation behavior of successful and unsuccessful developers. We report on these factors as a set of detailed observations, such as evidence of the phenomenon of inattention blindness by developers skimming source code. In general, our results support the intuitive notion that a methodical and structured approach to program investigation is the most effective.}},
author = {Robillard, M. P. and Coelho, W. and Murphy, G. C.},
comment = {(private-note)explores hypotheses around how developers can be more effective at performing a maintenance task. Conclusions are that developers can be more effective using a methodological and structured approach relying on the structure of the program than approaches relying upon naming conventions and browsing the code. Key points proven is that developers who understand the code and create a detailed plan for implementing the change are faster and more successful. Developers who use structured navigation through dependencies and relationships and keyword searches in the code are more successful than developers who scan the text looking for methods or other elements. One factor may be a psychological effect known as inattention blindness where people not searching for something will miss the occurrence. "e.g. gorilla on basketball court video". Developers who did not re-investigate methods frequently were more successful. },
doi = {10.1109/TSE.2004.101},
institution = {Sch. of Comput. Sci., McGill Univ., Montreal, Que., Canada},
issn = {0098-5589},
journal = {IEEE Trans. Softw. Eng.},
keywords = {gamification},
month = Dec,
pages = {889--903},
posted-at = {2012-10-22 18:19:43},
priority = {5},
publisher = {IEEE},
title = {{How effective developers investigate source code: an exploratory study}},
volume = {30},
year = {2004}
}
@inproceedings{wbsnipes:Hill2011Peer,
abstract = {{Computer users rely on software tools to work effectively and efficiently, but it is difficult for users to be aware of all the tools that might be useful to them. While there are several potential technical solutions to this difficulty, we know little about social solutions, such as one user telling a peer about a tool. To explore these social solutions in one particular domain, we describe a series of interviews with 18 programmers in industry that explore how tool discovery takes place. These interviews provide a rich set of qualitative data that give us detailed insights into how programmers discover tools. One finding was that, while programmers believe that discovery from peers is effective, they actually discover tools from peers relatively infrequently. Another finding was that programmers can effectively discover tools from their peers both in a co-located and remote settings. We describe several implications of our findings, such as that discovery from peers can be enhanced by improving programmers' ability to communicate openly and concisely about tools.}},
author = {Murphy-Hill, Emerson and Murphy, Gail C.},
booktitle = {Proceedings of the ACM 2011 Conference on Computer supported cooperative work},
citeulike-article-id = {10925814},
citeulike-linkout-0 = {http://portal.acm.org/citation.cfm?id=1958888},
citeulike-linkout-1 = {http://dx.doi.org/10.1145/1958824.1958888},
doi = {10.1145/1958824.1958888},
isbn = {978-1-4503-0556-3},
keywords = {devcoach},
pages = {405--414},
posted-at = {2012-07-24 18:46:58},
priority = {4},
publisher = {ACM},
series = {CSCW '11},
title = {{Peer interaction effectively, yet infrequently, enables programmers to discover new tools}},
year = {2011}
}
@article{wbsnipes:MaehrCulture,
author = {Maehr, M.},
citeulike-article-id = {11328991},
howpublished = {PsycARTICLES, Ipswich, MA.},
journal = {American Psychologist},
keywords = {motivation},
number = {29},
pages = {887--896},
posted-at = {2012-09-26 20:38:04},
priority = {0},
title = {{Culture and achievement motivation.}},
volume = {1974},
year = {1974}
}
@inproceedings{wbsnipes:Hamari2011Framework,
author = {Hamari, Juho and Eranti, Veikko},
booktitle = {Digra 2011 Conference},
citeulike-article-id = {11424566},
day = {14-17},
journal = {Proceedings of Digra 2011 Conference: Think Design Play},
month = sep,
posted-at = {2012-10-09 20:18:16},
priority = {0},
title = {{Framework for Designing and Evaluating Game Achievements}},
year = {2011}
}
@inproceedings{V:johnson2003beyond,
author = {Johnson, P. M. and Kou, H. and Agustin, J. and Chan, C. and Moore, C. and Miglani, J. and Zhen, S. and Doane, W. E. J.},
booktitle = {Proceedings of the 25th international Conference on Software Engineering},
citeulike-article-id = {11539967},
keywords = {gamification, sw\_engineering},
organization = {IEEE Computer Society},
posted-at = {2012-10-24 20:31:02},
priority = {2},
title = {{Beyond the personal software process: Metrics collection and analysis for the differently disciplined}},
year = {2003}
}
@article{V:MurphyHill2012How,
abstract = {{Refactoring is widely practiced by developers, and considerable research and development effort has been invested in refactoring tools. However, little has been reported about the adoption of refactoring tools, and many assumptions about refactoring practice have little empirical support. In this paper, we examine refactoring tool usage and evaluate some of the assumptions made by other researchers. To measure tool usage, we randomly sampled code changes from four Eclipse and eight Mylyn developers and ascertained, for each refactoring, if it was performed manually or with tool support. We found that refactoring tools are seldom used: 11 percent by Eclipse developers and 9 percent by Mylyn developers. To understand refactoring practice at large, we drew from a variety of data sets spanning more than 39,000 developers, 240,000 tool-assisted refactorings, 2,500 developer hours, and 12,000 version control commits. Using these data, we cast doubt on several previously stated assumptions about how programmers refactor, while validating others. Finally, we interviewed the Eclipse and Mylyn developers to help us understand why they did not use refactoring tools and to gather ideas for future research.}},
author = {Murphy-Hill, E. and Parnin, C. and Black, A. P.},
citeulike-article-id = {11237043},
doi = {10.1109/TSE.2011.41},
institution = {Dept. of Comput. Sci., North Carolina State Univ., Raleigh, NC, USA},
issn = {0098-5589},
journal = {IEEE Transactions on Software Engineering},
keywords = {gamification, sw\_engineering},
month = Jan,
pages = {5--18},
posted-at = {2012-10-25 14:46:52},
priority = {2},
publisher = {IEEE},
title = {{How We Refactor, and How We Know It}},
volume = {38},
year = {2012}
}
@article{V:Murphy2006How,
abstract = {{The Eclipse integrated development environment continues to gain popularity among Java developers. Our usage monitoring approach allows tool builders to sample how developers are using their tools in the wild. The data gathered about tool use can be used to prevent feature bloat and to evolve the environments according to user needs. Information about how developers work in a development environment can also provide a baseline for assessing new software development tools. We hope this report provides a start in defining which in formation to collect and distribute on an on going basis to help improve Eclipse and other similar platforms and tools}},
author = {Murphy, G. C. and Kersten, M. and Findlater, L.},
citeulike-article-id = {5403310},
doi = {10.1109/MS.2006.105},
institution = {Dept. of Comput. Sci., British Columbia Univ., Vancouver, BC},
issn = {0740-7459},
journal = {IEEE Software},
keywords = {gamification, sw\_engineering},
month = jul,
number = {4},
pages = {76--83},
posted-at = {2012-10-25 15:11:23},
priority = {2},
publisher = {IEEE},
title = {{How are Java software developers using the Elipse IDE?}},
volume = {23},
year = {2006}
}
@article{V:Nasraoui2008Web,
abstract = {{In this paper, we present a complete framework and findings in mining Web usage patterns from Web log files of a real Web site that has all the challenging aspects of real-life Web usage mining, including evolving user profiles and external data describing an ontology of the Web content. Even though the Web site under study is part of a nonprofit organization that does not "sell" any products, it was crucial to understand "who" the users were, "what" they looked at, and "how their interests changed with time," all of which are important questions in Customer Relationship Management (CRM). Hence, we present an approach for discovering and tracking evolving user profiles. We also describe how the discovered user profiles can be enriched with explicit information need that is inferred from search queries extracted from Web log data. Profiles are also enriched with other domain-specific information facets that give a panoramic view of the discovered mass usage modes. An objective validation strategy is also used to assess the quality of the mined profiles, in particular their adaptability in the face of evolving user behavior.}},
author = {Nasraoui, O. and Soliman, M. and Saka, E. and Badia, A. and Germain, R.},
booktitle = { IEEE Transactions on Knowledge and Data Engineering},
citeulike-article-id = {2487252},
day = {26},
doi = {10.1109/TKDE.2007.190667},
institution = {Univ. of Louisville, Louisville},
issn = {1041-4347},
journal = {IEEE Transactions on Knowledge and Data Engineering},
keywords = {sw\_engineering, user\_patterns},
month = Feb,
pages = {202--215},
posted-at = {2012-10-23 19:01:00},
priority = {2},
publisher = {IEEE},
title = {{A Web Usage Mining Framework for Mining Evolving User Profiles in Dynamic Web Sites}},
volume = {20},
year = {2008}
}
@inproceedings{wbsnipes:Prowell2003JUMBL,
abstract = {{Statistical testing of software based on a usage model is a cost-effective and efficient means to make inferences about software quality. In order to apply this method, a usage model is developed and analyzed to validate its fitness for use in testing. The model may then be used to generate test cases representing expected usage, and to reason about system reliability given the performance on the set of tests. The J Usage Model Builder Library (JUMBL) is a Java class library and set of command-line tools for working with usage models. The JUMBL supports construction and analysis of models, generation of test cases, automated-execution of tests, and analysis of testing results.}},
author = {Prowell, S. J.},
booktitle = {Proceedings of the 36th Annual Hawaii International Conference on System Sciences, 2003. },
citeulike-article-id = {11548355},
doi = {10.1109/HICSS.2003.1174916},
institution = {Tennessee Univ., Knoxville, TN, USA},
isbn = {0-7695-1874-5},
keywords = {gameification},
volume = {9},
month = jan,
pages = {6-9},
posted-at = {2012-10-26 00:01:14},
priority = {3},
publisher = {IEEE},
title = {{JUMBL: a tool for model-based statistical testing}},
year = {2003}
}
@inproceedings{wbsnipes:Robbes2007Characterizing,
abstract = {{The understanding of development sessions, the phases during which a developer actively modifies a software system, is a valuable asset for program comprehension, since the sessions directly impact the current state and future evolution of a software system. Such information is usually lost by state-of-the-art versioning systems, because of the checkin/checkout model they rely on: a developer must explicitly commit his changes to the repository. Since this happens in arbitrary and sometimes long intervals, recovering the changes between two commits is difficult and inaccurate, and recovering the order of the changes is impossible. We have implemented an evolution monitoring prototype which records every semantic change performed on a system, and is able to completely reconstruct development sessions. In this paper we use this fine-grained information to understand and characterize the development sessions as they were carried out on two object-oriented systems.}},
author = {Robbes, R. and Lanza, M.},
booktitle = {15th IEEE International Conference on Program Comprehension},
citeulike-article-id = {11342587},
doi = {10.1109/ICPC.2007.12},
institution = {Fac. of Inf., Univ. of Lugano, Lugano},
isbn = {0-7695-2860-0},
issn = {1092-8138},
keywords = {gameification},
month = jun,
pages = {155--166},
posted-at = {2012-10-26 00:39:45},
priority = {5},
publisher = {IEEE},
series = {ICPC '07},
title = {{Characterizing and Understanding Development Sessions}},
year = {2007}
}
@book{prowell1999cse,
title={Cleanroom software engineering: technology and process},
author={Prowell, S.J.},
year={1999},
address={Reading, Mass},
publisher={Addison-Wesley Professional}
}
@electronic{wbsnipes:SaatchiGameification,
author = {Saatchi and Saatchi, S},
citeulike-article-id = {11469041},
year = {2011},
month = Jun,
comment = {(private-note)A positive indicator is that 55\% would be interested in working for a company that offers games as a way to increase productivity. A work setting could ramp up the competitive motivation that is fairly low 31\% compared with the findings that 57\% use social games for 'passing time when bored'.
It is also interesting that 85\% of people would spend a half hour or more playing a game for a chance at a monetary award. This counters some of the motivation literature I've studied who say that monetary awards are much lower on the motivation scale than recognition.
},
journal = {http://www.slideshare.net/Saatchi\_S/gamification-study},
keywords = {gameification},
posted-at = {2012-10-15 17:48:20},
priority = {0},
title = {Gameification for Business Brands and Loyalty},
note = {http://www.slideshare.net/Saatchi\_S/gamification-study}
}
@techreport{techReport,
title={Supporting Search and Navigation through Code Context},
author={Shepherd, D. and Fritz, T. and B{\"a}unlich, C.},
address={Zurich, Switzerland},
booktitle={Rep.},
year={2012},
organization={University of Zurich}
}
@inproceedings{sando,
title={Sando: An Extensible Local Code Search Framework},
author={Shepherd, D. and Damevski, K. and Ropski, B. and Fritz, T.},
booktitle={Proceedings of Foundations of Software Engineering, Tool Demo},
year={2012},
organization={ACM}
}
@book{gamification2011,
itle={Gamification by design : implementing game mechanics in web and mobile apps},
author={Gabe Zichermann},
year={2011},
address={Sebastopol, Calif},
publisher={O'Reilly Media}
}
%Singer paper and thesis
@inproceedings{Singer2012It,
abstract = {{The adoption of software engineering practices cannot always be achieved by education or processes. However, social software has the potential for supporting deliberate behavior change. We present preliminary results of an experiment in which we encouraged computer science students to make more frequent commits to version control by using a social software application. We provided a web-based newsfeed of commits that also displayed a leaderboard. While we have yet to analyze the data, interviews we conducted with the participants allow for first qualitative insights.}},
author = {Singer, Leif and Schneider, Kurt},
booktitle = {2012 Second International Workshop on Games and Software Engineering: Realizing User Engagement with Game Engineering Techniques (GAS)},
citeulike-article-id = {12249369},
comment = {(private-note)Thesis includes workshop paper results. Proposes a set of interventions or methods to promote adoption of practices for software engineering. Demonstrates in a study the use of leader board and points for tweaking commit frequency and commit comments. Results showed statistical significance in improvement for both categories. Overall good source for innovative ways to promote software engineering practices. Proposes a process based on different sources for implementing improvements, however, we could look towards process improvement literature for this as well. Ties together improvement methods with motivation ideas or at least puts them in the same chart. Interesting discussion of how developers in a social context agree to accept pulls for a repository based on their familiarity or trust of the commit developer. Another interesting set of results from interviews of developers who interact on a social game system for their open source projects. The most valued aspects were communication/collaboration and endorsement of their work followed by helping others. Competition was not valued by few people which is interesting when the sites are voluntary and contain competitive aspects. },
doi = {10.1109/gas.2012.6225927},
institution = {Software Eng. Group, Leibniz Univ., Hannover, Germany},
isbn = {978-1-4673-1768-9},
keywords = {gamification},
location = {Zurich, Switzerland},
month = jun,
pages = {5--8},
posted-at = {2013-06-10 20:53:31},
priority = {0},
publisher = {IEEE},
title = {{It was a bit of a race: Gamification of version control}},
url = {http://dx.doi.org/10.1109/gas.2012.6225927},
year = {2012}
}
@PHDTHESIS{Singer2013a,
author = {Singer, Leif},
title = {{I}mproving the {A}doption of {S}oftware {E}ngineering {P}ractices
{T}hrough {P}ersuasive {I}nterventions},
school = {Gottfried Wilhelm Leibniz Universität Hannover},
year = {2013},
url = {http://leif.me/papers/Singer2013a.pdf}
}
%PROM papers
@incollection{Moser2006Does,
abstract = {{The improvement of the software development process through the development and utilization of high quality and reusable software components has been advocated for a long time. Agile Methods promote some interesting practices, in particular the practice of refactoring, which are supposed to improve understandability and maintainability of source code. In this research we analyze if refactoring promotes ad-hoc reuse of object-oriented classes by improving internal quality metrics. We conduct a case study in a close-to industrial, agile environment in order to analyze the impact of refactoring on internal quality metrics of source code. Our findings sustain the hypothesis that refactoring enhances quality and reusability of – otherwise hard to reuse – classes in an agile development environment. Given such promising results, additional experimentation is required to validate and generalize the results of this work.}},
author = {Moser, Raimund and Sillitti, Alberto and Abrahamsson, Pekka and Succi, Giancarlo},
booktitle = {Reuse of Off-the-Shelf Components},
citeulike-article-id = {12602627},
doi = {10.1007/11763864\_21},
editor = {Morisio, Maurizio},
keywords = {prom, refactoring},
pages = {287--297},
posted-at = {2013-08-30 21:47:40},
priority = {2},
publisher = {Springer Berlin Heidelberg},
series = {Lecture Notes in Computer Science},
title = {{Does Refactoring Improve Reusability?}},
url = {http://dx.doi.org/10.1007/11763864\_21},
volume = {4039},
year = {2006}
}
@inproceedings{Abrahamsson2007Effort,
author = {Abrahamsson, P. and Moser, R. and Pedrycz, W. and Sillitti, A. and Succi, G.},
booktitle = {Empirical Software Engineering and Measurement, 2007. ESEM 2007. First International Symposium on},
citeulike-article-id = {12602626},
doi = {10.1109/esem.2007.16},
institution = {VTT Electron., Oulu},
isbn = {978-0-7695-2886-1},
issn = {1938-6451},
keywords = {prediction, productivity, prom},
pages = {344--353},
posted-at = {2013-08-30 21:45:16},
priority = {4},
publisher = {IEEE},
title = {{Effort Prediction in Iterative Software Development Processes -- Incremental Versus Global Prediction Models}},
url = {http://dx.doi.org/10.1109/esem.2007.16},
year = {2007}
}
@incollection{Moser2008Case,
abstract = {{Refactoring is a hot and controversial issue. Supporters claim that it helps increasing the quality of the code, making it easier to understand, modify and maintain. Moreover, there are also claims that refactoring yields higher development productivity – however, there is only limited empirical evidence of such assumption. A case study has been conducted to assess the impact of refactoring in a close-to industrial environment. Results indicate that refactoring not only increases aspects of software quality, but also improves productivity. Our findings are applicable to small teams working in similar, highly volatile domains (ours is application development for mobile devices). However, additional research is needed to ensure that this is indeed true and to generalize it to other contexts.}},
author = {Moser, Raimund and Abrahamsson, Pekka and Pedrycz, Witold and Sillitti, Alberto and Succi, Giancarlo},
booktitle = {Balancing Agility and Formalism in Software Engineering},
citeulike-article-id = {4326222},
doi = {10.1007/978-3-540-85279-7\_20},
editor = {Meyer, Bertrand and Nawrocki, JerzyR and Walter, Bartosz},
journal = {Balancing Agility and Formalism in Software Engineering},
keywords = {metrics, prom},
pages = {252--266},
posted-at = {2013-08-30 21:42:29},
priority = {4},
publisher = {Springer Berlin Heidelberg},
series = {Lecture Notes in Computer Science},
title = {{A Case Study on the Impact of Refactoring on Quality and Productivity in an Agile Team}},
url = {http://dx.doi.org/10.1007/978-3-540-85279-7\_20},
volume = {5082},
year = {2008}
}
@incollection{Coman2008Investigating,
abstract = {{Pair-programming (PP) is one of the key practices of Agile Methods and there are various claims regarding its benefits. However, the empirical evidence to sustain these claims is insufficient, often coming from studies with students as participants. Moreover, the results are sometimes contradictory. Nevertheless, there are already mature agile teams that currently use PP, pairing on an as needed basis. We investigate the dynamics of the pairing process in a mature Agile team to understand when practitioners consider PP useful and to compare this with the claimed benefits of PP. In this paper we present the results of a 3 months study of PP in an Agile team of 16 developers.}},
address = {Berlin, Heidelberg},
author = {Coman, IrinaDiana and Sillitti, Alberto and Succi, Giancarlo},
booktitle = {Agile Processes in Software Engineering and Extreme Programming},
chapter = {13},
citeulike-article-id = {9338275},
doi = {10.1007/978-3-540-68255-4\_13},
editor = {Abrahamsson, Pekka and Baskerville, Richard and Conboy, Kieran and Fitzgerald, Brian and Morgan, Lorraine and Wang, Xiaofeng},
isbn = {978-3-540-68254-7},
keywords = {gamification, hackystat, metrics, prom},
pages = {127--136},
posted-at = {2013-08-30 21:28:56},
priority = {2},
publisher = {Springer Berlin Heidelberg},
series = {Lecture Notes in Business Information Processing},
title = {{Investigating the Usefulness of Pair-Programming in a Mature Agile Team}},
url = {http://dx.doi.org/10.1007/978-3-540-68255-4\_13},
volume = {9},
year = {2008}
}
@inproceedings{Coman2009Casestudy,
author = {Coman, I. D. and Sillitti, A. and Succi, G.},
booktitle = {Software Engineering, 2009. ICSE 2009. IEEE 31st International Conference on},
citeulike-article-id = {12602596},
comment = {(private-note)Case study reports the experiences of the team deploying PROM to an industrial software development organization. They discuss the challenges such as overcoming developer concerns about the data being shared and what data are shared with the tool. Since the system provides reports on time there were some accuracy issues with reports such as when Pair Programming is practiced or other scenarios where developers are using non-standard editors, virtual machines, or working remotely. At each stage of deployment additional features were requested some dealing with developer data audits prior to uploading the data. The paper doesn't discuss metrics that were reported or empirical findings of the deployment.},
doi = {10.1109/icse.2009.5070511},
institution = {Free Univ. of Bozen-Bolzano, Bozen},
isbn = {978-1-4244-3453-4},
issn = {0270-5257},
keywords = {gamification, hackystat, metrics, productivity, prom},
month = may,
pages = {89--99},
posted-at = {2013-08-30 20:49:12},
priority = {5},
publisher = {IEEE},
title = {{A case-study on using an Automated In-process Software Engineering Measurement and Analysis system in an industrial environment}},
url = {http://dx.doi.org/10.1109/icse.2009.5070511},
year = {2009}
}
@inproceedings{MurphyHill2012Improving,
abstract = {{Software developers interact with the development environ-
ments they use by issuing commands that execute various
programming tools, from source code formatters to build
tools. However, developers often only use a small subset
of the commands offered by modern development environ-
ments, reducing their overall development fluency. In this
paper, we use several existing command recommender al-
gorithms to suggest new commands to developers based on
their existing command usage history, and also introduce
several new algorithms. By running these algorithms on
data submitted by several thousand Eclipse users, we de-
scribe two studies that explore the feasibility of automati-
cally recommending commands to software developers. The
results suggest that, while recommendation is more diffi-
cult in development environments than in other domains,
it is still feasible to automatically recommend commands
to developers based on their usage history, and that using
patterns of past discovery is a useful way to do so.}},
author = {Murphy-Hill, Emerson and Jiresal, Rahul and Murphy, Gail C.},
booktitle = {Foundations of Software Engineering},
citeulike-article-id = {11630871},
comment = {(private-note) They study a large usage history data set and apply several different algorithms to accurately suggest to users new commands in their environment to use. Algorithms based on command history performed well particularly when synchronized chronologically with the recipient's usage history. Novice users were better served by recommender algorithms that did not require a long history, where more expert users benefited from more sophisticated algorithms that included more history. The "Most Widely Used" algorithm that recommends commands based on the collective usage profile of the team performed nearly as well as the more sophisticated algorithms. The paper presents the methodology for making recommendations and the evaluation of the accuracy of the recommendations. The advantage of this work is the exploration of different recommender algorithms and the evaluation with both automated historical command history and live developer reactions. },
journal = {Foundations of Software Engineering},
keywords = {gameification, ide, recommending},
month = nov,
posted-at = {2012-11-07 21:14:41},
priority = {0},
title = {{Improving Software Developers' Fluency by Recommending Development Environment Commands}},
year = {2012}
}
@book{longitudinalbook,
address = {711 Third Avenue New York, NY 10017},
author = {Newsom, Jason T. and Jones, Richard N. and Hofer, Scott M.},
booktitle = {Longitudinal Data Analysis},
citeulike-article-id = {12606757},
isbn = {9780415874151},
keywords = {gameification, thesis-ms},
posted-at = {2013-09-04 19:53:57},
priority = {2},
publisher = {Routledge},
title = {{Longitudinal Data Analysis}},
year = {2012}
}
@inproceedings{Dubois2013Understanding,
abstract = {{In this paper we outline the idea to adopt gamification techniques to engage, train, monitor, and motivate all the players involved in the development of complex software artifacts, from the inception to the deployment and maintenance. The paper introduces the concept of gamification and proposes a research approach to understand how its principles may be successfully applied to the process of software development. Applying gamification to software engineering is not as straightforward as it may appear since it has to be casted to the peculiarities of this domain. Existing literature in the area has already recognized the possible use of such technology in the context of software development, however how to design and use gamification in this context is still an open question. This leads to several research challenges which are organized in a fascinating research agenda that is part of the contribution of this paper. Finally, to support the proposed ideas we present a preliminary experiment that shows the effect of gamification on the performance of students involved in a software engineering project.}},
address = {New York, NY, USA},
author = {Dubois, Daniel J. and Tamburrelli, Giordano},
booktitle = {Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering},
citeulike-article-id = {12606816},
citeulike-linkout-0 = {http://portal.acm.org/citation.cfm?id=2494589},
citeulike-linkout-1 = {http://dx.doi.org/10.1145/2491411.2494589},
doi = {10.1145/2491411.2494589},
isbn = {978-1-4503-2237-9},
keywords = {gamification},
location = {Saint Petersburg, Russia},
pages = {659--662},
posted-at = {2013-09-04 21:10:50},
priority = {0},
publisher = {ACM},
series = {ESEC/FSE 2013},
title = {{Understanding gamification mechanisms for software development}},
url = {http://dx.doi.org/10.1145/2491411.2494589},
year = {2013}
}
@inproceedings{Snipes2013Towards,
abstract = {{Software engineering researchers develop great tech- niques consisting of practices and tools that improve efciency and quality of software development. Prior work evaluates developers use of techniques such as Test-Driven-Development and refactoring by measuring actions in the development environ- ment. What we still lack is a method to communicate effectively and motivate developers to adopt best practices and tools. This work proposes a game-like system to motivate adoption while continuously measuring developers use of more efcient development techniques.}},
address = {Piscataway, NJ, USA},
author = {Snipes, Will and Augustine, Vinay and Nair, Anil R. and Hill, Emerson M.},
booktitle = {Proceedings of the 2013 International Conference on Software Engineering},
citeulike-article-id = {12613681},
citeulike-linkout-0 = {http://portal.acm.org/citation.cfm?id=2486983},
isbn = {978-1-4673-3076-3},
keywords = {gamification, motivation},
location = {San Francisco, CA, USA},
pages = {1277--1280},
posted-at = {2013-09-09 23:41:55},
priority = {0},
publisher = {IEEE Press},
series = {ICSE '13},
title = {{Towards recognizing and rewarding efficient developer work patterns}},
url = {http://portal.acm.org/citation.cfm?id=2486983},
year = {2013}
}
@inproceedings{Carter2010Are,
abstract = {{It would be useful if software engineers/instructors could be aware that remote team members/students are having difficulty with their programming tasks. We have developed an approach that tries to automatically create this semantic awareness based on developers' interactions with the programming environment, which is extended to log these interactions and allow the developers to train or supervise the algorithm by explicitly indicating they are having difficulty. Based on the logs of six programmers, we have found that our approach has high accuracy.}},
address = {New York, NY, USA},
author = {Carter, Jason and Dewan, Prasun},
booktitle = {Proceedings of the 2010 ACM conference on Computer supported cooperative work},
citeulike-article-id = {12275132},
citeulike-linkout-0 = {http://portal.acm.org/citation.cfm?id=1718958},
citeulike-linkout-1 = {http://dx.doi.org/10.1145/1718918.1718958},
doi = {10.1145/1718918.1718958},
isbn = {978-1-60558-795-0},
keywords = {recommending},
location = {Savannah, Georgia, USA},
pages = {211--214},
posted-at = {2013-04-16 21:52:43},
priority = {0},
publisher = {ACM},
series = {CSCW '10},
title = {{Are you having difficulty?}},
year = {2010}
}
@inproceedings{Fritz2010Degreeofknowledge,
abstract = {{The size and high rate of change of source code comprising a software system make it difficult for software developers to keep up with who on the team knows about particular parts of the code. Existing approaches to this problem are based solely on authorship of code. In this paper, we present data from two professional software development teams to show that both authorship and interaction information about how a developer interacts with the code are important in characterizing a developer's knowledge of code. We introduce the degree-of-knowledge model that computes automatically a real value for each source code element based on both authorship and interaction information. We show that the degree-of-knowledge model can provide better results than an existing expertise finding approach and also report on case studies of the use of the model to support knowledge transfer and to identify changes of interest.}},
address = {New York, NY, USA},
author = {Fritz, Thomas and Ou, Jingwen and Murphy, Gail C. and Murphy-Hill, Emerson},
booktitle = {Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1},
citeulike-article-id = {7262111},
citeulike-linkout-0 = {http://portal.acm.org/citation.cfm?id=1806799.1806856},
citeulike-linkout-1 = {http://dx.doi.org/10.1145/1806799.1806856},
comment = {(private-note)Describes a degree of knowledge model that expresses a developer's experience with a code element. The DOK model includes both authorship information and interaction information. Interaction information is gleaned by monitoring the developer's activity in the development environment (IDE). A Degree of Interest records events such as a developer opening a file to edit and the developer actually making an edit in the file. See the Eclipse Mylyn project. Being the first author of a code element was the most significant impact to the DOK value as rated by the developers themselves. However, other factors combined with authorship were better match for expertise than authorship alone. Previous approaches used only authorship (Expertise Recommender and Expertise Browser). DOK was found to compare favorably with developer's personal opinion of who are experts in a particular code element. It was useful for identifying recent changes due to defects that would be of interest to particular developers. It was less useful for on-boarding because the ratings were mostly of lower level code elements rather than high level APIs which new people would need to become familiar with quickly.
---=note-separator=---
(private-note)Idea: Use the DOK information to determine who to inspect. Give the present author a list of experts to invite to an inspection
Idea: Rate a dev's knowledge based on how much the file/element changed since they last viewed/edited it.
Idea: Notify dev's of overlapping edits that change code they once wrote},
doi = {10.1145/1806799.1806856},
isbn = {978-1-60558-719-6},
keywords = {chs, chs-fse2012, *ideas},
location = {Cape Town, South Africa},
pages = {385--394},
posted-at = {2010-09-08 17:12:44},
priority = {0},
publisher = {ACM},
series = {ICSE '10},
title = {{A degree-of-knowledge model to capture source code familiarity}},
year = {2010}
}
@article{basili-GQM,
abstract = {{Experience from a dozen years of analyzing software engineering processes and products is summarized as a set of software engineering and measurement principles that argue for software engineering process models that integrate sound planning and analysis into the construction process. In the TAME (Tailoring A Measurement Environment) project at the University of Maryland, such an improvement-oriented software engineering process model was developed that uses the goal/question/metric paradigm to integrate the constructive and analytic aspects of software development. The model provides a mechanism for formalizing the characterization and planning tasks, controlling and improving projects based on quantitative analysis, learning in a deeper and more systematic way about the software process and product, and feeding the appropriate experience back into the current and future projects. The TAME system is an instantiation of the TAME software engineering process model as an ISEE (integrated software engineering environment). The first in a series of TAME system prototypes has been developed. An assessment of experience with this first limited prototype is presented including a reassessment of its initial architecture}},
author = {Basili, V. R. and Rombach, H. D.},
booktitle = {Software Engineering, IEEE Transactions on},
citeulike-article-id = {692514},
citeulike-linkout-0 = {http://dx.doi.org/10.1109/32.6156},
citeulike-linkout-1 = {http://ieeexplore.ieee.org/xpls/abs\_all.jsp?arnumber=6156},
comment = {This is the reference that Basili wants us to refer to as the original work on GQM},
doi = {10.1109/32.6156},
journal = {Software Engineering, IEEE Transactions on},
keywords = {metrics, scientist},
number = {6},
pages = {758--773},
posted-at = {2012-04-24 19:37:09},
priority = {3},
title = {{The TAME project: towards improvement-oriented software environments}},
volume = {14},
year = {1988}
}
@inproceedings{VakilianJohnson2014Alternate,
author = {Mohsen Vakilian and Ralph E. Johnson},
booktitle = {Proceedings of the International Conference on Software
Engineering (ICSE) (To Appear)},
pages = {1--11},
title = {Alternate Refactoring Paths Reveal Usability Problems},
year = {2014}
}
@inproceedings{VakilianETAL2012UseDisuseMisuse,
author = {Mohsen Vakilian and Nicholas Chen and Stas Negara and Balaji
Ambresh Rajkumar and Brian P. Bailey and Ralph E. Johnson},
booktitle = {Proceedings of the International Conference on Software
Engineering (ICSE)},
pages = {233--243},
title = {{Use, Disuse, and Misuse of Automated Refactorings}},
year = {2012}
}
@inproceedings{VakilianETAL2013Compositional,
author = {Mohsen Vakilian and Nicholas Chen and Roshanak Zilouchian
Moghaddam and Stas Negara and Ralph E. Johnson},
booktitle = {Proceedings of the European Conference on Object-Oriented
Programming (ECOOP)},
pages = {527--551},
title = {{A Compositional Paradigm of Automating Refactorings}},
year = {2013}
}
@inproceedings{NegaraETAL2013ManualRefactorings,
author = {Stas Negara and Nicholas Chen and Mohsen Vakilian and Ralph E.
Johnson and Danny Dig},
booktitle = {Proceedings of the European Conference on Object-Oriented
Programming (ECOOP)},
pages = {552--576},
title = {{A Comparative Study of Manual and Automated Refactorings}},
year = {2013}
}
@inproceedings{NegaraETAL2012Dangerous,
author = {Stas Negara and Mohsen Vakilian and Nicholas Chen and Ralph E.
Johnson and Danny Dig},
booktitle = {Proceedings of the European Conference on Object-Oriented
Programming (ECOOP)},
pages = {79--103},
title = {{Is It Dangerous to Use Version Control Histories to Study
Source Code Evolution?}},
year = {2012}
}
@inproceedings{VakilianETAL2011Richer,
author = {Mohsen Vakilian and Nicholas Chen and Stas Negara and Balaji
Ambresh Rajkumar and Zilouchian Moghaddam, Roshanak and Ralph E. Johnson},
booktitle = {Proceedings of the Workshop on Evaluation and Usability of
Programming Languages and Tools (PLATEAU)},
pages = {31--38},
title = {{The Need for Richer Refactoring Usage Data}},
year = {2011}
}
@misc{CodingSpectatorWebPage,
author = {Vakilian, Mohsen},
title = {{CodingSpectator Web Page}},
year = {2014},
url = {http://codingspectator.cs.illinois.edu/}
}
@misc{CodingTrackerWebPage,
author = {Vakilian, Mohsen},
year = {2014},
title = {{CodingTracker Web Page}},
url = {http://codingtracker.web.engr.illinois.edu/}
}
@inproceedings{hmf08,
author = {Hassan, Ahmed E. and Martin, Daryl J. and Flora, Parminder and Mansfield, Paul and Dietz, Dave},
title = {An Industrial Case Study of Customizing Operational Profiles Using Log Compression},
booktitle = {Proceedings of the 30th International Conference on Software Engineering},
series = {ICSE '08},
year = {2008},
isbn = {978-1-60558-079-1},
location = {Leipzig, Germany},
pages = {713--723},
numpages = {11},
url = {http://doi.acm.org/10.1145/1368088.1379445},
doi = {10.1145/1368088.1379445},
acmid = {1379445},
publisher = {ACM},
address = {New York, NY, USA},
}
@inproceedings{nwv09,
author = {Nagappan, Meiyappan and Wu, Kesheng and Vouk, Mladen A.},
title = {Efficiently Extracting Operational Profiles from Execution Logs Using Suffix Arrays},
booktitle = {Proceedings of the 20th IEEE International Conference on Software Reliability Engineering},
series = {ISSRE'09},
year = {2009},
isbn = {978-1-4244-5375-7},
location = {Bengaluru-Mysuru, India},
pages = {41--50},
numpages = {10},
url = {http://dl.acm.org/citation.cfm?id=1802408.1802415},
acmid = {1802415},
publisher = {IEEE Press},
address = {Piscataway, NJ, USA},
keywords = {O(N), execution logs, operational profile, software reliability, suffix arrays},
}
@INPROCEEDINGS{mnv10,
author={Nagappan, M. and Vouk, M.A.},
booktitle={Mining Software Repositories (MSR), 2010 7th IEEE Working Conference on},
title={Abstracting log lines to log event types for mining software system logs},
year={2010},
month={May},
pages={114-117},
keywords={abstracting;computer debugging;data mining;file organisation;learning (artificial intelligence);software maintenance;system monitoring;North Carolina State University;cloud computer management system;clustering technique;data mining;debugging;information extraction;log event types;log file abstraction;log line abstraction;machine learning algorithms;manual perusal;message disentangling;parameter value;security threats;simple log file clustering tool;software system logs;source code access;static message type field;system execution;unique ID;variable parameter field;virtual computing lab;Algorithm design and analysis;Cloud computing;Data mining;Data security;Debugging;Information analysis;Information security;Machine learning algorithms;Manuals;Software systems;clustering;log file abstraction},
doi={10.1109/MSR.2010.5463281},}
@inproceedings{MurphyHill2008ExtractMethod,
author = {Murphy-Hill, Emerson and Black, Andrew P.},
title = {Breaking the Barriers to Successful Refactoring: Observations and
Tools for Extract Method},
booktitle = {Proceedings of the 30th International Conference on Software
Engineering},
series = {ICSE '08},
year = {2008},
isbn = {978-1-60558-079-1},
location = {Leipzig, Germany},
pages = {421--430},
numpages = {10},
doi = {10.1145/1368088.1368146},
acmid = {1368146},
publisher = {ACM},
address = {New York, NY, USA},
keywords = {environments, refactoring, tools, usability},
}
@inproceedings{LeeETAL2013DragDrop,
author={Yun Young Lee and Chen, Nicholas and Johnson, Ralph E.},
booktitle={Software Engineering (ICSE), 2013 35th International Conference
on},
title={Drag-and-drop refactoring: Intuitive and efficient program
transformation},
year={2013},
month={May},
pages={23-32},
keywords={software maintenance;software tools;user
interfaces;DNDRefactoring;Eclipse IDE;automated refactoring tools;code
restructuring;drag-and-drop refactoring;integrated development
environments;program transformation;user interface;Data
mining;Irrigation;Java;Keyboards;Navigation;Usability;User interfaces},
doi={10.1109/ICSE.2013.6606548},
}
@inproceedings{MurphyHillETAL2011Gestures,
author = {Emerson R. Murphy-Hill and
Moin Ayazifar and
Andrew P. Black},
title = {Restructuring software with gestures},
booktitle = {VL/HCC},
year = {2011},
pages = {165-172},
ee = {http://dx.doi.org/10.1109/VLHCC.2011.6070394},
bibsource = {DBLP, http://dblp.uni-trier.de}
}
@inproceedings{GeETAL2012BeneFactor,
author={Xi Ge and DuBose, Q.L. and Murphy-Hill, E.},
booktitle={Software Engineering (ICSE), 2012 34th International Conference
on},
title={Reconciling manual and automatic refactoring},
year={2012},
month={June},
pages={211-221},
keywords={software maintenance;software tools;BeneFactor;automatic
refactoring;chasing error message;error-prone manual refactoring
strategy;manual refactoring workflow pattern;refactoring tool underuse
problem;Java;Manuals;Software;Software reliability;Videos},
doi={10.1109/ICSE.2012.6227192},
ISSN={0270-5257},
}
@inproceedings{FosterETAL2012WitchDoctor,
author={Foster, S.R. and Griswold, William G. and Lerner, S.},
booktitle={Software Engineering (ICSE), 2012 34th International Conference
on},
title={WitchDoctor: IDE support for real-time auto-completion of
refactorings},
year={2012},
month={June},
pages={222-232},
keywords={public domain software;software maintenance;IDE proven;IDE
support;WitchDoctor;cognitive scalability problem;familiar refactoring
engine;integrated development environments;keystroke-by-keystroke
basis;open-source projects;programmer way toleration;refactoring real-time
autocompletion;unparseable program handling;Context;Data
mining;Engines;History;Real time systems;Software;Syntactics;IDE;change
detection;refactoring;repository mining},
doi={10.1109/ICSE.2012.6227191},
ISSN={0270-5257},
}
@inproceedings{anil,
author = {Nair, Anil and Nerella, Lakshmi B. },
title = {Use-based Test Prioritization of a SCADA system - An Industrial Case Study},
booktitle = {Proceedings of the 21st IEEE International Conference on Software Reliability Engineering},
series = {ISSRE'19},
year = {2010},
}
@article{Flanagan1954CIT,
author = {Flanagan, John C.},
journal = {Psychological Bulletin},
pages = {327--358},
title = {{The Critical Incident Technique}},
year = {1954},
}
@inproceedings{ShattuckWoods1994CIT,
author = {Shattuck, Lawrence G. and Woods, David D.},
booktitle = {Proc. HFES},
pages = {1080--1084},
title = {{The Critical Incident Technique: 40 Years Later}},
year = {1994},
}
@inproceedings{DelGaldo1986CIT,
author = {del Galdo, Elisa M. and Williges, Robert C. and Williges, Beverly H.
and Wixon, Dennis R.},
booktitle = {Proc. HFES},
pages = {19--23},
title = {{An Evaluation of Critical Incidents for Software Documentation
Design}},
year = {1986}
}
@inproceedings{YoonMyers2011Flourite,
author = {Yoon, YoungSeok and Myers, Brad A.},