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

Computer Sciences Commons™

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

Software Engineering

Institution
Keyword
Publication Year
Publication
Publication Type
File Type

Articles 2341 - 2370 of 4322

Full-Text Articles in Computer Sciences

An Open Source Discussion Group Recommendation System, Sarika Padmashali May 2017

An Open Source Discussion Group Recommendation System, Sarika Padmashali

Master's Projects

A recommendation system analyzes user behavior on a website to make suggestions about what a user should do in the future on the website. It basically tries to predict the “rating” or “preference” a user would have for an action. Yioop is an open source search engine, wiki system, and user discussion group system managed by Dr. Christopher Pollett at SJSU. In this project, we have developed a recommendation system for Yioop where users are given suggestions about the threads and groups they could join based on their user history. We have used collaborative filtering techniques to make recommendations and …


Web - Based Office Market, Manodivya Kathiravan May 2017

Web - Based Office Market, Manodivya Kathiravan

Master's Projects

People who work in an office often have different pools of resources that they want to exchange. They want to trade their resources/work(seller) with a person who wants that particular resource(buyer) and in return get another resource the buyer offers. These kind of exchanges are often called Barter-exchanges where an item is traded for another item without the involvement of actual money. An exchange is set to be complete when there is a match between an available item and a desired item. This exchange is called direct exchange. When an item desired by one user is made available through a …


Automated Refactoring Of Legacy Java Software To Default Methods, Raffi Khatchadourian, Hidehiko Masuhara May 2017

Automated Refactoring Of Legacy Java Software To Default Methods, Raffi Khatchadourian, Hidehiko Masuhara

Publications and Research

Java 8 default methods, which allow interfaces to contain (instance) method implementations, are useful for the skeletal implementation software design pattern. However, it is not easy to transform existing software to exploit default methods as it requires analyzing complex type hierarchies, resolving multiple implementation inheritance issues, reconciling differences between class and interface methods, and analyzing tie-breakers (dispatch precedence) with overriding class methods to preserve type-correctness and confirm semantics preservation. In this paper, we present an efficient, fully-automated, type constraint-based refactoring approach that assists developers in taking advantage of enhanced interfaces for their legacy Java software. The approach features an extensive …


Library For Writing Contracts For Java Programs Using Prolog, Yogesh Dixit May 2017

Library For Writing Contracts For Java Programs Using Prolog, Yogesh Dixit

Master's Projects

Today many large and complex software systems are being developed in Java. Although, software always has bugs, it is very important that these developed systems are more reliable despite these bugs.

One way that we can help achieve this is the Design by Contract (DbC) paradigm, which was first introduced by Bertrand Meyer, the creator of Eiffel. The concept of DbC was introduced for software developers so that they can produce more reliable software systems with a little extra cost. Using programming contracts allows developer to specify details such as input conditions and expected output conditions. Doing this makes it …


A Chatbot Framework For Yioop, Harika Nukala May 2017

A Chatbot Framework For Yioop, Harika Nukala

Master's Projects

Over the past few years, messaging applications have become more popular than Social networking sites. Instead of using a specific application or website to access some service, chatbots are created on messaging platforms to allow users to interact with companies’ products and also give assistance as needed. In this project, we designed and implemented a chatbot Framework for Yioop. The goal of the Chatbot Framework for Yioop project is to provide a platform for developers in Yioop to build and deploy chatbot applications. A chatbot is a web service that can converse with users using artificial intelligence in messaging platforms. …


A Ltihub For Composite Assignments, Sunita Rajain May 2017

A Ltihub For Composite Assignments, Sunita Rajain

Master's Projects

Learning management systems (LMS) such as Canvas and Blackboard use Learning Tool Interoperability (LTI) as their main integration point for external learning tools. Each external tool provider has to implement LTI specifications or follow LTI standards that is a time consuming and complex process as there is no easy to follow specification available. Through this project, I have developed a system that follows the LTI specifications and integrates the CodeCheck autograder and interactive exercises with any LMS. I developed a Java based web app named LTIHub that acts as a mediator between LMS and any Learning Tool Provider. The LTIHub …


