Editorial: Thematic series on software engineering from a social network perspective

In the Internet age, the concept of social network is emerging as both a useful means for understanding software development activities and a concept for designing software tools to support these activities. Employing Social Networking is useful in part, because it brings a focus to stakeholders in software development including developers, their managers, their support staff, QA analysts, requirement engineers, etc. Social networks represent how people communicate, coordinate, cooperate, and develop working relationships. The concept is also useful as it reflects the network-centric organization for dealing with highly inter-dependent artifacts–including complex source code, systems and subsystems, requirement and specification documents, etc. However, the knowledge on social network in software engineering is spread across the literature and the term social network is used for multiple purposes, such as social networking sites, social capital, interpersonal connections, and social structures. This thematic series puts together papers that employ the concept of social networks either in studying software development from an empirical approach or use the concept as a central basis for developing software tool support. Readers will find in this issue a centralized resource for research in this area.


Introduction
This thematic series of the Journal of Internet Services and Applications (JISA) presents a collection of articles around the broad topic of Software Engineering from a Social Network Perspective. Articles on the concept of "social network" are spread out in the software engineering literature. This thematic series brings together different views and applications of the concept. This series comprises papers dealing with social network sites, specialized methods for software engineering activities, social network analysis and visualization, empirical quantitative and qualitative studies, patterns and antipatterns, tool development, etc.
Software engineering is an inherently sociotechnical endeavor [1][2][3]. Many studies demonstrate the importance of social interaction in this context [4]. For instance, in a global software development scenario, it was found that the effort involved in collaboration readiness was an essential challenge, and the effectiveness of social interactions among developers impact the work [5]. Social interactions include aspects of commitment, trust, and awareness, and often these aspects are difficult to handle in software engineering, mainly in situations in which developers are geographically and culturally dispersed [6][7][8][9][10].
Communication and coordination is critical in software development, since it is a complex, creative effort, in which tasks are often divided among individuals or groups of individuals, such as developers, managers, product owners, users, systems operators, and other stakeholders. These tasks cannot be carried out independently and the task interdependencies drive the need for communication and coordination [11].
Communication plays a key role in the quality and evolution of a software product [12]. The interactions among the individuals configure implicit social networks. Making these network connections explicit help researchers and tool designers to better understand and support development activities. While previous research clearly has unpacked many of these challenges related to the social aspects of software engineering, in this special issue, we focus on a social network perspective.
The term "social network" is often used with different meanings. It sometimes describes social media and social networking sites (or platforms), such as the popular Facebook and LinkedIn sites. The term is also used to describe the people who an individual knows. In a narrower and more precise sense, "social network" refers to the graph structure made up of social actors (such as individuals or organizations) and connections between these actors. Thus, a social network reflects the relational information about the actors it comprises [13]. The understanding of complex social networks is an emerging and challenging research field [14,15]. Social network analysis (SNA) is part of this field, and many constructs that help understand social networks have been proposed so far, such as centrality, density, structural holes, etc. These constructs support the understanding of the individual roles and interaction patterns and anti-patterns in a social network.
From the software engineering perspective, social networks can be extracted from the archives of a software project to be able to better understand the project, the ecosystem, or software engineering as a whole. This social perspective sheds light on the technical aspects of the work, analyzed in a sociotechnical manner. This approach may help to reduce problems that arise because of problematic communication or coordination, a common cause of project failures. Indeed, social features are becoming part of software repositories and coding tools, as can be seen by the recent GitHub phenomenon.
Researchers have started leveraging the power of social network analysis to understand different aspects of the software development process. For example, the structure of the social organization often dictates the technical structure of the product, as stated in Conway's Law [16], and is a topic of ongoing research. Researchers are also investigating the interplay of complex interdependencies among technical artifacts and the people who create and maintain these artifacts [17]. Others have examined the relationships between the stakeholders based on qualitative studies, and have been developing software tools to support awareness and trust in global software development [18]. Finally, researchers are studying the effects when companies switch from hierarchical to network-centric ways of organizing work and how these companies leverage expertise within their organization [19,20].
In this thematic series, researchers investigated how popular social network sites can be used to support requirement engineering [21]; how software engineering social networks lead to social debt [22]; how interactions are mined from software repositories to understand how companies collaborate and compete [23]; how complex information systems can be analyzed from a sociotechnical perspective [14]; how prestige in a social network correlates to socio-economic data [24]; and how a social networking site can support a professional development community. In the next section, we give a brief overview of each selected paper before we explain the selection process.

