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

Software Engineering Commons

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

Discipline
Institution
Keyword
Publication Year
Publication
Publication Type
File Type

Articles 1 - 30 of 2133

Full-Text Articles in Software Engineering

Vkse-Mo: Verifiable Keyword Search Over Encrypted Data In Multi-Owner Settings, Yinbin Miao, Jianfeng Ma, Ximeng Liu, Junwei Zhang, Zhiquan Liu Dec 2017

Vkse-Mo: Verifiable Keyword Search Over Encrypted Data In Multi-Owner Settings, Yinbin Miao, Jianfeng Ma, Ximeng Liu, Junwei Zhang, Zhiquan Liu

Research Collection School Of Information Systems

Searchable encryption (SE) techniques allow cloud clients to easily store data and search encrypted data in a privacy-preserving manner, where most of SE schemes treat the cloud server as honest-but-curious. However, in practice, the cloud server is a semi-honest-but-curious third-party, which only executes a fraction of search operations and returns a fraction of false search results to save its computational and bandwidth resources. Thus, it is important to provide a results verification method to guarantee the correctness of the search results. Existing SE schemes allow multiple data owners to upload different records to the cloud server, but these schemes have ...


Defaultification Refactoring: A Tool For Automatically Converting Java Methods To Default, Raffi T. Khatchadourian, Hidehiko Masuhara Oct 2017

Defaultification Refactoring: A Tool For Automatically Converting Java Methods To Default, Raffi T. Khatchadourian, Hidehiko Masuhara

Publications and Research

Enabling interfaces to declare (instance) method implementations, Java 8 default methods can be used as a substitute for the ubiquitous skeletal implementation software design pattern. Performing this transformation on legacy software manually, though, may be non-trivial. The refactoring 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. All of this is necessary to preserve type-correctness and confirm semantics preservation. We demonstrate an automated refactoring tool called Migrate Skeletal Implementation to Interface for transforming legacy Java code to use the new default construct. The ...


Using Osgeo Solutions For Local Development Systems Implementation. The Experience For The Northern Region Of Costa Rica, López-Villegas Oscar, Víquez-Acuña Oscar, Víquez-Acuña Leonardo Sep 2017

Using Osgeo Solutions For Local Development Systems Implementation. The Experience For The Northern Region Of Costa Rica, López-Villegas Oscar, Víquez-Acuña Oscar, Víquez-Acuña Leonardo

Free and Open Source Software for Geospatial (FOSS4G) Conference Proceedings

