Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Â
Software Engineering and Social media
1. Software Engineering
&
Social Media
Instituto de Matemática e EstatĂstica
MAC6912 – Software Development
Environments
Jorge A. Melegati
2. Introduction
â—Ź What comes to your mind for the words
“Social Media”?
– Facebook
– Twitter
â—Ź It is more than that
– Blogs
– Q & A sites (StackOverflow)
– Source code comments
3. Introduction
â—Ź What is Social Media?
– Ahlqvist et al.
â—Ź Key elements:
– Content: user generated
– Community: social, people communication
– Web 2.0: technical aspects to content creation
and sharing
4. Introduction
â—Ź Development as a social activity
● “What makes a good developer?”
– Good code vs social skills
● “http://www.quora.com/What-was-it-like-to-be-a-
programmer-without-the-Internet”
5. Introduction
● “Everything you knew about programming you
had to either learn from a book or learn by
talking to someone. Every tool you used you
either had to write yourself, copy from a friend,
or buy.”
● “Reference manuals -- These were sometimes
as long as a bookshelf with many volumes.
Every system and library you used had a set
of soft-bound programming guides.”
6. Introduction
â—Ź Social Media Channels in SE
– Source Code Comments
– Reputation
– Tagging
– Q & A websites
– Microblogging
– Blogging
– Wikis, social networking, etc
7. Introduction
â—Ź Media (McLuhan)
– The medium is the message
â—Ź Media Effects
– Enhances
– Retrieves
– Reverses
– Obsolesces
9. Q & A websites
● “Crowd Documentation: Exploring the
Coverage and the Dynamics of API
discussions on Stack Overflow”
– Parnin et al.
10. Q & A websites
â—Ź Research questions
– How Q & A websites facilitate crowd
documentation?
– Can we rely on the crowd to discuss an entire
API on StackOverflow?
â—Ź Are APIs widely covered?
â—Ź What is discussed and what is not discussed?
â—Ź How fast is the crowd at covering an entire
API?
11. Q & A websites
â—Ź What are the dynamics of a successful API
community on Stack Overflow?
– Who contributes?
– How does the crowd contribute?
– How many code samples does the crowd
provide?
12. Q & A websites
â—Ź Conclusions
– The crowd does not provide questions and
answers for an entire API
– 80% of classes of Java and Android APIs
– Some areas (such as acessibility) are ignored
13. Q & A websites
â—Ź Conclusions
– A “crowd” of developers asks questions and a
small pool of “experts” answers
– Possible break if “experts” are not contributing
enough
– Code samples can be mined
â—Ź At least one code sample in an accepted
answer for about half questions of classes of
APIs
14. Microblogging
â—Ź What comes to mind?
– Twitter
● “Combining Micro-Blogging and IDE
Interactions to Support Developers in their
Quests”
– Guzzi et al.
15. Microblogging
â—Ź Context
– Software engineers spend a considerable
amount of time on program comprehension
– Current support for reusing and sharing
program comprehension knowledge is
limited
16. Microblogging
â—Ź Proposed solution
– An approach to making the knowledge gained
during the program comprehension process
accessible
– Combining micro-blog messages with
interaction data automatically collected from
the IDE
17. Microblogging
â—Ź Results
– Number, frequency and content of messages
indicate that developers are willing and
inclined to share
– One third of messages indicate future intent
– More than one fourth reference a code
element
– Knowledge create has big potential for support
manteinance tasks
18. Blogs
● “How Do Developers Blog? An Exploratory
Study”
– Pagano e Maalej
â—Ź SE community recognized potentials of social
media to improve communication and
collaboration
â—Ź Several studies about Wikis
19. Blogs
â—Ź Research questions
– How often do developers and other
stakeholders create blog entries?
– What are typical elements included or
referenced in a blog post?
– Which topics are used in blogs of software
development communities?
– How popular are these topics (i.e. frequency
distribution across the different projects)?
20. Blogs
â—Ź Research questions
– Are there particular patterns, which describe
when developers use blogs within their
development workflows?
– Are there relationships between the work
performed and the information blogged?
â—Ź Eclipse, GNOME, PostgreSQL and Python
â—Ź Commit messages and blog posts
21. Blogs
â—Ź Publishing frequency
– Committers had written more blog posts than
others
– Eclipse evangelists
– Several metrics
â—Ź How often?
â—Ź How long?
22. Blogs
â—Ź Post structure
– Do not tend to include source code
– Links are frequently
â—Ź More links to Wikis
– Images
â—Ź Eclipse and GNOME twice the others
– Interface projects
– Committers tend to use more screenshots
23. Blogs
â—Ź Blog content
– Most common topics
â—Ź Functional requirements & domain concepts
â—Ź Community & contributions
â—Ź API usage & project documentation
– More high-level concepts than low-level
24. Blogs
â—Ź Blog integration
– How blogging is integrated to developers'
workflow?
– Publishing patterns – When?
â—Ź 30-43% follow a corrective engineering activity
â—Ź 13-25% follow a management activity
â—Ź Forward or re-engineering less
– Content dependency
â—Ź Dependency decreases with an increasing time
period between commit and posting
27. Retrieves
â—Ź What does it make relevant again?
● Programmer “rock stars”
â—Ź Oral culture (talkbacks on blogs)
â—Ź End-user programmers
â—Ź Portfolios
31. And now?
● “The Impact of Social Media on Software
Engineering Practices and Tools”
– Storey et al.
â—Ź There is little known about the benefits or risks
of using such tools, and the impact they may
have on the quality of software.
32. And now?
â—Ź 10 Questions related to:
– Community and End User involvement
– Project Coordination and Management
– Software development activities
33. Conclusion
â—Ź Software Development as a collaborative
process
â—Ź Dev in a bubble is dead
â—Ź Research still in its infancy
– Effects of using social media is still unknown
34. Conclusion
“We shape our tools and thereafter our tools
shape us.”
Marshall McLuhan
Thank you