PolyMorse Seminar Fabio Petrillo January, 29th 2016 1/## Fabio - - PowerPoint PPT Presentation

polymorse seminar
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

1/##

PolyMorse Seminar

Fabio Petrillo

January, 29th 2016

slide-2
SLIDE 2

Fabio Petrillo

  • Ph.D. Candidate
  • Master - Computer Science - UFRGS/Brazil

○ agile game development

  • Electrical Engineer/UFRGS
  • Program committee GAS 2015 e 2016
  • More than 20 year of experience in software engineering industry

○ Java, C/C++, PHP, Python, Delphi developer ○ Agile coach and team manager

  • Eclipse plugin development
  • Teaching in Brazil

○ Software Engineering ○ Game Development Project

  • Teacher assistant at LOG8430 - Advanced Software Architecture :-)

2

slide-3
SLIDE 3

Research topics

  • software comprehension
  • software maintenance and evolution
  • software and information visualization
  • dynamic and static code analysis
  • identification of patterns

○ polymorphism

  • mining software repositories
  • human aspects of software engineering
  • empirical software engineering
  • agile software development
  • game development practices
  • software/code linguistics

3

slide-4
SLIDE 4

Seminar Part One

4

slide-5
SLIDE 5

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)

slide-6
SLIDE 6

Video game is a

multibillionaire

industry!

6

slide-7
SLIDE 7

Video game projects have

multidisciplinary

teams!

7

slide-8
SLIDE 8

GDC 2016 State of the Industry Report

8

30%

16% 11%

Programmers

slide-9
SLIDE 9

Video games are

softwares!

9

slide-10
SLIDE 10

Does game industry have the same problems that "traditional" software industry?

10

slide-11
SLIDE 11

2006

11

slide-12
SLIDE 12

12/##

20 game industry postmortems

slide-13
SLIDE 13

"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.

slide-14
SLIDE 14

What is the most important problem in game industry?

14

slide-15
SLIDE 15

Unrealistic or ambitious scope and features creep

75% of projects

15

slide-16
SLIDE 16

So, how can we mitigate these problems?

16

slide-17
SLIDE 17

"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.

slide-18
SLIDE 18

2016

18

slide-19
SLIDE 19

19

slide-20
SLIDE 20

"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

slide-21
SLIDE 21

Are this claim general or a "cherry picking" case?

21

slide-22
SLIDE 22

RQ: Are "the old days" really gone in video game industry?

22

slide-23
SLIDE 23

Methodology

23

slide-24
SLIDE 24

24

slide-25
SLIDE 25

25

Meta-model (BPMN)

slide-26
SLIDE 26

26

Iterative process - Kingdoms of Amalur: Reckoning model

slide-27
SLIDE 27

20 process models

27

slide-28
SLIDE 28

Results

28

slide-29
SLIDE 29

29

Process occurrences by category

slide-30
SLIDE 30

30

Agile practices in game projects

slide-31
SLIDE 31

Conclusions

31

slide-32
SLIDE 32

Conclusion 1 The ``old days" are gone, but not completely at all.

32

slide-33
SLIDE 33

Conclusion 2 Iterative process is actually mainstream in the game industry.

33

slide-34
SLIDE 34

Conclusion 3 Agility are increasing in the last years.

34

slide-35
SLIDE 35

We believe that iterative process benefits are yet misunderstood by part of game community.

35

slide-36
SLIDE 36

Suggestion

Educators include game agile methodologies in game development courses.

36

slide-37
SLIDE 37

37

slide-38
SLIDE 38

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/##

Thank you!

slide-39
SLIDE 39

Research opportunities

  • Debugging

○ behavior and strategy analysis on stepping/following execution debugging ○ infrastructure collect and share debugging data (Swarm Debugging) ○ debugging recommendation system (machine learning)

  • Software visualization
  • Polymorphism

○ mining of polymorphism ○ polymorphism comprehension in static and dynamic type language projects ○ polymorphism visualization

  • Games and Software Engineering

○ 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

slide-40
SLIDE 40

Seminar Part Two

40

slide-41
SLIDE 41

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

slide-42
SLIDE 42

In your experience, how much time is needed to do a paper some like that?

42

slide-43
SLIDE 43

In your experience, how much time is needed to do a paper some like that?

43

slide-44
SLIDE 44

In your experience, how much time is needed to do a paper some like that?

44

slide-45
SLIDE 45

In your experience, how much time is needed to do a paper some like that?

45

20 days

slide-46
SLIDE 46

So, how can we achive it?

slide-47
SLIDE 47

Use agile practices in research!

slide-48
SLIDE 48
slide-49
SLIDE 49

Research project - agile practices in SE research

  • Apply agile practices on our projects and evaluate their impact:

○ quality ○ productivity ○ replicability

49

slide-50
SLIDE 50

Proposal

  • interested groups (optional)
  • Scrum Master role
  • Research "Owner" Role
  • rganize the teams
  • run some sprints
  • practices and tools
  • during sprints

○ collect project and team data ○ journals ○ evidences (photos, videos, chatting, backlogs, post-its, kanbans, etc)

  • Results and analyses
  • Publication :-)

50

slide-51
SLIDE 51

Win-Win approach

51

slide-52
SLIDE 52

How can we start?

52

slide-53
SLIDE 53

How could we start?

53

slide-54
SLIDE 54

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?

slide-55
SLIDE 55

Seminar Part Three

55

slide-56
SLIDE 56

Focused Project

Swarm Debugging

collecting and sharing debug session information

56

slide-57
SLIDE 57

if debugging is important to create knowledge about a software project, why is this human knowledge lost?

57

slide-58
SLIDE 58

Can we collect and share debugging session information?

58

slide-59
SLIDE 59

Swarm Debugging

59

slide-60
SLIDE 60

Infrastructure

60

slide-61
SLIDE 61

Architecture

61

slide-62
SLIDE 62

Metadata

62

slide-63
SLIDE 63

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

slide-64
SLIDE 64

Searching Tools

How can we support new debugging session using this collected information?

  • Breakpoint search tool (textual search - ElasticSearch)
  • Starting point method search
  • Ending point method search
  • ?????

64

slide-65
SLIDE 65

Visualisation Tools

  • Sequence Stack diagram
  • Dynamic Method Call Graph
  • Swarm Dashboard
  • Debugging pathfinder recommendation graph
  • ????

65

slide-66
SLIDE 66

Sequence Stack Diagram

66

slide-67
SLIDE 67

Sequence Stack Diagram Sequence Stack Diagram

67

slide-68
SLIDE 68

Dynamic Call Graph

68

slide-69
SLIDE 69

69

slide-70
SLIDE 70

Debugging pathfinder recommendation graph

M0 M1 M2 M3 M5 M8 M7 M6 M9 M10 M11 M12 Mn M4

Complex call graph

M0 M1 M2 M3 M5 M8 M7 M6 M9 M10 M11 M12 Mn M4

Complex call graph Recommended Debugging path

M0 M2 M3 M7

70

slide-71
SLIDE 71

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

slide-72
SLIDE 72

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

slide-73
SLIDE 73

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

slide-74
SLIDE 74

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

slide-75
SLIDE 75

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

slide-76
SLIDE 76

Short-term next steps

  • Survey about debugging
  • rganize controlled experiment
  • run experiment with students
  • write paper to ICPC

76

slide-77
SLIDE 77

Kick off research meeting

Institute of Informatics Federal University of Rio Grande do Sul Porto Alegre, Brazil

Thanks!

Fabio Petrillo

77/##