218 research outputs found

    How Do Web-Active End-User Programmers Forage?

    Get PDF
    Web-active end-user programmers spend substantial time and cognitive effort seeking information while debugging web mashups, which are platforms for creating web applications by combining data and functionality from two or more different sources. The debugging on these platforms is challenging as end user programmers need to forage within the mashup environment to find bugs and on the web to forage for the solution to those bugs. To understand the foraging behavior of end-user programmers when debugging, we used information forging theory. Information foraging theory helps understand how users forage for information and has been successfully used to understand and model user behavior when foraging through documents, the web, user interfaces, and programming environments. Through the lens of information foraging theory, we analyzed the data from a controlled lab study of eight web-active end-user programmers. The programmers completed two debugging tasks using the Yahoo! Pipes web mashup environment. On analyzing the data, we identified three types of cues: clear, fuzzy, and elusive. Clear cues helped participants to find and fix bugs with ease while fuzzy and elusive cues led to useless foraging. We also identified the strategies used by the participants when finding and fixing bugs. Our results give us a better understanding of the programming behavior of web-active end-users and can inform researchers and professionals how to create better support for the debugging process. Further, this study methodology can be adapted by researchers to understand other aspects of programming such as implementing, reusing, and maintaining code

    Simulation Models of the Evolution of Cooperation as Proofs of Logical Possibilities. How Useful Are They?

    Get PDF
    This paper discusses critically what simulation models of the evolution of cooperation can possibly prove by examining Axelrod’s “Evolution of Cooperation” (1984) and the modeling tradition it has inspired. Hardly any of the many simulation models in this tradition have been applicable empirically. Axelrod’s role model suggested a research design that seemingly allowed to draw general conclusions from simulation models even if the mechanisms that drive the simulation could not be identified empirically. But this research design was fundamentally flawed. At best such simulations can claim to prove logical possibilities, i.e. they prove that certain phenomena are possible as the consequence of the modeling assumptions built into the simulation, but not that they are possible or can be expected to occur in reality. I suggest several requirements under which proofs of logical possibilities can nevertheless be considered useful. Sadly, most Axelrod-style simulations do not meet these requirements. It would be better not to use this kind of simulations at all

    Compilation and Network Analyses of Cambrian Food Webs

    Get PDF
    A rich body of empirically grounded theory has developed about food webs—the networks of feeding relationships among species within habitats. However, detailed food-web data and analyses are lacking for ancient ecosystems, largely because of the low resolution of taxa coupled with uncertain and incomplete information about feeding interactions. These impediments appear insurmountable for most fossil assemblages; however, a few assemblages with excellent soft-body preservation across trophic levels are candidates for food-web data compilation and topological analysis. Here we present plausible, detailed food webs for the Chengjiang and Burgess Shale assemblages from the Cambrian Period. Analyses of degree distributions and other structural network properties, including sensitivity analyses of the effects of uncertainty associated with Cambrian diet designations, suggest that these early Paleozoic communities share remarkably similar topology with modern food webs. Observed regularities reflect a systematic dependence of structure on the numbers of taxa and links in a web. Most aspects of Cambrian food-web structure are well-characterized by a simple “niche model,” which was developed for modern food webs and takes into account this scale dependence. However, a few aspects of topology differ between the ancient and recent webs: longer path lengths between species and more species in feeding loops in the earlier Chengjiang web, and higher variability in the number of links per species for both Cambrian webs. Our results are relatively insensitive to the exclusion of low-certainty or random links. The many similarities between Cambrian and recent food webs point toward surprisingly strong and enduring constraints on the organization of complex feeding interactions among metazoan species. The few differences could reflect a transition to more strongly integrated and constrained trophic organization within ecosystems following the rapid diversification of species, body plans, and trophic roles during the Cambrian radiation. More research is needed to explore the generality of food-web structure through deep time and across habitats, especially to investigate potential mechanisms that could give rise to similar structure, as well as any differences

    MATING SYSTEM EVOLUTION, PLANT-POLLINATOR INTERACTIONS, AND FLORAL ULTRAVIOLET PATTERNING IN MIMULUS GUTTATUS

    Get PDF
    The evolution and maintenance of plant mating systems has been a topic of great interest throughout the history of evolutionary biology. Despite a large body of literature describing mating system variation, critical knowledge is lacking regarding the mechanisms involved in mating system transitions, including the rate and magnitude of trait changes. I combine experimental evolution, pollinator behavioral studies, and classic phytomorphology to examine the mating system transition from outcrossing to self-fertilizing (selfing) in flowering plants. Using the wildflower Mimulus guttatus (yellow monkeyflower) as a model, I investigate which traits facilitate outcrossing via mutualistic relationships with pollinators and which traits evolve in response to pollination disruption. In Chapters 1 and 2, I demonstrate that rapid evolution of adaptive floral and genetic traits can occur in populations that lose pollinators and that trait evolution occurs sequentially. In Chapter 3, I find strong pollinator preference for specific floral traits, evidence that pollinator selection maintains attractive traits in wild populations. However, pollinators displayed limited ability to distinguish between subtle population variants and thus are unlikely drivers of ethological speciation. In Chapter 4, I document within and among population variation in a cryptic floral trait, ultraviolet (UV) patterning. UV patterning is a visual stimulant for pollinators, but I found it in a selfing Mimulus species, suggesting that UV patterning in flowers functions beyond pollinator attraction. My research has direct implications for forecasting plant adaptation as anthropogenic environmental disturbance increasingly decouples plant-pollinator relationships. Rapid adaptation is an option for some self-compatible, pollinator-reliant plants; however, a transition to selfing results in decreased genetic diversity which may expose populations to extinction with further environmental disturbances

    Human-Centric Tools for Navigating Code

    Get PDF
    All software failures are fundamentally the fault of humansthe software\u27s design was flawed. The high cost of such failures ultimately results in developers having to design, implement, and test fixes, which all take considerable time and effort, and may result in more failures. As developers work on software maintenance tasks, they must navigate enormous codebases that may comprise millions of lines of code organized across thousands of modules. However, navigating code carries with it a plethora of problems for developers. In the hopes of addressing these navigation barriers, modern code editor and development environments provide a variety of features to aid in navigation; however, they are not without their limitations. Code navigations take many forms, and in this work I focus on three key types of code navigation in modern software development: navigating the working set, navigating among versions of code, and navigating the code structure. To address the challenges of navigating code, I designed three novel software development tools, one to enhance each type of navigation. First, I designed and implemented Patchworks, a code editor interface to support developers in navigating the working set. Patchworks aims to make these more efficient by providing a fixed grid of open code fragments that developers can quickly navigate. Second, I designed and implemented Yestercode, a code editor extension to support navigating among versions of code. Yestercode does so by providing a comparison view of the current code and a previous version of the same code. Third, I designed and implemented Wandercode, a code editor extension to enable developers to efficiently navigate the structure of their code. Wandercode aims to do so by providing a visualization of the code\u27s call graph overlayed on the code editor. My approach to designing these tools for more efficient code navigation was a human-centric onethat is, based on the needs of actual developers performing real software development tasks. Through user study evaluations, I found that these tools significantly improved developer productivity by reducing developers\u27 time spent navigating and mental effort during software maintenance tasks

    Coding Theory

    Get PDF
    This book explores the latest developments, methods, approaches, and applications of coding theory in a wide variety of fields and endeavors. It consists of seven chapters that address such topics as applications of coding theory in networking and cryptography, wireless sensor nodes in wireless body area networks, the construction of linear codes, and more
    • 

    corecore