Papers
The set of papers selected for this thematic series covers different research approaches, such as quantitative and qualitative studies, tool development and archival analysis, open source software and industrial projects, analysis of existing social networking sites and development of a new one, etc. This gives a broad overview of the area, with its tools, platforms, and research methods. Next, we briefly describe each paper.
There is no surprise in the fact that social network sites, such as Facebook, are quite popular. What is still a surprise is how little these sites are used in the software development process. Software engineers can leverage these platforms to support software engineering activities, as illustrated by Seyff et al. [21] in the paper "Using popular social network sites to support requirements elicitation, prioritization and negotiation." The authors aim to engage a large number of heterogeneous, globally distributed, and potentially anonymous stakeholders, including end-users, in the process of requirement analysis. Thus, they cope with the current demands for short time-to-market periods and fast, easy, and inexpensive methods. The authors propose an approach comprising a set of activities for requirements elicitation, prioritization, and negotiation, and show how Facebook may support these activities. This is particularly useful when end users are not within immediate reach and it seamlessly integrates mobile devices in the process. The authors investigated the usefulness of the existing features and they conducted three exploratory studies within requirement engineering classes. Their findings show that end users were able to follow the process, expressing their needs, engaging in discussions, and using the Facebook "liking" feature for prioritizing their needs. The idea seems promising and can be further investigated in future studies.
Social networks are all about interactions among people, which are influenced by the cultural and collaboration processes of the underlining organization. Tamburri et al. [22] in the paper "Social debt in software engineering: insights from industry" investigated how accumulated sub-optimal decisions about people and their interactions turn into social debt, in a similar fashion in technical debt is accrued [25]. While technical debt has received a lot of attention over the years, social debt has remained relatively unexplored. As software engineering success is highly dependent on the well-being of the development communities, managing social debt is crucial. It is necessary to pay attention to the socio-technical decisions as some costs are not immediately visible and their resolution is often postponed. Social debt may lead to an additional cost that occurs when strained social interactions get in the way of smooth software development and operation. Tamburri and colleagues conducted a qualitative study in a large software company to better characterize forces that lead to social debt, anti-patterns that cause social debt, and some best practices to pay back the debts. One of their findings is that social debt can be quantified by means of social network analysis.
Social network analysis of software engineering data can in fact reveal many interesting patterns and phenomena, as illustrated by Teixeira et al. [23] in their paper "Lessons learned from applying social network analysis on an industrial Free/Libre/Open Source Software ecosystem." The authors combined social network analysis (SNA) and mining software repositories (MSR) techniques on an open source software (OSS) repository. As the authors show, the OSS ecosystem is a rich source of information and archival data for analysis, which may reveal interesting relations and support theory building. Teixeira and colleagues visualized collaboration evolution in a sequence of networks in order to understand how rival firms collaborate in the open source ecosystem. Their findings show that competition for the same revenue model does not necessary affect collaboration within the ecosystem, and that developers do not necessarily work with developers from the same firm. They provide a rich description on how heterogeneous actors within a highly-networked ecosystem develop together a complex infrastructure for big-data in the open source arena.
Aram and Nemann [14] also employed social network analysis in their paper "Multilayered analysis of co-development of business information systems." They provided a fine-grained understanding of the participation of stakeholders in the co-development of a complex information system. They proposed a multilayered approach for the analysis of co-development from a sociotechnical perspective, analyzing at the same time the business and the technical structures. As previously discussed, mixing both social and technical aspects in the analysis of a software project can provide a rich perspective of the collaborative work. Besides, in both this and the previous paper, the reader can find interesting social network representations.
Source code hosting services have adopted the "social coding" idea as they are aware of the importance of social aspects to software development. GitHub is currently the most representative example of this phenomenon and it has been attracting many software projects. Figueira Filho et al. [24], in their paper "A study on the geographical distribution of Brazil's prestigious software developers," used data from GitHub projects to analyze social network data from over 4,000 active users. GitHub integrates a source code hosting service with social networking features. Figueira Filho and colleagues analyzed how developers' prestige correlates to Brazilian socio-economic and demographic data per state. They hypothesized that socio-economic characteristics are essential in determining the success of a country's IT industry and they found some evidence that prestigious developers tend to be located in the most economically developed regions. The inference of software developers' prestige from the underlining social network is another good example of the use of social network analysis from a software engineering perspective.
Finally, in the last article of this thematic series, Magoutis et al. [26] report their experience in designing, developing, and evaluating a social networking site in the paper "Design and implementation of a social networking platform for cloud deployment specialists." They focus on a new kind of professional that is becoming increasingly important to the software industry, namely DevOps, whose expertise span the fields of development and operation of software systems. The social networking site enables the sharing of automated deployment scripts and reasoning about good deployment strategies by means of interaction with experts. The experimental development of this kind of platforms helps to understand the interaction needs of software engineers.