Automated Refactoring Of Legacy Java Software To Default Methods, Raffi Khatchadourian, Hidehiko Masuhara May 2017

Automated Refactoring Of Legacy Java Software To Default Methods, Raffi Khatchadourian, Hidehiko Masuhara

Publications and Research

Java 8 introduces enhanced interfaces, allowing for default (instance) methods that implementers will inherit if none are provided [3]. Default methods can be used [2] as a replacement of the skeletal implementation pattern [1], which creates abstract skeletal implementation classes that implementers extend. Migrating legacy code using the skeletal implementation pattern to instead use default methods can require significant manual effort due to subtle language and semantic restrictions. It requires preserving typecorrectness by analyzing complex type hierarchies, resolving issues arising from multiple inheritance, reconciling differences between class and interface methods, and ensuring tie-breakers with overriding class methods do not alter …


Software Development For Genome Sequence Analysis, David Farr May 2017

Software Development For Genome Sequence Analysis, David Farr

Symposium Of University Research and Creative Expression (SOURCE)

The cost of genome sequencing has decreased rapidly, expanding availability for many biological applications (Muir 2016). For example, researchers can now obtain genome sequences from multiple populations under different types of selection. Comparison of these sequences allows for identification of chromosome regions and specific genes associated with adaptive evolution (Kelly 2013). As an increasing number of researchers engage in this type of inquiry, many have created in-house computer scripts to analyze the raw sequence data (e.g., Kelly 2013), creating a gap in both continuity and standardization.

Using a test dataset and preliminary results from an ongoing artificial selection experiment in …


Inferring Motion Direction Using Commodity Wi-Fi For Interactive Exergames, Kun Qian, Chenshu Wu, Zimu Zhou, Yue Zheng, Yang Zheng, Yunhao Liu May 2017

Inferring Motion Direction Using Commodity Wi-Fi For Interactive Exergames, Kun Qian, Chenshu Wu, Zimu Zhou, Yue Zheng, Yang Zheng, Yunhao Liu

Research Collection School Of Computing and Information Systems

In-air interaction acts as a key enabler for ambient intelligence and augmented reality. As an increasing popular example, exergames, and the alike gesture recognition applications, have attracted extensive research in designing accurate, pervasive and low-cost user interfaces. Recent advances in wireless sensing show promise for a ubiquitous gesture-based interaction interface with Wi-Fi. In this work, we extract complete information of motion-induced Doppler shifts with only commodity Wi-Fi. The key insight is to harness antenna diversity to carefully eliminate random phase shifts while retaining relevant Doppler shifts. We further correlate Doppler shifts with motion directions, and propose a light-weight pipeline to …


Software Development For Home Energy Audits: Reducing Energy Consumption In Harrisonburg Through Technology, Brantley E. Gilbert May 2017

Software Development For Home Energy Audits: Reducing Energy Consumption In Harrisonburg Through Technology, Brantley E. Gilbert

Senior Honors Projects, 2010-2019

Fossil fuels play a vital role in our daily lives. Oil, natural gas, and coal powers our cars, heats our homes and water, and are used by power companies to generate the massive amounts of electricity used every day by the United States. However, this reliance on a finite source of energy is not sustainable. Fossil fuels such as these are non-renewable resources whose production will eventually be unable to keep up with the rate of consumption. Furthermore, the extraction of the stored energy in these fuels through combustion releases harmful substances into the environment, including toxins and greenhouse gases …


Enhancing The Learning Experience- Use Of Video Game Technology For Teaching Japanese Language, Craig A. Decampli May 2017

Enhancing The Learning Experience- Use Of Video Game Technology For Teaching Japanese Language, Craig A. Decampli

Senior Honors Projects, 2010-2019

The Japanese language is challenging to learn, especially for native speakers of Indo- European languages. The three components of written Japanese -- Hiragana, Katakana, and Kanji – include 2,136 Kanji characters, and 46 each for Katakana and Hiragana. Teaching Japanese – generally through repetition – can lead to student boredom and affect success. Research shows that video games can at least provide a more enjoyable learning experience. Despite this fact, there are a lack of video games for teaching Japanese characters. Using the Unity game engine and the C# programming language, a video game for enhancing the learning of students …


