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 73

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 …


Personalizing Software Development Practice Using Mastery-Based Coaching, Chris Boesch, Sandra Boesch Jul 2014

Personalizing Software Development Practice Using Mastery-Based Coaching, 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 development of student mentors who would then be able to assist other students during classroom sessions. Building on this work, the authors extended the platform to support personalized coaching with the goals of further enabling and preparing students to mentor their peers. This paper covers the challenges, insights, and features that were developed in order to develop and deploy this mastery-based coaching feature.


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.


Sewordsim: Software-Specific Word Similarity Database, Yuan Tian, David Lo, Julia Lawall Jun 2014

Sewordsim: Software-Specific Word Similarity Database, Yuan Tian, David Lo, Julia Lawall

David LO

Measuring the similarity of words is important in accurately representing and comparing documents, and thus improves the results of many natural language processing (NLP) tasks. The NLP community has proposed various measurements based on WordNet, a lexical database that contains relationships between many pairs of words. Recently, a number of techniques have been proposed to address software engineering issues such as code search and fault localization that require understanding natural language documents, and a measure of word similarity could improve their results. However, WordNet only contains information about words senses in general-purpose conversation, which often differ from word senses in …


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 …


Leveraging Machine Learning And Information Retrieval Techniques In Software Evolution Tasks: Summary Of The First Malir-Se Workshop, At Ase 2013, - Lucia, David Lo, Giuseppe Scanniello, Alessandro Marchetto, Nasir Ali, Collin Mcmillan Jun 2014

Leveraging Machine Learning And Information Retrieval Techniques In Software Evolution Tasks: Summary Of The First Malir-Se Workshop, At Ase 2013, - Lucia, David Lo, Giuseppe Scanniello, Alessandro Marchetto, Nasir Ali, Collin Mcmillan

David LO

The first International Workshop on MAchine Learning and Information Retrieval for Software Evolution (MALIR-SE) was held on the 11th of November 2013. The workshop was held in conjunction with the 28th IEEE/ACM International Conference on Automated Software Engineering (ASE) in Silicon Valley, California, USA. The workshop brought researchers and practitioners that were interested in leveraging machine learning and information retrieval techniques to automate various software evolution tasks. During the workshop, papers on the application of machine learning and information retrieval techniques to bug fix time prediction and anti-pattern detection were presented. There were also discussions on the presented papers and …


Hierarchical Parallel Algorithm For Modularity-Based Community Detection Using Gpus, Chun Yew Cheong, Huynh Phung Huynh, David Lo, Rick Siow Mong Goh Jun 2014

Hierarchical Parallel Algorithm For Modularity-Based Community Detection Using Gpus, Chun Yew Cheong, Huynh Phung Huynh, David Lo, Rick Siow Mong Goh

David LO

This paper describes the design of a hierarchical parallel algorithm for accelerating community detection which involves partitioning a network into communities of densely connected nodes. The algorithm is based on the Louvain method developed at the Université Catholique de Louvain, which uses modularity to measure community quality and has been successfully applied on many different types of networks. The proposed hierarchical parallel algorithm targets three levels of parallelism in the Louvain method and it has been implemented on single-GPU and multi-GPU architectures. Benchmarking results on several large web-based networks and popular social networks show that on top of offering speedups …


Software Internationalization And Localization: An Industrial Experience, Xin Xia, David Lo, Feng Zhu, Xinyu Wang, Bo Zhou Jun 2014

Software Internationalization And Localization: An Industrial Experience, Xin Xia, David Lo, Feng Zhu, Xinyu Wang, Bo Zhou

David LO

Software internationalization and localization are important steps in distributing and deploying software to different regions of the world. Internationalization refers to the process of reengineering a system such that it could support various languages and regions without further modification. Localization refers to the process of adapting an internationalized software for a specific language or region. Due to various reasons, many large legacy systems did not consider internationalization and localization at the early stage of development. In this paper, we present our experience on, and propose a process along with tool supports for software internationalization and localization. We reengineer a large …


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 …


Leveraging Web 2.0 For Software Evolution, Yuan Tian, David Lo Jun 2014

Leveraging Web 2.0 For Software Evolution, Yuan Tian, David Lo

David LO

In this era of Web 2.0, much information is available on the Internet. Software forums, mailing lists, and question-and-answer sites contain lots of technical information. Blogs contain developers’ opinions, ideas, and descriptions of their day-to-day activities. Microblogs contain recent and popular software news. Software forges contain records of socio-technical interactions of developers. All these resources could potentially be leveraged to help developers in performing software evolution activities. In this chapter, we first present information that is available from these Web 2.0 resources. We then introduce empirical studies that investigate how developers contribute information to and use these resources. Next, we …


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, …


An Empirical Study Of Bugs In Build Process, Xiaoqiong Zhao, Xin Xia, Pavneet Singh Kochhar, David Lo, Shanping Li Jun 2014

An Empirical Study Of Bugs In Build Process, Xiaoqiong Zhao, Xin Xia, Pavneet Singh Kochhar, David Lo, Shanping Li

David LO

Software build process translates source codes into executable programs, packages the programs, generates documents, and distributes products. In this paper, we perform an empirical study to characterize build process bugs. We analyze bugs in build process in 5 open-source systems under Apache namely CXF, Camel, Felix, Struts, and Tuscany. We compare build process bugs and other bugs across 3 different dimensions, i.e., bug severity, bug fix time, and the number of files modified to fix a bug. Our results show that the fraction of build process bugs which are above major severity level is lower than that of other bugs. …


Build System Analysis With Link Prediction, Xin Xia, David Lo, Xinyu Wang, Bo Zhou Jun 2014

Build System Analysis With Link Prediction, Xin Xia, David Lo, Xinyu Wang, Bo Zhou

David LO

Compilation is an important step in building working software system. To compile large systems, typically build systems, such as make, are used. In this paper, we investigate a new research problem for build configuration file (e.g., Makefile) analysis: how to predict missed dependencies in a build configuration file. We refer to this problem as dependency mining. Based on a Makefile, we build a dependency graph capturing various relationships defined in the Makefile. By representing a Makefile as a dependency graph, we map the dependency mining problem to a link prediction problem, and leverage 9 state-of-the-art link prediction algorithms to solve …


Will Fault Localization Work For These Failures? An Automated Approach To Predict Effectiveness Of Fault Localization Tools, Tien-Duy B. Le, David Lo Jun 2014

Will Fault Localization Work For These Failures? An Automated Approach To Predict Effectiveness Of Fault Localization Tools, Tien-Duy B. Le, David Lo

David LO

Debugging is a crucial yet expensive activity to improve the reliability of software systems. To reduce debugging cost, various fault localization tools have been proposed. A spectrum-based fault localization tool often outputs an ordered list of program elements sorted based on their likelihood to be the root cause of a set of failures (i.e., their suspiciousness scores). Despite the many studies on fault localization, unfortunately, however, for many bugs, the root causes are often low in the ordered list. This potentially causes developers to distrust fault localization tools. Recently, Parnin and Orso highlight in their user study that many debuggers …