The sheer number of available technologies and the complex relationships among them make it challenging to choose the right technologies for software projects. Developers often turn to online resources (e.g., expert a...
详细信息
ISBN:
(纸本)9781450344272
The sheer number of available technologies and the complex relationships among them make it challenging to choose the right technologies for software projects. Developers often turn to online resources (e.g., expert articles and community answers) to get a good understanding of the technology landscape. Such online resources are primarily opinion-based and are often out of date. Furthermore, information is often scattered in many online resources, which has to be aggregated to have a big picture of the technology landscape. In this paper, we exploit the fact that Stack Overflow users tag their questions with the main technologies that the questions revolve around, and develop association rule mining and community detection techniques to mine technology landscape from Stack Overflow question tags. The mined technology landscape is represented in a graphical technology Associative Network (TAN). Our empirical study shows that the mined TAN captures a wide range of technologies, the complex relationships among the technologies, and the trend of the technologies in the developers' discussions on Stack Overflow. We develop a website (https://***/) for the community to access and evaluate the mined technology landscape. The website visit statistics by Google Analytics shows the developers' general interests in our technology landscape service. We also report a small-scale user study to evaluate the potential usefulness of our tool.
This paper presents the design of a system that combines semi-autonomy with an interface that responds to natural user interaction through a device that is touch enabled or gesturally controlled. The aim is that of a ...
详细信息
ISBN:
(纸本)9781450343152
This paper presents the design of a system that combines semi-autonomy with an interface that responds to natural user interaction through a device that is touch enabled or gesturally controlled. The aim is that of a holistic software architecture, or one that enables active engagement in the emergence of meaningful collaborative narrative. This design contains a set of features that enable and support conversation, collaboration and narrative construction. With the system, assimilate, participants engage a multi-user digital space with a reactive interface that overlays a visual collaborative environment. The interface triggers physical responsive feedback support embodied action and the recognition of meaning or intention associated with narrative exchange. The system design is presented with a collaborative exploration of the seminal experimental film, La Jetée by Chris Marker along with evaluation results.
This paper presents FIDE, an Integrated Development Environment (IDE) for building applications using Functional Mock-up Units (FMUs) that implement the standardized Functional Mock-up interface (FMI). FIDE is based o...
详细信息
ISBN:
(纸本)9781450337397
This paper presents FIDE, an Integrated Development Environment (IDE) for building applications using Functional Mock-up Units (FMUs) that implement the standardized Functional Mock-up interface (FMI). FIDE is based on the actororiented Ptolemy II framework and leverages its graphical userinterface, simulation engine, and code generation feature to let a user arrange a collection of FMUs and compile them into a portable and embeddable executable that efficiently co-simulates the ensemble. The FMUs are orchestrated by a well-vetted implementation of a master algorithm (MA) that deterministically combines discrete and continuous-time dynamics. The ability to handle these interactions correctly hinges on the implementation of extensions to the FMI 2.0 standard. We explain the extensions, outline the architecture of FIDE, and show its use on a particularly challenging example that cannot be handled without the proposed extensions to FMI 2.0 for co-simulation.
The spread of social networks and other online collaboration-related practices changes the target of software products from a single user to virtual communities. Such communities view userinterfaces of social website...
详细信息
Graphical userinterfaces (GUIs) intensively rely on event-driven programming: widgets send GUI events, which capture users' interactions, to dedicated objects called controllers. Controllers implement several GUI...
详细信息
ISBN:
(纸本)9781450343220
Graphical userinterfaces (GUIs) intensively rely on event-driven programming: widgets send GUI events, which capture users' interactions, to dedicated objects called controllers. Controllers implement several GUI listeners that handle these events to produce GUI commands In this work, we conducted an empirical study on 13 large Java Swing open-source software systems. We study to what extent the number of GUI commands that a GUI listener can produce has an impact on the change- and fault-proneness of the GUI listener code. We identify a new type of design smell, called Blob listener that characterizes GUI listeners that can produce more than two GUI commands. We show that 21 % of the analyzed GUI controllers are Blob listeners. We propose a systematic static code analysis procedure that searches for Blob listener that we implement in InspectorGuidget. We conducted experiments on six software systems for which we manually identified 37 instances of Blob listener. InspectorGuidget successfully detected 36 Blob listeners out of 37. The results exhibit a precision of 97.37 % and a recall of 97.59 %. Finally, we propose coding practices to avoid the use of Blob listeners.
In this paper, we describe the creation of a photorealistic digital 3D representation of a real world city and its subsequent publication as an open and collaborative 3D virtual world on the web using an open source s...
详细信息
softwareinterfaces today generally fall at either end of a spectrum. On one end are programmable systems, which allow expert users (i.e. programmers) to write software artifacts that describe complex abstractions, bu...
详细信息
ISBN:
(纸本)9781450342056
softwareinterfaces today generally fall at either end of a spectrum. On one end are programmable systems, which allow expert users (i.e. programmers) to write software artifacts that describe complex abstractions, but programs are disconnected from their eventual output. On the other end are domain-specific graphical userinterfaces (GUIs), which allow end users (i.e. non p-programmers) to easily create varied content but present insurmountable walls when a desired feature is not built-in. Both programmatic and direct manipulation have distinct strengths, but users must typically choose one over the other or use some ad-hoc combination of systems. Our goal, put simply, is to bridge this divide. We envision novel software systems that tightly couple programmatic and direct manipulation - a combination we dub prodirect manipulation - for a variety of use cases. This will require advances in a broad range of software engineering disciplines, from program analysis and program synthesis technology to userinterface design and evaluation. In this extended abstract, we propose two general strategies - real-time program synthesis and domain p-specific synthesis of general-purpose programs - that may prove fruitful for overcoming the technical challenges. We also discuss metrics that will be important in evaluating the usability and utility of prodirect manipulation systems.
Component-based design is important for the design of complex embedded software. By properly defining component interfaces, new components can be formed by composing existing components. A newly formed component may b...
详细信息
ISBN:
(纸本)9781450345354
Component-based design is important for the design of complex embedded software. By properly defining component interfaces, new components can be formed by composing existing components. A newly formed component may be further composed of other components. One of the key requirements for guaranteeing the compositionality of components in real-time systems is that the composite model must be consistent with, and indistinguishable from, the interface of a primitive component so that all real-time requirements are met. In addition to being used widely for schedulability analysis on different techniques such as earliest deadline first (EDF) and rate monotonic (RM), supply-demand functions have been applied to perform compositional schedulability analysis with periodic resource models. However, supply-demand function analysis for compositional schedules has only been done for hard real-time systems guarantees. This work analyzes overloads in embedded real-time control systems with soft deadlines and the analysis helps to build a compositional system that can tolerate delays. This paper also associates the schedulability analysis with a control application using a rapid prototype implementation.
This paper presents the methods of diversified touchless interactions between a user and a mobile platform utilizing the optical gesture sensor. The sensor uses 8 photodiodes to measure the reflected light in the acti...
详细信息
ISBN:
(纸本)9781450344623
This paper presents the methods of diversified touchless interactions between a user and a mobile platform utilizing the optical gesture sensor. The sensor uses 8 photodiodes to measure the reflected light in the active mode (using embedded LEDs) or it measures shadows caused by fingers in the passive mode. Several algorithms were implemented: automatic mode switching, adaptive illumination level compensation, resolution improvements using model to data fitting, etc. The embedded processor delivers recognized static or dynamic gesture codes, location of fingers, etc. Thanks to the sparse construction of the sensor and number of the detectors, it handles a few discrete but also continuous gestures. The most important features of the sensor are: low power and computational requirements in comparison to vision based gesture recognition systems and that it is a septic safe interface. It was embedded into smart glasses platform.
The demand of having a multi-window and multi-tasking option in Android devices has been an emerging topic among Android users, especially with the trends toward larger hand-held screen sizes. One option to meet this ...
详细信息
ISBN:
(纸本)9781467388450
The demand of having a multi-window and multi-tasking option in Android devices has been an emerging topic among Android users, especially with the trends toward larger hand-held screen sizes. One option to meet this demand, is to use floating windows. This feature enables users to perform more than one task at the same time while sharing the same screen. Device screens can be divided into multiple windows that can have different visual features in terms of size, location and transparency. While this feature addresses user complaints about Android on large screen devices, attention must be given to the security implications of such an option. In this work, we demonstrate how the current implementation of floating windows on Android can be abused to compromise userinterface integrity through several attacks such as tapjacking, event eavesdropping and eventhijacking. Although previous versions of Android have evolved to handle the issue of eventhijacking enabled by Toasts, recent versions fail to address security concerns related to floating windows. We propose and describe two approaches, an application level and a system level, to enable secure apps against possible malicious floating windows. The application level approach aims to detect existence and location of floating windows on top of an app. System level approach not only detects their existence, but also extends the system to include an event handler that notifies apps when floating windows are rendered over the apps' secure regions. We implemented our proposed approaches and performed experiments to evaluate their efficiency.
暂无评论