An Affordable Vr Environment, Matthew R. Petty May 2017

An Affordable Vr Environment, Matthew R. Petty

Senior Honors Projects, 2010-2019

Virtual Reality is a powerful technology with the ability to affect our senses in powerful ways. Traditionally used for entertainment, we argue that it can be used for educational purposes as well. In order to get virtual reality into the classroom, we must address its cost and portability, as well as improve the interaction that users experience with the virtual environment. Our solution, a Unity program installed on an iPhone and a Mac, attempts to solve these issues. A technical demo was created that functions and can be interfaced with. While this solution is a proof of concept, its consequences …


Comparing Tensorflow Deep Learning Performance Using Cpus, Gpus, Local Pcs And Cloud, John Lawrence, Jonas Malmsten, Andrey Rybka, Daniel A. Sabol, Ken Triplin May 2017

Comparing Tensorflow Deep Learning Performance Using Cpus, Gpus, Local Pcs And Cloud, John Lawrence, Jonas Malmsten, Andrey Rybka, Daniel A. Sabol, Ken Triplin

Publications and Research

Deep learning is a very computational intensive task. Traditionally GPUs have been used to speed-up computations by several orders of magnitude. TensorFlow is a deep learning framework designed to improve performance further by running on multiple nodes in a distributed system. While TensorFlow has only been available for a little over a year, it has quickly become the most popular open source machine learning project on GitHub. The open source version of TensorFlow was originally only capable of running on a single node while Google’s proprietary version only was capable of leveraging distributed systems. This has now changed. In this …


Tum: Towards Ubiquitous Multi-Device Localization For Cross-Device Interaction, Han Xu, Zheng Yang, Zimu Zhou, Ke Yi, Chunyi Peng May 2017

Tum: Towards Ubiquitous Multi-Device Localization For Cross-Device Interaction, Han Xu, Zheng Yang, Zimu Zhou, Ke Yi, Chunyi Peng

Research Collection School Of Computing and Information Systems

Cross-device interaction is becoming an increasingly hot topic as we often have multiple devices at our immediate disposal in this era of mobile computing. Various cross-device applications such as file sharing, multi-screen display, and crossdevice authentication have been proposed and investigated. However, one of the most fundamental enablers remains unsolved: How to achieve ubiquitous multi-device localization? Though pioneer efforts have resorted to gesture-assisted or sensing-assisted localization, they either require extensive user participation or impose some strong assumptions on device sensing abilities. This introduces extra costs and constraints, and thus degrades their practicality. To overcome these limitations, we propose TUM, an …


Music Feature Matching Using Computer Vision Algorithms, Mason Hollis May 2017

Music Feature Matching Using Computer Vision Algorithms, Mason Hollis

Computer Science and Computer Engineering Undergraduate Honors Theses

This paper seeks to establish the validity and potential benefits of using existing computer vision techniques on audio samples rather than traditional images in order to consistently and accurately identify a song of origin from a short audio clip of potentially noisy sound. To do this, the audio sample is first converted to a spectrogram image, which is used to generate SURF features. These features are compared against a database of features, which have been previously generated in a similar fashion, in order to find the best match. This algorithm has been implemented in a system that can run as …


Mining Software Repositories For Automatic Software Bug Management From Bug Triaging To Patch Backporting, Yuan Tian May 2017

Mining Software Repositories For Automatic Software Bug Management From Bug Triaging To Patch Backporting, Yuan Tian

Dissertations and Theses Collection

Software systems are often released with bugs due to system complexity and inadequate testing. Bug resolving process plays an important role in development and evolution of software systems because developers could collect a considerable number of bugs from users and testers daily. For instance, during September 2015, the Eclipse project received approximately 2,500 bug reports, averaging 80 new reports each day. To help developers effectively address and manage bugs, bug tracking systems such as Bugzilla and JIRA are adopted to manage the life cycle of a bug through bug report. Since most of the information related to bugs are stored …


A Manufacturer Design Kit For Multi-Chip Power Module Layout Synthesis, Jonathan Main May 2017

