Collaboration is becoming ubiquitious; at the same time the emergence of new technologies have been changing the landscape of interaction and collaboration. I am interested in the effect that information technologies have on collaboration and the development of new organizational practices such as network-centricity, group-to-group collaboration, nomadic work, and large-scale collaboration. I am also very interested in how Web 2.0 technologies (blogs, wikis, social-networking sites, etc.) are used in collaboration and how they can be integrated into the course of daily work.
Sourcerer is an ongoing research project at the University of California, Irvine aimed at exploring open source projects through the use of code analysis. The existence of an extremely large body of open source code presents a tremendous opportunity for software engineering research. Not only do we leverage this code for our own research, but we provide the open source Sourcerer Infrastructure and curated datasets for other researchers to use.
The Sourcerer Infrastructure is composed of a number of layers.
Anti-social behavior such as flaming and griefing is pervasive and problematic in many online venues. This behavior breaks established norms and unsettles the well-being and development of online communities. In a popular online game, Riot Games's League of Legends, the game company received tens of thousands of complaints about others every day. To regulate what they call "toxic" behavior, Riot devised the "Tribunal" system as a way of letting the community to police itself. The Tribunal is a crowdsoucing system that empowers players to identify and judge misbehavior.
In the era of big data and personalization, websites and (mobile) applications collect an increasingly large amount of personal information about their users. The large majority of users decide to disclose some but not all information that is requested from them. They trade off the anticipated benefits with the privacy risks of disclosure, a decision process that has been dubbed privacy calculus. Such decisions are inherently difficult though, because they may have uncertain repercussions later on that are difficult to weigh against the (possibly immediate) gratification of disclosure. How can we help users to balance the benefits and risks of information disclosure in a user-friendly manner, so that they can make good privacy decisions?
We developed a fault-localization technique that utilized correlation-based heuristics. The technique and tool was called Tarantula. Tarantula uses the pass/fail statuses of test cases and the events that occurred during execution of each test case to offer the developer recommendations of what may be the faults that are causing test-case failures. The intuition of the approach is to find correlations between execution events and test-case outcomes --- those events that correlate most highly with failure are suggested as places to begin investigation.
The dynamic nature of markets wherein business relationships are established and dissolved continuously demands systems that can cope with constant change, and do so with security paramount. These relationships are reified as services that are offered by organizations and used within a spectrum of domains and use contexts. Current service technologies fail to meet the requirements, however; interfaces are rigid, non-secure, and “one-size-fits-all solutions” which hardly meet the demands of any of its users.
The fantasy genre has captivated our attention in popular media for decades, providing us with inspiring imagery of valiant fighters and enchanting spell casters. Guild Wars 2, a massively multiplayer online game (MMO), introduces a range of races and characters not found in the traditional fantasy genre. When first experiencing a new fantasy world, does knowledge and information gained from previously consumed media influence players’ interpretations of new fantasy environments?
In order to produce effective fault-localization, debugging, failure-clustering, and test-suite maintenance techniques, researchers would benefit from a deeper understanding of how faults (i.e., bugs) behave and interact with each other. Some faults, even if executed, may or may not propagate to the output, and even still may or may not influence the output in a way to cause failure. Furthermore, in the presence of multiple faults, faults may interact in a way to obscure each other or in a way to produce behavior not seen in their isolation.