Leif SingerUniversity of Victoria | UVIC · Department of Electrical and Computer Engineering (ECE)
Leif Singer
Dr. rer. nat.
About
40
Publications
31,054
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
2,594
Citations
Publications
Publications (40)
Each day, more than 500 million users post over 500 million tweets through the Twitter microblogging service. Research has established that many software developers use Twitter in their work, but how or why they use it has not been ana-lyzed. Understanding how developers use Twitter could lead to improved tool and process support, and learning more...
Many software development projects struggle with creating and communicating a testing culture that is appropriate for the project's needs. This may degrade software quality by leaving defects undiscovered. Previous research suggests that social coding sites such as GitHub provide a collaborative environment with a high degree of social transparency...
The multitude of social media channels that programmers can use to participate in software development has given rise to online developer profiles that aggregate activity across many services. Studying members of such developer profile aggregators, we found an ecosystem that revolves around the social programmer. Developers are assessing each other...
Release management in large-scale software development projects requires significant communication and coordination. It is particularly challenging in Free and Open Source Software (FOSS) ecosystems, in which hundreds of loosely connected developers and their projects are coordinated to release software to a schedule. To better understand this proc...
Developers are using more and more different channels and tools to collaborate, and integrations between these tools are becoming more prevalent. In turn, more data about developers’ interactions at work will become available. These developments will likely make People Analytics — using data to show and improve how people collaborate — more accessi...
Previous research found that inexperienced software engineers may tend to view automatic testing as a waste of time and as an activity completely separate from programming. This could have a negative impact on their later careers and could be a sign that improvements in software engineering education are needed when it comes to testing. At the same...
Release management in large-scale software development projects requires significant communication and coordination. It is particularly challenging in Free and Open Source Software (FOSS) ecosystems, in which hundreds of loosely connected developers and their projects need to be coordinated to release software to a schedule. To better understand th...
Software ecosystems as a paradigm for large-scale software development encompass a complex mix of technical, business, and social aspects. While significant research has been conducted to understand both the technical and business aspects, the social aspects of software ecosystems are less well understood. To close this gap, this paper presents the...
Software developers use many different communication tools and channels in their work. The diversity of these tools has dramatically increased over the past decade and developers now have access to a wide range of socially enabled communication channels and social media to support their activities. The availability of such social tools is leading t...
Social networks have changed our daily life and they have the potential to significantly influence and support Requirements Engineering (RE) activities. Social network-based RE approaches will allow us to overcome limitations of traditional approaches and allow end users to play a more prominent role in RE. They are key stakeholders in many softwar...
Software ecosystems have become a new paradigm for the development of large-scale software, bringing a complex mixture of technical, business and social aspects. Although previous research has focused on understanding both the technical and business aspects, the social side of software ecosystems is less understood. To fill this gap, this paper pre...
Gamification is the use of game elements in non-game context to engage and to motivate people to achieve goals. Its use is becoming very popular in software development organizations due to work being based upon human-centric and brain-intensive activity. This paper presents the topics of collaboration and gamification in the context of software en...
With over 10 million git repositories, GitHub is becoming one of the most important sources of software artifacts on the Internet. Researchers mine the information stored in GitHub’s event logs to understand how its users employ the site to collaborate on software, but so far there have been no studies describing the quality and properties of the a...
With over 10 million git repositories, GitHub is becoming one of the most important sources of software artifacts on the Internet. Researchers mine the information stored in GitHub’s event logs to understand how its users employ the site to collaborate on software, but so far there have been no studies describing the quality and properties of the a...
There are many different approaches to testing software, with different benefits for software quality and the development process. Yet, it is not well understood what developers struggle with when getting started with testing - and why some do not test at all or not as much as would be good for their project. This missing understanding keeps us fro...
With over 10 million git repositories, GitHub is becoming one of the most important source of software artifacts on the Internet. Researchers are starting to mine the infor- mation stored in GitHub’s event logs, trying to understand how its users employ the site to collaborate on software. However, so far there have been no studies describing the q...
There are several mobile platforms that compete with each other to attract software developers. However, it is not yet well understood which factors developers take into account when deciding on a particular platform. We report on an exploratory study that aims to address this gap. Through semi-structured interviews that used diffusion of innovatio...
Software developers rely on media to communicate, learn, collaborate, and coordinate with others. Recently, social media has dramatically changed the landscape of software engineering, challenging some old assumptions about how developers learn and work with one another. We see the rise of the social programmer who actively participates in online c...
Testing is an important part of software development. However, creating a common understanding of a project's testing culture is a demanding task. Without it, the project's quality may degrade. We conducted a Grounded Theory study to understand how testing culture is communicated and disseminated in projects on GitHub. We investigated how the trans...
It is poorly understood how developers discover and adopt software development innovations such as tools, libraries, frameworks, or web sites that support developers. Yet, being aware of and choosing appropriate tools and components can have a significant impact on the outcome of a software project. In our study, we investigate link sharing on Stac...
GitHub projects attract contributions from a community of users with varying coding and quality assurance skills. Developers on GitHub feel a need for automated tests and rely on test suites for regression testing and continuous integration. However, project owners report to often struggle with implementing an exhaustive test suite. Convincing cont...
Many online communities struggle with conflicts - e.g. between newcomers and elders - at some point. In July 2012, the Stack Exchange organization attempted to assess the overall “niceness” of the Stack Overflow community by rating the “friendliness” of 7,000 comments made on the site over a 4 year period. We performed a deeper examination of the c...
The Social Web provides comprehensive and publicly available information about software developers: they can be identified as contributors to open source projects, as experts at maintaining weak ties on social network sites, or as active participants to knowledge sharing sites. These signals, when aggregated and summarized, could be used to define...
Documentation of REST and REST-style services often uses prose only, making it hard for client developers to understand the ties between the service's parts. We developed a notation for REST-style services that's based on UML state charts. It can be used with existing tools and is simple enough for use on whiteboards. The notation visualizes relati...
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 engineering research and practice provide a wealth of methods that improve the quality of software and lower the costs of producing it. Even though processes mandate their use, methods are not employed consequently. Software developers and development organizations thus cannot fully benefit from these methods. We propose a method that, for...
People have many creative ideas, but only a few of these ideas are realized and lead to innovation. Good ideas often fail because they are not shared between innovators and stakeholders, hence are unlikely to be realized. Consequently, many opportunities are missed to excite customers and to gain a competitive advantage. This paper proposes an inno...
Hypermedia as the Engine of Application State, or HATEOAS, is one of the constraints of the REST architectural style. It requires service responses to link to the next valid application states. This frees clients from having to know about all the service's URLs and the details of its domain application protocol. Few services support HATEOAS, though...
Many programs are being created by end-users without formal training in programming. Spreadsheets are the most popular environment for this, but mashups which combine public services into new, albeit small applications are also becoming more and more popular. Research shows that end-user programmers make potentially costly mistakes. Yet initiatives...
Many integration projects in enterprises are too small to warrant their own implementation by IT. This leaves a "long tail of enterprise integration" unaccounted for. To exploit this potential, this position paper proposes a Community of Practice for end user development whose members will be able to solve their integration needs on their own. In p...
IT ecosystems are ultralargescale software systems that consist of various, constantly interacting and partly autonomous subsystems as well as the users of the overall system. Because of their strong integration with everyday life, these systems are often not even perceived as IT systems by its users. This is a problem for requirements engineering,...
Badly and inconsistently layouted business processes are hard to read for humans and therefore lack comprehensibility. Furthermore, processes generated by software have no layout at all. If stakeholders cannot comprehend the process descriptions, they are unable to validate them and find mistakes. By offering a fully automatic layout algorithm for...
Assessing the quality of tests for BPEL processes is a difficult task in projects following SOA principles. Since insufficient testing can lead to unforeseen defects that can be extremely costly in complex and mission critical environments, this problem needs to be addressed. By using formally defined test metrics that can be evaluated automaticall...
In IT-Ökosystemen ist ein breites Spektrum von Beteiligten vertreten, deren Interessen bei der Software-Entwicklung in derartigen Systemen identifiziert und gegeneinander abgewogen werden müssen. Es ist oftmals unklar, welche Arten von Beteiligten hier auftreten können und wie deren Eigenarten bezüglich Requirements Engineering begegnet werden kann...
Gesch¨ aft und IT wachsen insbesondere in SOA-Projekten immer starker zusammen. Hierbei wird deutlich: prozess- als auch anforderungsbezogene Rollen versuchen dasselbe Problem zu l¨ osen — namentlich die Erhebung von Anforderungen und die Neudefinition der Unternehmung. Dies geschieht jedoch auf verschiedenen Ebenen und mit Hilfe unterschiedlicher...