A Manufacturer Design Kit For Multi-Chip Power Module Layout Synthesis, Jonathan Main

Electrical Engineering Undergraduate Honors Theses

The development of Multi-Chip Power Modules (MCPMs) has been a key factor in recent advancements in power electronics technologies. MCPMs achieve higher power density by combining multiple power semiconductor devices into one package. The work detailed in this thesis is part of an ongoing project to develop a computer-aided design software tool known as PowerSynth for MCPM layout synthesis and optimization. This thesis focuses on the definition and design of a Manufacturer Design Kit (MDK) for PowerSynth, which enables the designer to design an MCPM for a manufacturer’s fabrication process.

The MDK is comprised of a layer stack and technology …


A Hybrid Partially Reconfigurable Overlay Supporting Just-In-Time Assembly Of Custom Accelerators On Fpgas, Zeyad Tariq Aklah May 2017

A Hybrid Partially Reconfigurable Overlay Supporting Just-In-Time Assembly Of Custom Accelerators On Fpgas, Zeyad Tariq Aklah

Graduate Theses and Dissertations

The state of the art in design and development flows for FPGAs are not sufficiently mature to allow programmers to implement their applications through traditional software development flows. The stipulation of synthesis as well as the requirement of background knowledge on the FPGAs' low-level physical hardware structure are major challenges that prevent programmers from using FPGAs. The reconfigurable computing community is seeking solutions to raise the level of design abstraction at which programmers must operate, and move the synthesis process out of the programmers' path through the use of overlays. A recent approach, Just-In-Time Assembly (JITA), was proposed that enables …


Choosing An Nlp Library For Analyzing Software Documentation: A Systematic Literature Review And A Series Of Experiments, Fouad N. A. Al Omran, Christoph Treude May 2017

Choosing An Nlp Library For Analyzing Software Documentation: A Systematic Literature Review And A Series Of Experiments, Fouad N. A. Al Omran, Christoph Treude

Research Collection School Of Computing and Information Systems

To uncover interesting and actionable information from natural language documents authored by software developers, many researchers rely on "out-of-the-box" NLP libraries. However, software artifacts written in natural language are different from other textual documents due to the technical language used. In this paper, we first analyze the state of the art through a systematic literature review in which we find that only a small minority of papers justify their choice of an NLP library. We then report on a series of experiments in which we applied four state-of-the-art NLP libraries to publicly available software artifacts from three different sources. Our …


A Preliminary Evaluation Of A Gamification Framework To Jump Start Collaboration Behavior Change, Flavio Steffens, Sabrina Marczak, Fernando Figueira Filho, Christoph Treude, Cleidson R. B. Da Souza May 2017

A Preliminary Evaluation Of A Gamification Framework To Jump Start Collaboration Behavior Change, Flavio Steffens, Sabrina Marczak, Fernando Figueira Filho, Christoph Treude, Cleidson R. B. Da Souza

Research Collection School Of Computing and Information Systems

In this notes paper we report on a preliminary qualitative evaluation of a gamification framework to address collaboration issues in software engineering. Findings suggest that the use of game elements indeed is prone to motivate software developers to foster the resolution of collaboration issues in their teams. Our preliminary results motivated us to design large scale, in-depth, and longitudinal studies to further evaluate the framework. In a long run, we expect that our findings will be informative for project managers and tool designers and anyone else who is interested in helping software teams to overcome collaboration barriers and succeed on …


Neural Correlates Of User Experience In Gaming, Y. Tejaswini, F. Nah, Keng Siau, L. Chen May 2017

Neural Correlates Of User Experience In Gaming, Y. Tejaswini, F. Nah, Keng Siau, L. Chen

Research Collection School Of Computing and Information Systems

The objective of this research is to understand the neural correlates of user states of experience in human-computer interaction using electroencephalogram (EEG). Such user states include flow, boredom, and anxiety that are experienced when a user interacts with a computer-based system. We propose using a within-subjects experiment to collect EEG data to assess and compare the neural correlates of three main states of user experience (i.e., flow, boredom, and anxiety) as well as compare them with the resting state as a baseline. We expect the findings from this research to contribute to an improved understanding of psychophysiological means of assessing …


