155 research outputs found

    Refactoring Pipe-like Mashups for End-User Programmers

    Get PDF
    Mashups are becoming increasingly popular as end users are able to easily access, manipulate, and compose data from many web sources. We have observed, however, that mashups tend to suffer from deficiencies that propagate as mashups are reused. To address these deficiencies, we would like to bring some of the benefits of software engineering techniques to the end users creating these programs. In this work, we focus on identifying code smells indicative of the deficiencies we observed in web mashups programmed in the popular Yahoo! Pipes environment. Through an empirical study, we explore the impact of those smells on end-user programmers and observe that users generally prefer mashups without smells. We then introduce refactorings targeting those smells, reducing the complexity of the mashup programs, increasing their abstraction, updating broken data sources and dated components, and standardizing their structures to fit the community development patterns. Our assessment of a large sample of mashups shows that smells are present in 81% of them and that the proposed refactorings can reduce the number of smelly mashups to 16%, illustrating the potential of refactoring to support the thousands of end users programming mashups

    CROP HEIGHT ESTIMATION WITH UNMANNED AERIAL VEHICLES

    Get PDF
    An unmanned aerial vehicle (UAV) can be configured for crop height estimation. In some examples, the UAV includes an aerial propulsion system, a laser scanner configured to face downwards while the UAV is in flight, and a control system. The laser scanner is configured to scan through a two - dimensional scan angle and is characterized by a maxi mum range. The control system causes the UAV to fly over an agricultural field and maintain, using the aerial propulsion system and the laser scanner, a distance between the UAV and a top of crops in the agricultural field to within a programmed range of distances based on the maximum range of the laser scanner. The control system determines, using range data from the laser scanner, a crop height from the top of the crops to the ground

    Automatic Generation of Load Tests

    Get PDF
    Load tests aim to validate whether system performance is acceptable under peak conditions. Existing test generation techniques induce load by increasing the size or rate of the input. Ignoring the particular input values, however, may lead to test suites that grossly mischaracterize a system’s performance. To address this limitation we introduce a mixed symbolic execution based approach that is unique in how it 1) favors program paths associated with a performance measure of interest, 2) operates in an iterative-deepening beam-search fashion to discard paths that are unlikely to lead to high-load tests, and 3) generates a test suite of a given size and level of diversity. An assessment of the approach shows it generates test suites that induce program response times and memory consumption several times worse than the compared alternatives, it scales to large and complex inputs, and it exposes a diversity of resource consuming program behavior

    Infrastructure Support for Controlled Experimentation with Software Testing and Regression Testing Techniques

    Get PDF
    Where the development, understanding, and assessment of software testing and regression testing techniques are concerned, controlled experimentation is an indispensable research methodology. Obtaining the infrastructure necessary to support rigorous controlled experimentation with testing techniques, however, is difficult and expensive. As a result, progress in experimentation with testing techniques has been slow, and empirical data on the costs and effectiveness of testing techniques remains relatively scarce. To help address this problem, we have been designing and constructing infrastructure to support controlled experimentation with software testing and regression testing techniques. This paper reports on the challenges faced by researchers experimenting with testing techniques, including those that inform the design of our infrastructure. The paper then describes the infrastructure that we are creating in response to these challenges, and that we are now making available to other researchers, and discusses the impact that this infrastructure has and can be expected to have on controlled experimentation with testing techniques

    Public Opinions of Unmanned Aerial Technologies in 2014 to 2019: A Technical and Descriptive Report

    Get PDF
    The primary purpose of this report is to provide a descriptive and technical summary of the results from similar surveys administered in fall 2014 (n = 576), 2015 (n = 301), 2016 (ns = 1946 and 2089), and 2018 (n = 1050) and summer 2019 (n = 1300). In order to explore a variety of factors that may impact public perceptions of unmanned aerial technologies (UATs), we conducted survey experiments over time. These experiments randomly varied the terminology (drone, aerial robot, unmanned aerial vehicle (UAV), unmanned aerial system (UAS)) used to describe the technology, the purposes of the technology (for economic, environmental, or security goals), the actors (public or private) using the technology, the technology’s autonomy (fully autonomous, partially autonomous, no autonomy), and the framing (promotion or prevention) used to describe the technology’s purpose. Initially, samples were recruited through Amazon’s Mechanical Turk, required to be Americans, and paid a small amount for participation. In 2016 we also examined a nationally representative samples recruited from Qualtrics panels. After 2016 we only used nationally representative samples from Qualtrics. Major findings are reported along with details regarding the research methods and analyses

    Dynamic Characterization of Web Application Interfaces

    Get PDF
    Web applications are increasingly prominent in society, serving a wide variety of user needs. Engineers seeking to enhance, test, and maintain these applications and third-party programmers wishing to utilize these applications need to understand their interfaces. In this paper, therefore, we present methodologies for characterizing the interfaces of web applications through a form of dynamic analysis, in which directed requests are sent to the application, and responses are analyzed to draw inferences about its interface. We also provide mechanisms to increase the scalability of the approach. Finally, we evaluate the approach’s performance on six non-trivial web applications
    • …
    corecore