1/##
PolyMorse Seminar
Fabio Petrillo
January, 29th 2016
PolyMorse Seminar Fabio Petrillo January, 29th 2016 1/## Fabio - - PowerPoint PPT Presentation
PolyMorse Seminar Fabio Petrillo January, 29th 2016 1/## Fabio Petrillo Ph.D. Candidate Master - Computer Science - UFRGS/Brazil agile game development Electrical Engineer/UFRGS Program committee GAS 2015 e 2016
1/##
January, 29th 2016
Fabio Petrillo
○ agile game development
○ Java, C/C++, PHP, Python, Delphi developer ○ Agile coach and team manager
○ Software Engineering ○ Game Development Project
2
Research topics
○ polymorphism
3
4
Are the old days gone? A survey on actual software engineering processes in video game industry
Cristiano Politowski, Fabio Petrillo, Lisandra Fontoura, Yann-Gaël Guéhéneuc
5/##
Fifth International Workshop on Games and Software Engineering (GAS 2016)
6
7
GDC 2016 State of the Industry Report
8
16% 11%
Programmers
9
10
11
12/##
"In fact, all the main problems of the traditional software industry are also found in the games industry "
13
Petrillo, F., Pimenta, M., Trindade, F., & Dietrich, C. (2009). What went wrong? A survey of problems in game development. Computers in Entertainment, 7(1), 1.
14
15
16
"We believe that adoption of agile practices in game development can achieve promising results. "
17
Petrillo, F., & Pimenta, M. (2010). Is agility out there? Agile Practices in Game Development. In Proceedings of the 28th ACM International Conference on Design of Communication - SIGDOC ’10 (p. 9). New York, New York, USA: ACM Press.
18
19
"The old days are gone. You can't expect producers or leads to come up with a huge waterfall of everything they thought would get done over the next three years. In the game development business, it's insane to think you have any insight into what your team will be doing one year from now. You can set major milestones with hard dates, but filling in all the details between those points is an exercise in futility. "
20
Fridley, M. (2013). Postmortem: Kingdoms of Amalur: Reckoning. Retrieved from http://www.gamasutra. com/view/feature/197269/postmortem_kingdoms_of_amalur_.php
21
22
23
24
25
Meta-model (BPMN)
26
Iterative process - Kingdoms of Amalur: Reckoning model
27
28
29
Process occurrences by category
30
Agile practices in game projects
31
32
33
34
35
36
37
Are the old days gone? A survey on actual software engineering processes in video game industry
Cristiano Politowski, Fabio Petrillo, Lisandra Fontoura, Yann-Gaël Guéhéneuc
38/##
Research opportunities
○ behavior and strategy analysis on stepping/following execution debugging ○ infrastructure collect and share debugging data (Swarm Debugging) ○ debugging recommendation system (machine learning)
○ mining of polymorphism ○ polymorphism comprehension in static and dynamic type language projects ○ polymorphism visualization
○ Game development process survey using postmortem analysis (GAS 2016) ○ Game Agile Methods Applied (GAMA) ○ Gama index ○ Systematization of empirical studies using postmortem ■ problems, practices, processes
39
40
In your experience, how much time is needed to do a paper some like that?
41
a) less than 1 month b) between 1 and 3 months c) between 3 and 6 months d) more than 6 months
In your experience, how much time is needed to do a paper some like that?
42
In your experience, how much time is needed to do a paper some like that?
43
In your experience, how much time is needed to do a paper some like that?
44
In your experience, how much time is needed to do a paper some like that?
45
Research project - agile practices in SE research
○ quality ○ productivity ○ replicability
49
Proposal
○ collect project and team data ○ journals ○ evidences (photos, videos, chatting, backlogs, post-its, kanbans, etc)
50
51
52
53
1) email me for scheduling a meeting 2) I exposed the idea/process 3) We organize the planning and sprints 4) And run! :-)
54
How could we start?
55
56
if debugging is important to create knowledge about a software project, why is this human knowledge lost?
57
Can we collect and share debugging session information?
58
Swarm Debugging
59
Infrastructure
60
Architecture
61
Metadata
62
Research possibilities
1) Paper about debugging stepping or following execution behavior
a) survey on debugging stepping/following execution b) collect session information during debugging session in controlled experiments c) mapping behaviors in stepping debugging sessions
2) Paper on debugging session recommendation system
a) machine learning modelling b) based on collected data during the previous work
3) Paper on debugging session searching and visualization support
a) supporting stepping sessions b) UML sequence diagram alternative c) debugging pathfinder in large method call graphs d) formalizing these visualizations
63
Searching Tools
How can we support new debugging session using this collected information?
64
Visualisation Tools
65
Sequence Stack Diagram
66
Sequence Stack Diagram Sequence Stack Diagram
67
Dynamic Call Graph
68
69
Debugging pathfinder recommendation graph
M0 M1 M2 M3 M5 M8 M7 M6 M9 M10 M11 M12 Mn M4Complex call graph
M0 M1 M2 M3 M5 M8 M7 M6 M9 M10 M11 M12 Mn M4Complex call graph Recommended Debugging path
M0 M2 M3 M770
Research proposal
Work 0 - debugging stepping information repository
a. describe problem problem and scenarios b. determinate some questions to be answered c. describe Swarm Debugging i. metadata ii. architecture iii. infrastructure iv. REST API d. demonstrate applications and usage e. demonstrate how previous questions can be answered with SD f. submit to ICPC 2016 - abstract: Feb 8 - submission: Feb 15
71
Research proposal
Work 1 - stepping debug session behavior study
a. prepare controlled experiment - similar Zéphyrin protocol b. collect data during controlled experiment using Swarm Debugging Infrastructure c. screencast session recording d. debugging literature survey e. analyse these sources and extract stepping strategies or patterns f. possible research questions i. RQ1: How developers "stepping" projects in order to locate a maintenance piece of code? ii. RQ2: How much time are developers spent by debugging session? iii. RQ3: What are the most efficient strategies in stepping debug? iv. RQ4: How do developers toggle breakpoints? v. RQ5: How much time is spent to toggle the first breakpoint? g. extract suggestions/recommendations for developers to improve stepping h. submit to ICPC 2016 - abstract: Feb 8 - submission: Feb 15
72
Research proposal (cont.)
Work 2 - Recommendation debugging system
a. using this data to create a debugging recommendation b. apply information foraging theory (Fleming, 2013) c. create a recommendation model using decision tree learning (or other techniques) d. evaluate this approach using previous controlled experiment design e. qualitative questionnaire f. null Hypothesis: The among of time to locate the maintenance piece of code for a task does not change using the recommendation debugging system based on previous debugging session information. g. preliminary research questions i. RQ1: Does the recommendation debugging system decrease spent time for debugging? ii. RQ2: How does approach modify debugging strategies comparing with the traditional stepping? h. submit to ICMSE 2016 - abstract: April 1 - submission: April 8
73
Research proposal (cont.)
Work 3 - Swarm Debugging Visualization
a. improve and create visualizations with debugging session data b. evaluate these visualizations using previous controlled experiment design c. qualitative questionnaire d. null hypothesis: The among of time to locate the maintenance piece of code for a task does not change using visualizations during debugging sessions. e. preliminary research questions i. RQ1: Are visualizations helpful during debugging sessions? ii. RQ1: How do developers use visualizations during debugging? iii. RQ2: How do visualizations modify developer's debugging strategies comparing with the traditional stepping? f. submit to VISSOFT 2016 - first week of May
74
Research proposal (cont.)
Work 4 - Journal paper about stepping debug
a. "seam" all results b. execute a systematic review about stepping debugging c. run more experiments to increment our sample (Brazil) d. improve the qualitative questionnaire e. submit to Information and Software Technology (http://www.sciencedirect. com/science/journal/09505849)
75
Short-term next steps
76
Institute of Informatics Federal University of Rio Grande do Sul Porto Alegre, Brazil
Fabio Petrillo
77/##