Follow-My-Lead: Intuitive Indoor Path Creation And Navigation Using See-Through Interactive Videos, Quentin Roy, Simon T. Perrault, Shengdong Zhao, Richard Davis, Anuroop Pattena Vaniyar, Velko Vechev, Youngki Lee, Archan Misra May 2017

Follow-My-Lead: Intuitive Indoor Path Creation And Navigation Using See-Through Interactive Videos, Quentin Roy, Simon T. Perrault, Shengdong Zhao, Richard Davis, Anuroop Pattena Vaniyar, Velko Vechev, Youngki Lee, Archan Misra

Research Collection School Of Computing and Information Systems

We present Follow-My-Lead, an alternative indoor navigation technique that uses visual information recorded on an actual navigation path as a navigational guide. Its design revealed a trade-off between the fidelity of information provided to users and their effort to acquire it. Our first experiment revealed that scrolling through a continuous image stream of the navigation path is highly informative, but it becomes tedious with constant use. Discrete image checkpoints require less effort, but can be confusing. A balance may be struck by adding fast video transitions between image checkpoints, but precise control is required to handle difficult situations. Authoring still …


Android Repository Mining For Detecting Publicly Accessible Functions Missing Permission Checks, Huu Hoang Nguyen, Lingxiao Jiang, Thanh Tho Quan May 2017

Android Repository Mining For Detecting Publicly Accessible Functions Missing Permission Checks, Huu Hoang Nguyen, Lingxiao Jiang, Thanh Tho Quan

Research Collection School Of Computing and Information Systems

Android has become the most popular mobile operating system. Millions of applications, including many malware, haven been developed for it. Even though its overall system architecture and many APIs are documented, many other methods and implementation details are not, not to mention potential bugs and vulnerabilities that may be exploited. Manual documentation may also be easily outdated as Android evolves constantly with changing features and higher complexities. Techniques and tool supports are thus needed to automatically extract information from different versions of Android to facilitate whole-system analysis of undocumented code. This paper presents an approach for alleviating the challenges associated …


Parametric Model Checking Timed Automata Under Non-Zenoness Assumption, Étienne Andre, Hoang Gia Nguyen, Laure Petrucci, Jun Sun May 2017

Parametric Model Checking Timed Automata Under Non-Zenoness Assumption, Étienne Andre, Hoang Gia Nguyen, Laure Petrucci, Jun Sun

Research Collection School Of Computing and Information Systems

Real-time systems often involve hard timing constraints and concurrency, and are notoriously hard to design or verify. Given a model of a real-time system and a property, parametric model-checking aims at synthesizing timing valuations such that the model satisfies the property. However, the counter-example returned by such a procedure may be Zeno (an infinite number of discrete actions occurring in a finite time), which is unrealistic. We show here that synthesizing parameter valuations such that at least one counterexample run is non-Zeno is undecidable for parametric timed automata (PTAs). Still, we propose a semi-algorithm based on a transformation of PTAs …


Towards Distributed Machine Learning In Shared Clusters: A Dynamically-Partitioned Approach, Peng Sun, Yonggang Wen, Nguyen Binh Duong Ta, Shengen Yan May 2017

Towards Distributed Machine Learning In Shared Clusters: A Dynamically-Partitioned Approach, Peng Sun, Yonggang Wen, Nguyen Binh Duong Ta, Shengen Yan

Research Collection School Of Computing and Information Systems

Many cluster management systems (CMSs) have been proposed to share a single cluster with multiple distributed computing systems. However, none of the existing approaches can handle distributed machine learning (ML) workloads given the following criteria: high resource utilization, fair resource allocation and low sharing overhead. To solve this problem, we propose a new CMS named Dorm, incorporating a dynamicallypartitioned cluster management mechanism and an utilizationfairness optimizer. Specifically, Dorm uses the container-based virtualization technique to partition a cluster, runs one application per partition, and can dynamically resize each partition at application runtime for resource efficiency and fairness. Each application directly launches …


Fusing Social Media And Mobile Analytics For Urban Sense-Making, Archan Misra May 2017