Although some general definitions classify Spatial Data Infrastructures (SDI) as technological standards, institutional and even political agreements, which allow the discovery and use of geospatial information by users for different purposes [Kuhn 2005], computationally this platforms are valuable data repositories that should reach people efficiently and effectively for analysis and decision making on issues of collective interest. Costa Rica has several SDIs experiences at national level (SNIT - http://www.snitcr.go.cr), regional level (IDEHN - http://www.idehn.tec.ac.cr) or local/cantonal level (IDESCA - http://idesca.cr). Those infrastructures can facilitate access between geospatial information managers and their ...


Architecture-Based Self-Adaptation For Moving Target Defense (Cmu-Isr-14-109), Bradley Schmerl, Javier Camara, Gabriel Moreno, David Garlan, Andrew O. Mellinger Sep 2017

Architecture-Based Self-Adaptation For Moving Target Defense (Cmu-Isr-14-109), Bradley Schmerl, Javier Camara, Gabriel Moreno, David Garlan, Andrew O. Mellinger

Gabriel A. Moreno

The fundamental premise behind Moving Target Defense (MTD) is to create a dynamic and shifting system that is more difficult to attack than a static system because a constantly changing attack surface at least reduces the chance of an attacker finding and exploiting the weakness. However, MTD approaches are typically chosen without regard to other qualities of the system, such as performance or cost. This report explores the use of self-adaptive systems, in particular those based on the architecture of the running system. A systems software architecture can be used to trade off different quality dimensions of the system. In ...


Performance Analysis Of Security Aspects In Uml Models, Dorin Bogdan Petriu, Dorina C. Petriu, C Murray Woodside, Jing Xiu, Toqeer A. Israr, Geri Georg, Robert B. France, James M. Bieman, Siv Holde Houmb, Jan Jurjens Sep 2017

Performance Analysis Of Security Aspects In Uml Models, Dorin Bogdan Petriu, Dorina C. Petriu, C Murray Woodside, Jing Xiu, Toqeer A. Israr, Geri Georg, Robert B. France, James M. Bieman, Siv Holde Houmb, Jan Jurjens

Toqeer A Israr

The focus of the paper is on the analysis of performance effects of different security solutions modeled as aspects in UML. Aspect oriented modeling (AOM) allows software designers to isolate and separately address solutions for crosscutting concerns, which are defined as distinct UML aspect models, then are composed with the primary UML model of the system under development. For performance analysis we use techniques developed previously in the PUMA project, which take as input UML models annotated with the standard UML Profile for Schedulability, Performance and Time (SPT), and transform them first into Core Scenario Model (CSM) and then into ...


Impacts Of Java Language Features On The Memory Performances Of Android Apps, Yoonsik Cheon, Adriana Escobar De La Torre Sep 2017

Impacts Of Java Language Features On The Memory Performances Of Android Apps, Yoonsik Cheon, Adriana Escobar De La Torre

Departmental Technical Reports (CS)

Android apps are written in Java, but unlike Java applications they are resource-constrained in storage capacity and battery lifetime. In this document, we perform an experiment to measure quantitatively the impact of Java language and standard API features on the memory efficiency of Android apps. We focus on garbage collection because it is a critical process for performance affecting user experience. We learned that even Java language constructs and standard application programming interfaces (APIs) may be a source of a performance problem causing a significant memory overhead for Android apps. Any critical section of code needs to be scrutinized on ...


Grace's Inheritance, James Noble, Andrew P. Black, Kim B. Bruce, Michael Homer, Timothy Jones Aug 2017

Grace's Inheritance, James Noble, Andrew P. Black, Kim B. Bruce, Michael Homer, Timothy Jones

Andrew P. Black

This article is an apologia for the design of inheritance in the Grace educational programming language: it explains how the design of Grace’s inheritance draws from inheritance mechanisms in predecessor languages, and defends that design as the best of the available alternatives. For simplicity, Grace objects are generated from object constructors, like those of Emerald, Lua, and Javascript; for familiarity, the language also provides classes and inheritance, like Simula, Smalltalk and Java. The design question we address is whether or not object constructors can provide an inheritance semantics similar to classes.


Secure Integer Comparisons Using The Homomorphic Properties Of Prime Power Subgroups, Rhys A. Carlton Aug 2017

Secure Integer Comparisons Using The Homomorphic Properties Of Prime Power Subgroups, Rhys A. Carlton

Electronic Thesis and Dissertation Repository

Secure multi party computation allows two or more parties to jointly compute a function under encryption without leaking information about their private inputs. These secure computations are vital in many fields including law enforcement, secure voting and bioinformatics because the privacy of the information is of paramount importance.

One common reference problem for secure multi party computation is the Millionaires' problem which was first introduced by Turing Award winner Yao in his paper "Protocols for secure computation". The Millionaires' problem considers two millionaires who want to know who is richer without disclosing their actual worth.

There are public-key cryptosystems that ...


Parallelization Of Molecular Docking Algorithms Using Cuda For Use In Drug Discovery, Brandon Stewart, Jonathan Fine, Gaurav Chopra Phd Aug 2017

Parallelization Of Molecular Docking Algorithms Using Cuda For Use In Drug Discovery, Brandon Stewart, Jonathan Fine, Gaurav Chopra Phd

The Summer Undergraduate Research Fellowship (SURF) Symposium

Traditional drug discovery methodology uses a multitude of software packages to design and evaluate new drug-like compounds. While software packages implement a wide variety of methods, the serial (i.e. single core) implementation for many of these algorithms, prohibit large scale docking, such as proteome-wide docking (i.e. thousands of compounds with thousands of proteins). Several docking algorithms can be parallelized, significantly reducing the runtime of the calculations, thus enabling large-scale docking. Implementing algorithms that take advantage of the distributed nature of graphical processing units (GPUs) via the Compute Unified Device Architecture (CUDA) enables us to efficiently implement massively parallel ...


Will This Localization Tool Be Effective For This Bug? Mitigating The Impact Of Unreliability Of Information Retrieval Based Bug Localization Tools, Tien-Duy B. Le, Ferdian Thung, David Lo Aug 2017

Will This Localization Tool Be Effective For This Bug? Mitigating The Impact Of Unreliability Of Information Retrieval Based Bug Localization Tools, Tien-Duy B. Le, Ferdian Thung, David Lo

Research Collection School Of Information Systems

Information retrieval (IR) based bug localization approaches process a textual bug report and a collection of source code files to find buggy files. They output a ranked list of files sorted by their likelihood to contain the bug. Recently, several IR-based bug localization tools have been proposed. However, there are no perfect tools that can successfully localize faults within a few number of most suspicious program elements for every single input bug report. Therefore, it is difficult for developers to decide which tool would be effective for a given bug report. Furthermore, for some bug reports, no bug localization tools ...


Intuition: Role, Biases, Cognitive Basis, And A Hypothetical Synergistic Explanation Of Intuitive Brain Operations, Jens G. Pohl Jul 2017

Intuition: Role, Biases, Cognitive Basis, And A Hypothetical Synergistic Explanation Of Intuitive Brain Operations, Jens G. Pohl

Collaborative Agent Design (CAD) Research Center

This paper explores the characteristics of the intuitive responses that are generated by our brain continuously in an automatic and effortless manner. However, while intuition is a very powerful mechanism, it is also subject to many biasing influences. The author discusses the role of intuition, examines representative examples of biasing influences, compares cognitive theories of intuition advanced by Simon (2002), Klein (2003 and 1999), and Kahneman (2011), and then advances a hypothetical explanation of the neurological operations underlying intuition based on Hebbian rules (Hebb 1949) of plasticity in combination with synergetic principles.


Experiences With Scala Across The College-Level Curriculum, Konstantin Läufer, George K. Thiruvathukal, Mark C. Lewis Jul 2017

Experiences With Scala Across The College-Level Curriculum, Konstantin Läufer, George K. Thiruvathukal, Mark C. Lewis

George K. Thiruvathukal

Various hybrid-functional languages, designed to balance compile-time error detection, conciseness, and performance, have emerged. Scala, e.g., is interoperable with Java and has become an early leader in adoption, especially in the start-up and open-source spaces. As educators, we have recognized Scala’s value as a teaching language across the CS curriculum. In CS1, the read-eval-print loop and simple, uniform syntax aid programming in the small. In CS2, higher-order methods allow concise, efficient manipulation of collections. In a programming languages course, advanced constructs facilitate the separation of concerns, program representation and interpretation, and concurrent programming. In advanced applied courses, language ...


Systemic Vulnerabilities In Customer-Premises Equipment (Cpe) Routers, Joel Land Jul 2017

Systemic Vulnerabilities In Customer-Premises Equipment (Cpe) Routers, Joel Land

Software Engineering Institute

Customer-premises equipment (CPE)—specifically small office/home office (SOHO) routers—has become ubiquitous. CPE routers are notorious for their web interface vulnerabilities, old versions of software components with known vulnerabilities, default and hard-coded credentials, and other security issues.

This report describes a test framework that the CERT/CC developed to identify systemic and other vulnerabilities in CPE routers. It also describes the procedure the CERT/CC used in its analysis, and presents case studies and suggestions for tracking vulnerabilities in a way that encourages vendor responsiveness and increased customer awareness.


Entagrec: An Enhanced Tag Recommendation System For Software Information Sites, Shaowei Wang, David Lo, Bogdan Vasilescu, Alexander Serebrenik Jul 2017

Entagrec: An Enhanced Tag Recommendation System For Software Information Sites, Shaowei Wang, David Lo, Bogdan Vasilescu, Alexander Serebrenik

Research Collection School Of Information Systems

Software engineers share experiences with modern technologies by means of software information sites, such as Stack Overflow. These sites allow developers to label posted content, referred to as software objects, with short descriptions, known as tags. However, tags assigned to objects tend to be noisy and some objects are not well tagged. To improve the quality of tags in software information sites, we propose EnTagRec, an automatic tag recommender based on historical tag assignments to software objects and we evaluate its performance on four software information sites, Stack Overflow, Ask Ubuntu, Ask Different, and Free code. We observe that that ...


Automatically Locating Malicious Packages In Piggybacked Android Apps, Li Li, Daoyuan Li, Tegawende Bissyande, Jacques Klein, Haipeng Cai, David Lo, Yves Le Traon Jul 2017

Automatically Locating Malicious Packages In Piggybacked Android Apps, Li Li, Daoyuan Li, Tegawende Bissyande, Jacques Klein, Haipeng Cai, David Lo, Yves Le Traon

Research Collection School Of Information Systems

To devise efficient approaches and tools for detecting malicious packages in the Android ecosystem, researchers are increasingly required to have a deep understanding of malware. There is thus a need to provide a framework for dissecting malware and locating malicious program fragments within app code in order to build a comprehensive dataset of malicious samples. Towards addressing this need, we propose in this work a tool-based approach called HookRanker, which provides ranked lists of potentially malicious packages based on the way malware behaviour code is triggered. With experiments on a ground truth set of piggybacked apps, we are able to ...


Jfix: Semantics-Based Repair Of Java Programs Via Symbolic Pathfinder, Xuan Bach D. Le, Duc-Hiep Chu, David Lo, Goues Le, Willem Visser Jul 2017

Jfix: Semantics-Based Repair Of Java Programs Via Symbolic Pathfinder, Xuan Bach D. Le, Duc-Hiep Chu, David Lo, Goues Le, Willem Visser

Research Collection School Of Information Systems

Recently there has been a proliferation of automated program repair (APR) techniques, targeting various programming languages. Such techniques can be generally classified into two families: syntactic- and semantics-based. Semantics-based APR, on which we focus, typically uses symbolic execution to infer semantic constraints and then program synthesis to construct repairs conforming to them. While syntactic-based APR techniques have been shown success- ful on bugs in real-world programs written in both C and Java, semantics-based APR techniques mostly target C programs. This leaves empirical comparisons of the APR families not fully explored, and developers without a Java-based semantics APR technique. We present ...


Hot Topics In Cloud Computing, Liang-Jie Zhang, Jia Zhang, Jinan Fiaidhi, J. Morris Chang Jun 2017

Hot Topics In Cloud Computing, Liang-Jie Zhang, Jia Zhang, Jinan Fiaidhi, J. Morris Chang

Morris Chang

No abstract provided.


A Quantitative Cost/Benefit Analysis For Dynamic Updating, Bashar Gharaibeh, Hridesh Rajan, J. Morris Chang Jun 2017

A Quantitative Cost/Benefit Analysis For Dynamic Updating, Bashar Gharaibeh, Hridesh Rajan, J. Morris Chang

Morris Chang

Dynamic software updating provides many benefits, e.g. in runtime monitoring, runtime adaptation to fix bugs in long running applications, etc. Although it has several advantages, no quantitative analysis of its costs and revenue are available to show its benefits or limitations especially in comparison with other software updating schemes. To address this limitation in evaluating software updating schemes, we contribute a quantitative cost/benefit analysis based on net option-value model, which stems from the analysis of financial options. Our model expresses the relation between added value and paid cost in mathematical forms. We have used this model to evaluate ...


Convergence Technologies For Sensor Systems In The Next Generation Networks, Conor Gildea, Declan Barber Jun 2017

Convergence Technologies For Sensor Systems In The Next Generation Networks, Conor Gildea, Declan Barber

The ITB Journal

This paper describes an approach to the internetworking of sensory nodes in a converged network environment. This preliminary investigation of sensory network creation is driven by a joint applied research project which seeks to establish the feasibility of the real-time remote monitoring of animal welfare while in transit between Ireland, Europe and the Middle East. This paper examines the use of Java to create sensor services in converging architectures which leverage the Internetworking protocols and describes our implementation of such a system.


Neural Networks For Real-Time Pathfinding In Computer Games, Ross Graham, Hugh Mccabe, Stephen Sheridan Jun 2017

Neural Networks For Real-Time Pathfinding In Computer Games, Ross Graham, Hugh Mccabe, Stephen Sheridan

The ITB Journal

One of the greatest challenges in the design of realistic Artificial Intelligence (Al) in computer games is agent movement. Pathfinding strategies are usually employed as the core of any AI movement system. The two main components for basic real-time pathfinding are (i) travelling towards a specified goal and (ii) avoiding dynamic and static obstacles that may litter the path to this goal. The focus of this paper is how machine learning techniques, such as Artificial Neural Networks and Genetic Algorithms, can be used to enhance an AI agent's ability to handle pathfinding in real-time by giving them an awareness ...


Emotion Authentication: A Method For Voice Integrity Checking, C. Reynolds, L. Vasiu, M. Smith Jun 2017

Emotion Authentication: A Method For Voice Integrity Checking, C. Reynolds, L. Vasiu, M. Smith

The ITB Journal

When people communicate with telephone type systems, it is often assumed that the listener would notice any modification of the speaker's voice. It is possible however to introduce small changes that would not be noticed by a listener but could modify the reading of a Voice Stress Analyser, popularly referred to as a lie detector. Existing approaches to checking the integrity of voice require significant amounts of processing or are able to detect only non-subtle modification such as change of speaker. With the advent of real time voice modification using software and hardware based signal processing, we argue that ...


Strengthening The Practices Of An Agile Methodology?, Jimmy Doody, Amanda O'Farrell Jun 2017

Strengthening The Practices Of An Agile Methodology?, Jimmy Doody, Amanda O'Farrell

The ITB Journal

An investigation into how the software development process in an agile environment (Extreme Programming) can be aided by intelligent software, leading to the development of a tool that will automate the process of standardising and clarifying source code. The tool will also speed up and aid the testing process, by producing test objects based on the source code, and by providing full test tracking, without having a negative impact on the development process. By making the coding and testing processes more automated, the research aims to evaluate the following hypotheses: 1. That the programmer's productivity can be increased by ...


Setting Up And Mentoring In Coderdojo Dublin 15, Arnold Hensman Jun 2017

Setting Up And Mentoring In Coderdojo Dublin 15, Arnold Hensman

The ITB Journal

Initilally beginning in Ireland, CoderDojo is a non-profit organisation that has grown rapidly into a global network of community based programming clubs. Mentors teach coding skills to young people aged between 7 and 17. All classes are free of charge and clubs operate entirely on a volunteer basis. The first Dublin 15 based CoderDojo began just over two years ago and continues to thrive during weekend sessions held at The Institute of Technology Blanchardstown (ITB), which offers the use of its premises and resources for the sessions. This paper will chronicle the involvement of ITB staff and students with the ...


Unreal Engine 4 Rpg, Jacob W. Russ, Jeffrey J. Nunez Jun 2017

Unreal Engine 4 Rpg, Jacob W. Russ, Jeffrey J. Nunez

Computer Engineering

Classic RPG videogames have become few and far between in the Western market over the years as modern RPG systems have gained popularity. The purpose of this project is to present a vertical slice of a hybrid RPG game that takes the gameplay mechanics and styles of classic RPG videogames and infuses them with a modern presentation. Through the use of the powerful Unreal Engine 4 graphics engine, this project is able to combine impressive graphical fidelity with modernized systems to fuel a videogame that is undeniably a classic RPG at heart. This is not a full game, but a ...


Computer Vision Based Route Mapping, Ryan S. Kehlenbeck, Zachary Cody Jun 2017

Computer Vision Based Route Mapping, Ryan S. Kehlenbeck, Zachary Cody

Computer Science

The problem our project solves is the integration of edge detection techniques with mapping libraries to display routes based on images. To do this, we used the OpenCV library within an Android application. This application lets a user import an image from their device, and uses edge detection to pull out a path from the image. The application can find the user's location and uses it alongside the path data from the image to create a route using the physical roads near the location. The shape of the route matches the edges from the given image and the user ...


Senior Project: Calendar, Jason L. Chin Jun 2017

Senior Project: Calendar, Jason L. Chin

Computer Science

This calendar application is meant to help individuals with busy schedules. Those who must balance their time between working on multiple simultaneous projects would categorize key users. In the application, users will be able to participate in multiple projects at any one time. When a user is in a project, they will be able to create tasks, add tasks, be assigned to tasks, and add other users to the project. A key feature in this application is that each user is provided a personal project. In their personal project, any task assigned to the user from any project, will be ...


Deepmon: Mobile Gpu-Based Deep Learning Framework For Continuous Vision Applications, Nguyen Loc Huynh, Youngki Lee, Rajesh Krishna Balan Jun 2017

Deepmon: Mobile Gpu-Based Deep Learning Framework For Continuous Vision Applications, Nguyen Loc Huynh, Youngki Lee, Rajesh Krishna Balan

Research Collection School Of Information Systems

The rapid emergence of head-mounted devices such as the Microsoft Holo-lens enables a wide variety of continuous vision applications. Such applications often adopt deep-learning algorithms such as CNN and RNN to extract rich contextual information from the first-person-view video streams. Despite the high accuracy, use of deep learning algorithms in mobile devices raises critical challenges, i.e., high processing latency and power consumption. In this paper, we propose DeepMon, a mobile deep learning inference system to run a variety of deep learning inferences purely on a mobile device in a fast and energy-efficient manner. For this, we designed a suite ...


Rack: Code Search In The Ide Using Crowdsourced Knowledge, Mohammad Masudur Rahman, Chanchal K. Roy, David Lo Jun 2017

Rack: Code Search In The Ide Using Crowdsourced Knowledge, Mohammad Masudur Rahman, Chanchal K. Roy, David Lo

Research Collection School Of Information Systems

Traditional code search engines often do not perform well with natural language queries since they mostly apply keyword matching. These engines thus require carefully designed queries containing information about programming APIs for code search. Unfortunately, existing studies suggest that preparing an effective query for code search is both challenging and time consuming for the developers. In this paper, we propose a novel code search tool-RACK-that returns relevant source code for a given code search query written in natural language text. The tool first translates the query into a list of relevant API classes by mining keyword-API associations from the crowdsourced ...


Demo: Deepmon - Building Mobile Gpu Deep Learning Models For Continuous Vision Applications, Nguyen Loc Huynh, Rajesh Krishna Balan, Youngki Lee Jun 2017

Demo: Deepmon - Building Mobile Gpu Deep Learning Models For Continuous Vision Applications, Nguyen Loc Huynh, Rajesh Krishna Balan, Youngki Lee

Research Collection School Of Information Systems

Deep learning has revolutionized vision sensing applications in terms of accuracy comparing to other techniques. Its breakthrough comes from the ability to extract complex high level features directly from sensor data. However, deep learning models are still yet to be natively supported on mobile devices due to high computational requirements. In this paper, we present DeepMon, a next generation of DeepSense [1] framework, to enable deep learning models on conventional mobile devices (e.g. Samsung Galaxy S7) for continuous vision sensing applications. Firstly, Deep-Mon exploits similarity between consecutive video frames for intermediate data caching within models to enhance inference latency ...


Experiences In Building A Real-World Eating Recogniser, Sougata Sen, Vigneshwaran Subbaraju, Archan Misra, Rajesh Krishna Balan, Youngki Lee Jun 2017

Experiences In Building A Real-World Eating Recogniser, Sougata Sen, Vigneshwaran Subbaraju, Archan Misra, Rajesh Krishna Balan, Youngki Lee

Research Collection School Of Information Systems

In this paper, we describe the progressive design of the gesture recognition module of an automated food journaling system - Annapurna. Annapurna runs on a smartwatch and utilises data from the inertial sensors to first identify eating gestures, and then captures food images which are presented to the user in the form of a food journal. We detail the lessons we learnt from multiple in-the-wild studies, and show how eating recognizer is refined to tackle challenges such as (i) high gestural diversity, and (ii) non-eating activities with similar gestural signatures. Annapurna is finally robust (identifying eating across a wide diversity in ...