Papers selection
There were two independent cycles of submissions and the papers were published as soon as they became ready. Each manuscript went through several revisions before the final acceptance. We invited a number of leading experts in the area to form an initial editorial committee, which was increased on demand in order to provide valuable feedback for the authors and review different aspects of the papers. All manuscripts were reviewed by at least three members of the editorial committee. For some papers, more reviewers were invited to analyze the manuscripts from different perspectives. We received a total of 12 submissions, from which we accepted 6 for publication. The papers were reviewed by a total of 41 reviewers. The names of the editorial committee members are listed on the acknowledgements of this editorial.

Related special issues
We also refer the reader to other related special issues, which can be a source for additional understanding of the theme. Some related special issues are: from IEEE Software on "Bridging Software Communities through Social Networking" [27] and on "Cooperative and Human Aspects of Software Engineering" [28], the special issue from IEEE TSE on "Socio-Technical Environment of Software Development Projects" [29], and the special issue from the International Journal of Human-Computer Studies on "Collaborative and Social Aspects of Software Development" [30].

Conclusion
In summary, social networks model people's communication, coordination, and cooperation, and they can be used as a foundation for tools supporting these activities. Bringing social networks to the foreground of software development practice brings a focus to its stakeholders. The concept also helps explore the notion of networkcentric organizations that are required to deal with socio-technical dependencies.
We learned through the work on this thematic issue that using social networks as an analytical lens helps to unpack and learn about software engineering in new ways. In particular, we found that the notion of networkcentric organizations makes it possible for us to highlight important relations in the cooperative practices that we might otherwise neglect. While many opensource communities might not be considered traditional 'organizations' since each member in the community is distributed, they still have a governance structure. In such open distributed governance, 'social network' analytics can help to not only understand the coordination challenges, but also to harness the potential for collaboration.
From the improved understanding of social network analysis applied to software engineering, features of social networking sites that can be useful for software engineers, and the sociotechnical perspective for software engineering activities, we hope that new research lines and tools will appear. In this thematic issue we have only begun to scratch the surface of the potential of using social networking in software engineering; the area still has many open challenges and unexplored topics. We hope this issue spurs an interest for academics and professionals to dig deeper into this area in future work. Good luck delving into this exciting world of software engineering from a social network perspective.