Fusing Social Media And Mobile Analytics For Urban Sense-Making, Archan Misra

Research Collection School Of Computing and Information Systems

The project was motivated by the observation that urban environments are increasingly characterized by a variety of non-traditional “sensors”, whose data streams can be harnessed to infer a variety of latent events and urban context. For example, users spontaneously generate huge amounts of content (text, images and video) on social network channels, whereas GPS & other sensors on taxis and buses increasingly provide near-real time traces of their movement throughout the city. Similarly, advances in Wi-Fi based sensing allow us to passively capture the individual and collective movement of visitors across various public spaces, such as college campuses, museums and …


Real-Time Vision-Based Lane Detection With 1d Haar Wavelet Transform On Raspberry Pi, Vikas Reddy Sudini May 2017

Real-Time Vision-Based Lane Detection With 1d Haar Wavelet Transform On Raspberry Pi, Vikas Reddy Sudini

All Graduate Theses and Dissertations, Spring 1920 to Summer 2023

Rapid progress is being made towards the realization of autonomous cars. Since the technology is in its early stages, human intervention is still necessary in order to ensure hazard-free operation of autonomous driving systems. Substantial research efforts are underway to enhance driver and passenger safety in autonomous cars. Toward that end GreedyHaarSpiker, a real-time vision-based lane detection algorithm is proposed for road lane detection in different weather conditions. The algorithm has been implemented in Python 2.7 with OpenCV 3.0 and tested on a Raspberry Pi 3 Model B ARMv8 1GB RAM coupled to a Raspberry Pi camera board v2. To …


A Data-Driven Approach For Benchmarking Energy Efficiency Of Warehouse Buildings, Wee Leong Lee, Kar Way Tan, Zui Young Lim May 2017

A Data-Driven Approach For Benchmarking Energy Efficiency Of Warehouse Buildings, Wee Leong Lee, Kar Way Tan, Zui Young Lim

Research Collection School Of Computing and Information Systems

This study proposes adata-driven approach for benchmarking energy efficiency of warehouse buildings.Our proposed approach provides an alternative to the limitation of existingbenchmarking approaches where a theoretical energy-efficient warehouse was usedas a reference. Our approach starts by defining the questions needed to capturethe characteristics of warehouses relating to energy consumption. Using an existingdata set of warehouse building containing various attributes, we first cluster theminto groups by their characteristics. The warehouses characteristics derivedfrom the cluster assignments along with their past annual energy consumptionare subsequently used to train a decision tree model. The decision tree providesa classification of what factors contribute to different …


Who Will Leave The Company?: A Large-Scale Industry Study Of Developer Turnover By Mining Monthly Work Report, Lingfeng Bao, Zhenchang Xing, Xin Xia, David Lo, Shanping Li May 2017

Who Will Leave The Company?: A Large-Scale Industry Study Of Developer Turnover By Mining Monthly Work Report, Lingfeng Bao, Zhenchang Xing, Xin Xia, David Lo, Shanping Li

Research Collection School Of Computing and Information Systems

Software developer turnover has become a big challenge for information technology (IT) companies. The departure of key software developers might cause big loss to an IT company since they also depart with important business knowledge and critical technical skills. Understanding developer turnover is very important for IT companies to retain talented developers and reduce the loss due to developers' departure. Previous studies mainly perform qualitative observations or simple statistical analysis of developers' activity data to understand developer turnover. In this paper, we investigate whether we can predict the turnover of software developers in non-open source companies by automatically analyzing monthly …


Assertion Generation Through Active Learning, Long H. Pham, Jun Sun, Jun Sun May 2017

Assertion Generation Through Active Learning, Long H. Pham, Jun Sun, Jun Sun

Research Collection School Of Computing and Information Systems

Program assertions are useful for many program analysis tasks. They are however often missing in practice. In this work, we develop a novel approach for generating likely assertions automatically based on active learning. Our target is complex Java programs which cannot be symbolically executed (yet). Our key idea is to generate candidate assertions based on test cases and then apply active learning techniques to iteratively improve them. The experiments show that active learning really helps to improve the generated assertions.