Open Access. Powered by Scholars. Published by Universities.®

Physical Sciences and Mathematics Commons

Open Access. Powered by Scholars. Published by Universities.®

Articles 1 - 30 of 51

Full-Text Articles in Physical Sciences and Mathematics

The Staging Transformation Approach To Mixing Initiative, Robert Capra, Michael Narayan, Saverio Perugini, Naren Ramakrishnan, Manuel A. Pérez-Quiñones Dec 2014

The Staging Transformation Approach To Mixing Initiative, Robert Capra, Michael Narayan, Saverio Perugini, Naren Ramakrishnan, Manuel A. Pérez-Quiñones

Saverio Perugini

Mixed-initiative interaction is an important facet of many conversational interfaces, flexible planning architectures, intelligent tutoring systems, and interactive information retrieval systems. Software systems for mixed-initiative interaction must enable us to both operationalize the mixing of initiative (i.e., support the creation of practical dialogs) and to reason in real-time about how a flexible mode of interaction can be supported (e.g., from a meta-dialog standpoint). In this paper, we present the staging transformation approach to mixing initiative, where a dialog script captures the structure of the dialog and dialog control processes are realized through generous use of program transformation techniques (e.g., partial …


Personalizing Interactions With Information Systems, Saverio Perugini, Naren Ramakrishnan Dec 2014

Personalizing Interactions With Information Systems, Saverio Perugini, Naren Ramakrishnan

Saverio Perugini

Personalization constitutes the mechanisms and technologies necessary to customize information access to the end-user. It can be defined as the automatic adjustment of information content, structure, and presentation tailored to the individual. In this chapter, we study personalization from the viewpoint of personalizing interaction. The survey covers mechanisms for information-finding on the web, advanced information retrieval systems, dialog-based applications, and mobile access paradigms. Specific emphasis is placed on studying how users interact with an information system and how the system can encourage and foster interaction. This helps bring out the role of the personalization system as a facilitator which reconciles …


Mining Web-Functional Dependencies For Flexible Information Access, Saverio Perugini, Naren Ramakrishnan Dec 2014

Mining Web-Functional Dependencies For Flexible Information Access, Saverio Perugini, Naren Ramakrishnan

Saverio Perugini

We present an approach to enhancing information access through Web structure mining in contrast to traditional approaches involving usage mining. Specifically, we mine the hardwired hierarchical hyperlink structure of Web sites to identify patterns of term-term co-occurrences we call Web functional dependencies (FDs). Intuitively, a Web FD ‘x y’ declares that all paths through a site involving a hyperlink labeled x also contain a hyperlink labeled y. The complete set of FDs satisfied by a site help characterize (flexible and expressive) interaction paradigms supported by a site, where a paradigm is the set of explorable sequences therein. …


Personalization By Program Slicing, Saverio Perugini, Naren Ramakrishnan Dec 2014

Personalization By Program Slicing, Saverio Perugini, Naren Ramakrishnan

Saverio Perugini

Personalization involves customizing information access to the end-user. As any new area of computer science research it lacks formal models to guide the design of systems. In this paper, we present a modeling methodology, based on generative programming, for personalizing interactions with hierarchical websites. The methodology entails modeling a user’s interaction with a site in a program and applying program slicing to personalize the interaction. While preserving interactivity, this approach does not require the designer to anticipate all possible user interactions a priori and provide interfaces for each. Moreover, it provides a theoretical, systematic, and implementation-neutral way to design systems …


The Good, Bad And The Indifferent: Explorations In Recommender System Health, Benjamin J. Keller, Sun-Mi Kim, N. Srinivas Vemuri, Naren Ramakrishnan, Saverio Perugini Dec 2014

The Good, Bad And The Indifferent: Explorations In Recommender System Health, Benjamin J. Keller, Sun-Mi Kim, N. Srinivas Vemuri, Naren Ramakrishnan, Saverio Perugini

Saverio Perugini

Our work is based on the premise that analysis of the connections exploited by a recommender algorithm can provide insight into the algorithm that could be useful to predict its performance in a fielded system. We use the jumping connections model defined by Mirza et al. [6], which describes the recommendation process in terms of graphs. Here we discuss our work that has come out of trying to understand algorithm behavior in terms of these graphs. We start by describing a natural extension of the jumping connections model of Mirza et al., and then discuss observations that have come from …


Personalization By Website Transformation: Theory And Practice, Saverio Perugini Dec 2014

Personalization By Website Transformation: Theory And Practice, Saverio Perugini

Saverio Perugini

We present an analysis of a progressive series of out-of-turn transformations on a hierarchical website to personalize a user’s interaction with the site. We formalize the transformation in graph-theoretic terms and describe a toolkit we built that enumerates all of the traversals enabled by every possible complete series of these transformations in any site and computes a variety of metrics while simulating each traversal therein to qualify the relationship between a site’s structure and the cumulative effect of support for the transformation in a site. We employed this toolkit in two websites. The results indicate that the transformation enables users …


Staging Transformations For Multimodal Web Interaction Management, Michael Narayan, Christopher Williams, Saverio Perugini, Naren Ramakrishnan Dec 2014

Staging Transformations For Multimodal Web Interaction Management, Michael Narayan, Christopher Williams, Saverio Perugini, Naren Ramakrishnan

Saverio Perugini

Multimodal interfaces are becoming increasingly ubiquitous with the advent of mobile devices, accessibility considerations, and novel software technologies that combine diverse interaction media. In addition to improving access and delivery capabilities, such interfaces enable flexible and personalized dialogs with websites, much like a conversation between humans. In this paper, we present a software framework for multimodal web interaction management that supports mixed-initiative dialogs between users and websites. A mixed-initiative dialog is one where the user and the website take turns changing the flow of interaction. The framework supports the functional specification and realization of such dialogs using staging transformations – …


Enabling National Software Development Competitions To Identify And Enhance Student Mentor Capability In Singapore, Chris Boesch, Sandra Boesch Jul 2014

Enabling National Software Development Competitions To Identify And Enhance Student Mentor Capability In Singapore, Chris Boesch, Sandra Boesch

Chris BOESCH

The authors previously developed a system to facilitate the self-directed learning and practicing of software languages in Singapore. One of the goals of this self-directed learning was to enable the creation of student mentors who would be able to assist other students during classroom sessions. Building on this work, the authors extended the platform to support the promotion and coordination of multiple programming competitions including multiple schools systems within Singapore with the goals of identifying, enabling, and mentoring students who might be better prepared to mentor their peers at their school after participating in the country wide competition. This paper …


Automated Mentor Assignment In Blended Learning Environments, Chris Boesch, Kevin Steppe Jul 2014

Automated Mentor Assignment In Blended Learning Environments, Chris Boesch, Kevin Steppe

Chris BOESCH

In this paper we discuss the addition of automatic assignment of mentors during inclass lab work to an existing online platform for programing practice. SingPath is an web based tool for users to practice programming in several software languages. The platform started as a tool to provide students with online feedback on solutions to programming problems and expanded over time to support different of blended learning needs for a variety of classes and classroom settings. The SingPath platform supports traditional self-directed learning mechanisms such as badges and completion metrics as well as features for use in classrooms, such as tournaments. …


Creating Adaptive Quests To Support Personalized Learning Experiences When Learning Software Languages, Chris Boesch, Sandra Boesch Jul 2014

Creating Adaptive Quests To Support Personalized Learning Experiences When Learning Software Languages, Chris Boesch, Sandra Boesch

Chris BOESCH

Over the past three years the authors have been developing and refining an online practicing platform called SingPath, which enables users to practice writing code in various software languages. The most recent feature to be released is a Quest mode that encourages users by showing short video clips each time a user solves five problems. In addition, users are able to choose whether to play through these quests on easy, medium, or hard levels of difficulty. The ability for users to customize their game play enables them to modify the difficulty of the experience and ideally self-regulate how frustrating or …


Tournament-Based Teaching, Shannon Christopher Boesch, Sandra Boesch Jul 2014

Tournament-Based Teaching, Shannon Christopher Boesch, Sandra Boesch

Chris BOESCH

Over the past two years we have collaborated to develop a process and set of online games to enable additional feedback to both students and instructors in a classroom setting. We have named the resulting process Tournament-based Teaching due to the extensive use of tournament-based feedback for groups and individuals throughout course delivery. Tournament-based Teaching enables individualized and peer-based learning in a classroom setting and provides additional motivation for students to prepare for classroom sessions. It also provides feedback to instructors, which can be leveraged to provide better schedule classroom sessions.


Adaptive Gameplay For Programming Practice, Chris Boesch, Sandra Boesch Jul 2014

Adaptive Gameplay For Programming Practice, Chris Boesch, Sandra Boesch

Chris BOESCH

Over the past four years, we have collaborated to develop a set of online games to enable users to practice software languages in a self-directed manner and as part of a class. Recently we introduced a new adaptive difficulty feature that enables players to self-regulate the difficulty of the games they are playing to practice. These new features also provide additional information to further adapt the problem content to better meet the needs of the users.


Case Study On Using A Programming Practice Tool For Evaluating University Applicants, Shannon Christopher Boesch, Kevin Steppe Jul 2014

Case Study On Using A Programming Practice Tool For Evaluating University Applicants, Shannon Christopher Boesch, Kevin Steppe

Chris BOESCH

We used a programming practice tool to test basic programming skills of prospective students. A live competition was used to test those skills. Students who did well were asked for further interviews. Most students had no prior background and reported learning the basics of two programming languages within two weeks of self-study.


Challenges In The Regulatory Approval Of Medical Cyber-Physical Systems, Oleg Sokolsky, Insup Lee, Mats Heimdahl Jun 2014

Challenges In The Regulatory Approval Of Medical Cyber-Physical Systems, Oleg Sokolsky, Insup Lee, Mats Heimdahl

Oleg Sokolsky

We are considering the challenges that regulators face in approving modern medical devices, which are software intensive and increasingly network enabled. We then consider assurance cases, which o er the means of organizing the evidence into a coherent argument demonstrating the level of assurance provided by a system, and discuss research directions that promise to make construction and evaluation of assurance cases easier and more precise. Finally, we discuss some recent trends that will further complicate the regulatory approval of medical cyber-physical systems.


Model-Based Testing Of Gui-Driven Applications, Vivien Chinnapongse, Insup Lee, Oleg Sokolsky, Shaohui Wang, Paul L. Jones Jun 2014

Model-Based Testing Of Gui-Driven Applications, Vivien Chinnapongse, Insup Lee, Oleg Sokolsky, Shaohui Wang, Paul L. Jones

Oleg Sokolsky

While thorough testing of reactive systems is essential to ensure device safety, few testing methods center on GUI-driven applications. In this paper we present one approach for the model-based testing of such systems. Using the AHLTA-Mobile case study to demonstrate our approach, we first introduce a high-level method of modeling the expected behavior of GUI-driven applications. We show how to use the NModel tool to generate test cases from this model and present a way to execute these tests within the application, highlighting the challenges of using an API-geared tool in a GUI-based setting. Finally we present the results of …


Process-Algebraic Interpretation Of Aadl Models, Oleg Sokolsky, Insup Lee, Duncan Clarke Jun 2014

Process-Algebraic Interpretation Of Aadl Models, Oleg Sokolsky, Insup Lee, Duncan Clarke

Oleg Sokolsky

We present a toolset for the behavioral verification and validation of architectural models of embedded systems expressed in the language AADL. The toolset provides simulation and timing analysis of AADL models. Underlying both tools is a process-algebraic implementation of AADL semantics. The common implementation of the semantics ensures consistency in the analysis results between the tools.


An Empirical Study Of Bugs In Software Build Systems, Xin Xia, Xiaozhen Zhou, David Lo, Xiaoqiong Zhao Jun 2014

An Empirical Study Of Bugs In Software Build Systems, Xin Xia, Xiaozhen Zhou, David Lo, Xiaoqiong Zhao

David LO

Build system converts source code, libraries and other data into executable programs by orchestrating the execution of compilers and other tools. The whole building process is managed by a software build system, such as Make, Ant, CMake, Maven, Scons, and QMake. The reliability of software build systems would affect the reliability of the build process. In this paper, we perform an empirical study on bugs in software build systems. We analyze four software build systems, Ant, Maven, CMake and QMake, which are four typical and widely-used software build systems, and can be used to build Java, C, C++ systems. We …


Orion: A Software Project Search Engine With Integrated Diverse Software Artifacts, Tegawende F. Bissyande, Ferdian Thung, David Lo, Lingxiao Jiang, Laurent Réveillère Jun 2014

Orion: A Software Project Search Engine With Integrated Diverse Software Artifacts, Tegawende F. Bissyande, Ferdian Thung, David Lo, Lingxiao Jiang, Laurent Réveillère

David LO

Software projects produce a wealth of data that is leveraged in different tasks and for different purposes: researchers collect project data for building experimental datasets; software programmers reuse code from projects; developers often explore the opportunities for getting involved in the development of a project to gain or offer expertise. Finding relevant projects that suit one needs is however currently challenging with the capabilities of existing search systems. We propose Orion, an integrated search engine architecture that combines information from different types of software repositories from multiple sources to facilitate the construction and execution of advanced search queries. Orion provides …


Got Issues? Who Cares About It? A Large Scale Investigation Of Issue Trackers From Github, Tegawende F. Bissyande, David Lo, Lingxiao Jiang, Laurent Reveillere, Jacques Klein, Yves Le Traon Jun 2014

Got Issues? Who Cares About It? A Large Scale Investigation Of Issue Trackers From Github, Tegawende F. Bissyande, David Lo, Lingxiao Jiang, Laurent Reveillere, Jacques Klein, Yves Le Traon

David LO

Feedback from software users constitutes a vital part in the evolution of software projects. By filing issue reports, users help identify and fix bugs, document software code, and enhance the software via feature requests. Many studies have explored issue reports, proposed approaches to enable the submission of higher-quality reports, and presented techniques to sort, categorize and leverage issues for software engineering needs. Who, however, cares about filing issues? What kind of issues are reported in issue trackers? What kind of correlation exist between issue reporting and the success of software projects? In this study, we address the need for answering …


Clustering Of Search Trajectory And Its Application To Parameter Tuning, Linda Lindawati, Hoong Chuin Lau, David Lo Jun 2014

Clustering Of Search Trajectory And Its Application To Parameter Tuning, Linda Lindawati, Hoong Chuin Lau, David Lo

David LO

This paper is concerned with automated classification of Combinatorial Optimization Problem instances for instance-specific parameter tuning purpose. We propose the CluPaTra Framework, a generic approach to CLUster instances based on similar PAtterns according to search TRAjectories and apply it on parameter tuning. The key idea is to use the search trajectory as a generic feature for clustering problem instances. The advantage of using search trajectory is that it can be obtained from any local-search based algorithm with small additional computation time. We explore and compare two different search trajectory representations, two sequence alignment techniques (to calculate similarities) as well as …


Automatic Recommendation Of Api Methods From Feature Requests, Ferdian Thung, Shaowei Wang, David Lo, Julia Lawall Jun 2014

Automatic Recommendation Of Api Methods From Feature Requests, Ferdian Thung, Shaowei Wang, David Lo, Julia Lawall

David LO

Developers often receive many feature requests. To implement these features, developers can leverage various methods from third party libraries. In this work, we propose an automated approach that takes as input a textual description of a feature request. It then recommends methods in library APIs that developers can use to implement the feature. Our recommendation approach learns from records of other changes made to software systems, and compares the textual description of the requested feature with the textual descriptions of various API methods. We have evaluated our approach on more than 500 feature requests of Axis2/Java, CXF, Hadoop Common, HBase, …


Mining Branching-Time Scenarios, Dirk Fahland, David Lo, Shahar Maoz Jun 2014

Mining Branching-Time Scenarios, Dirk Fahland, David Lo, Shahar Maoz

David LO

Specification mining extracts candidate specification from existing systems, to be used for downstream tasks such as testing and verification. Specifically, we are interested in the extraction of behavior models from execution traces. In this paper we introduce mining of branching-time scenarios in the form of existential, conditional Live Sequence Charts, using a statistical data-mining algorithm. We show the power of branching scenarios to reveal alternative scenario-based behaviors, which could not be mined by previous approaches. The work contrasts and complements previous works on mining linear-time scenarios. An implementation and evaluation over execution trace sets recorded from several real-world applications shows …


Popularity, Interoperability, And Impact Of Programming Languages In 100,000 Open Source Projects, Tegawende F. Bissyande, Ferdian Thung, David Lo, Lingxiao Jiang, Laurent Réveillère Jun 2014

Popularity, Interoperability, And Impact Of Programming Languages In 100,000 Open Source Projects, Tegawende F. Bissyande, Ferdian Thung, David Lo, Lingxiao Jiang, Laurent Réveillère

David LO

Programming languages have been proposed even before the era of the modern computer. As years have gone, computer resources have increased and application domains have expanded, leading to the proliferation of hundreds of programming languages, each attempting to improve over others or to address new programming paradigms. These languages range from procedural languages like C, object oriented languages like Java, and functional languages such as ML and Haskell. Unfortunately, there is a lack of large scale and comprehensive studies that examine the “popularity”, “interoperability”, and “impact” of various programming languages. To fill this gap, this study investigates a hundred thousands …


An Empirical Study Of Adoption Of Software Testing In Open Source Projects, Pavneet Singh Kochhar, Tegawende F. Bissyande, David Lo, Lingxiao Jiang Jun 2014

An Empirical Study Of Adoption Of Software Testing In Open Source Projects, Pavneet Singh Kochhar, Tegawende F. Bissyande, David Lo, Lingxiao Jiang

David LO

In software engineering, testing is a crucial activity that is designed to ensure the quality of program code. For this activity, software teams spend substantial resources constructing test cases to thoroughly assess the correctness of software functionality. What is the proportion of open source projects that include test cases? What is the effect of number of developers on the number of test cases? In this study, we explore open source projects and investigate the correlation between the presence of test cases and various project development characteristics, including the number of lines of code, the size of development teams and the …


Automatic Recovery Of Root Causes From Bug-Fixing Changes, Ferdian Thung, David Lo, Lingxiao Jiang Jun 2014

Automatic Recovery Of Root Causes From Bug-Fixing Changes, Ferdian Thung, David Lo, Lingxiao Jiang

David LO

What is the root cause of this failure? This question is often among the first few asked by software debuggers when they try to address issues raised by a bug report. Root cause is the erroneous lines of code that cause a chain of erroneous program states eventually leading to the failure. Bug tracking and source control systems only record the symptoms (e.g., bug reports) and treatments of a bug (e.g., committed changes that fix the bug), but not its root cause. Many treatments contain non-essential changes, which are intermingled with root causes. Reverse engineering the root cause of a …


Tag Recommendation In Software Information Sites, Xin Xia, David Lo, Xinyu Wang, Bo Zhou Jun 2014

Tag Recommendation In Software Information Sites, Xin Xia, David Lo, Xinyu Wang, Bo Zhou

David LO

Nowadays, software engineers use a variety of online media to search and become informed of new and interesting technologies, and to learn from and help one another. We refer to these kinds of online media which help software engineers improve their performance in software development, maintenance and test processes as software information sites. It is common to see tags in software information sites and many sites allow users to tag various objects with their own words. Users increasingly use tags to describe the most important features of their posted contents or projects. In this paper, we propose TagCombine, an automatic …


Accurate Developer Recommendation For Bug Resolution, Xin Xia, David Lo, Xinyu Wang, Bo Zhou Jun 2014

Accurate Developer Recommendation For Bug Resolution, Xin Xia, David Lo, Xinyu Wang, Bo Zhou

David LO

Bug resolution refers to the activity that developers perform to diagnose, fix, test, and document bugs during software development and maintenance. It is a collaborative activity among developers who contribute their knowledge, ideas, and expertise to resolve bugs. Given a bug report, we would like to recommend the set of bug resolvers that could potentially contribute their knowledge to fix it. We refer to this problem as developer recommendation for bug resolution. In this paper, we propose a new and accurate method named DevRec for the developer recommendation problem. DevRec is a composite method which performs two kinds of analysis: …


An Automated Approach For Finding Variable-Constant Pairing Bugs, Julia Lawall, David Lo Jun 2014

An Automated Approach For Finding Variable-Constant Pairing Bugs, Julia Lawall, David Lo

David LO

Named constants are used heavily in operating systems code, both as internal ags and in interactions with devices. Decision making within an operating system thus critically depends on the correct usage of these values. Nevertheless, compilers for the languages typically used in implementing operating systems provide little support for checking the usage of named constants. This affects correctness, when a constant is used in a context where its value is meaningless, and software maintenance, when a constant has the right value for its usage context but the wrong name. We propose a hybrid program-analysis and data-mining based approach to identify …


Extended Comprehensive Study Of Association Measures For Fault Localization, Lucia Lucia, David Lo, Lingxiao Jiang, Ferdian Thung, Aditya Budi Jun 2014

Extended Comprehensive Study Of Association Measures For Fault Localization, Lucia Lucia, David Lo, Lingxiao Jiang, Ferdian Thung, Aditya Budi

David LO

Spectrum-based fault localization is a promising approach to automatically locate root causes of failures quickly. Two well-known spectrum-based fault localization techniques, Tarantula and Ochiai, measure how likely a program element is a root cause of failures based on profiles of correct and failed program executions. These techniques are conceptually similar to association measures that have been proposed in statistics, data mining, and have been utilized to quantify the relationship strength between two variables of interest (e.g., the use of a medicine and the cure rate of a disease). In this paper, we view fault localization as a measurement of the …


Automated Library Recommendation, Ferdian Thung, David Lo, Julia Lawall Jun 2014

Automated Library Recommendation, Ferdian Thung, David Lo, Julia Lawall

David LO

Many third party libraries are available to be downloaded and used. Using such libraries can reduce development time and make the developed software more reliable. However, developers are often unaware of suitable libraries to be used for their projects and thus they miss out on these benefits. To help developers better take advantage of the available libraries, we propose a new technique that automatically recommends libraries to developers. Our technique takes as input the set of libraries that an application currently uses, and recommends other libraries that are likely to be relevant. We follow a hybrid approach that combines association …