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

Software Engineering

Institution
Keyword
Publication Year
Publication
Publication Type
File Type

Articles 241 - 270 of 435

Full-Text Articles in Programming Languages and Compilers

Real-Time Bursty Topic Detection And Virality Forecasting In Microblogs, Wei Xie Jul 2017

Real-Time Bursty Topic Detection And Virality Forecasting In Microblogs, Wei Xie

Dissertations and Theses Collection

Microblogs such as Twitter have become the largest social platforms for users around the world to share anything happening around them with friends and beyond. A bursty topic in microblogs is one that triggers a surge of relevant tweets within a short period of time, which often reflects important events of mass interest. How to leverage microblogs for early detection and further impact analysis of bursty topics has, therefore, become an important research problem with immense practical value.


Auditing Anti-Malware Tools By Evolving Android Malware And Dynamic Loading Technique, Yinxing Xue, Guozhu Meng, Yang Liu, Tian Huat Tan, Hongxu Chen, Jun Sun, Jie Zhang Jul 2017

Auditing Anti-Malware Tools By Evolving Android Malware And Dynamic Loading Technique, Yinxing Xue, Guozhu Meng, Yang Liu, Tian Huat Tan, Hongxu Chen, Jun Sun, Jie Zhang

Research Collection School Of Computing and Information Systems

Although a previous paper shows that existing antimalware tools (AMTs) may have high detection rate, the report is based on existing malware and thus it does not imply that AMTs can effectively deal with future malware. It is desirable to have an alternative way of auditing AMTs. In our previous paper, we use malware samples from android malware collection GENOME to summarize a malware meta-model for modularizing the common attack behaviors and evasion techniques in reusable features. We then combine different features with an evolutionary algorithm, in which way we evolve malware for variants. Previous results have shown that the …


Iupdater: Low Cost Rss Fingerprints Updating For Device-Free Localization, Liqiong Chang, Jie Xiong, Yu Wang, Xiaojiang Chen, Junhao Hu, Dingyi Fang Jul 2017

Iupdater: Low Cost Rss Fingerprints Updating For Device-Free Localization, Liqiong Chang, Jie Xiong, Yu Wang, Xiaojiang Chen, Junhao Hu, Dingyi Fang

Research Collection School Of Computing and Information Systems

While most existing indoor localization techniques are device-based, many emerging applications such as intruder detection and elderly monitoring drive the needs of device-free localization, in which the target can be localized without any device attached. Among the diverse techniques, received signal strength (RSS) fingerprint-based methods are popular because of the wide availability of RSS readings in most commodity hardware. However, current fingerprint-based systems suffer from high human labor cost to update the fingerprint database and low accuracy due to the large degree of RSS variations. In this paper, we propose a fingerprint-based device-free localization system named iUpdater to significantly reduce …


Cloud-Based Query Evaluation For Energy-Efficient Mobile Sensing, Tianli Mo, Lipyeow Lim, Sougata Sen, Archan Misra, Rajesh Krishna Balan, Youngki Lee Jul 2017

Cloud-Based Query Evaluation For Energy-Efficient Mobile Sensing, Tianli Mo, Lipyeow Lim, Sougata Sen, Archan Misra, Rajesh Krishna Balan, Youngki Lee

Research Collection School Of Computing and Information Systems

In this paper, we reduce the energy overheads of continuous mobile sensing, specifically for the case of context-aware applications that are interested in collective context or events, i.e., events expressed as a set of complex predicates over sensor data from multiple smartphones. We propose a cloud-based query management and optimization framework, called CloQue, that can support thousands of such concurrent queries, executing over a large number of individual smartphones. Our central insight is that the context of different individuals & groups often have significant correlation, and that this correlation can be learned through standard association rule mining on historical data. …


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.


Fusing Mobile, Wearable And Infrastructure Sensing For Immersive Daily Lifestyle Analytics, Sougata Sen Jun 2017

Fusing Mobile, Wearable And Infrastructure Sensing For Immersive Daily Lifestyle Analytics, Sougata Sen

Dissertations and Theses Collection

With the prevalence of sensors in public infrastructure as well as in personal devices, exploitation of data from these sensors to monitor and profile basic activities (e.g., locomotive states such as walking, and gestural actions such as smoking) has gained popularity. Basic activities identified by these sensors will drive the next generation of lifestyle monitoring applications and services. To provide more advanced and personalized services, these next-generation systems will need to capture and understand increasingly finer-grained details of various common daily life activities. In this dissertation, I demonstrate the possibility of building systems using offthe- shelf devices, that not only …


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 Computing and 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 …


Bug Characteristics In Blockchain Systems: A Large-Scale Empirical Study, Zhiyuan Wan, David Lo, Xin Xia, Liang Cai Jun 2017

Bug Characteristics In Blockchain Systems: A Large-Scale Empirical Study, Zhiyuan Wan, David Lo, Xin Xia, Liang Cai

Research Collection School Of Computing and Information Systems

Bugs severely hurt blockchain system dependability. A thorough understanding of blockchain bug characteristics is required to design effective tools for preventing, detecting and mitigating bugs. We perform an empirical study on bug characteristics in eight representative open source blockchain systems. First, we manually examine 1,108 bug reports to understand the nature of the reported bugs. Second, we leverage card sorting to label the bug reports, and obtain ten bug categories in blockchain systems. We further investigate the frequency distribution of bug categories across projects and programming languages. Finally, we study the relationship between bug categories and bug fixing time. The …


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 …


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 …


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 …


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

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

Emerging Technologies Laboratory

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 mechanisms and …


Clustering Classes In Packages For Program Comprehension, Xiaobing Sun, Xiangyue Liu, Bin Li, Bixin Li, David Lo, Lingzhi Liao Apr 2017

Clustering Classes In Packages For Program Comprehension, Xiaobing Sun, Xiangyue Liu, Bin Li, Bixin Li, David Lo, Lingzhi Liao

Research Collection School Of Computing and Information Systems

During software maintenance and evolution, one of the important tasks faced by developers is to understand a system quickly and accurately. With the increasing size and complexity of an evolving system, program comprehension becomes an increasingly difficult activity. Given a target system for comprehension, developers may first focus on the package comprehension. The packages in the system are of different sizes. For small-sized packages in the system, developers can easily comprehend them. However, for large-sized packages, they are difficult to understand. In this article, we focus on understanding these large-sized packages and propose a novel program comprehension approach for large-sized …


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

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

Computer Science Faculty Publications and Presentations

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.


Automated Refactoring Of Legacy Java Software To Default Methods, Raffi Khatchadourian, Hidehiko Masuhara Jan 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 …


Just In Time Assembly (Jita) - A Run Time Interpretation Approach For Achieving Productivity Of Creating Custom Accelerators In Fpgas, Sen Ma Dec 2016

Just In Time Assembly (Jita) - A Run Time Interpretation Approach For Achieving Productivity Of Creating Custom Accelerators In Fpgas, Sen Ma

Graduate Theses and Dissertations

The reconfigurable computing community has yet to be successful in allowing programmers to access FPGAs through traditional software development flows. Existing barriers that prevent programmers from using FPGAs include: 1) knowledge of hardware programming models, 2) the need to work within the vendor specific CAD tools and hardware synthesis. This thesis presents a series of published papers that explore different aspects of a new approach being developed to remove the barriers and enable programmers to compile accelerators on next generation reconfigurable manycore architectures. The approach is entitled Just In Time Assembly (JITA) of hardware accelerators. The approach has been defined …


Towards Using Concurrent Java Api Correctly, Shuang Liu, Guangdong Bai, Jun Sun, Jin Song Dong Nov 2016

Towards Using Concurrent Java Api Correctly, Shuang Liu, Guangdong Bai, Jun Sun, Jin Song Dong

Research Collection School Of Computing and Information Systems

Concurrent Programs are hard to analyze or debug due to the complex program logic and unpredictable execution environment. In practice, ordinary programmers often adopt existing well-designed concurrency related API (e.g., those in java.util.concurrent) so as to avoid dealing with these issues. These API can however often be used incorrectly, which results in hardto-debug concurrent bugs. In this work, we propose an approach for enforcing the correct usage of concurrency-related Java API. Our idea is to annotate concurrency-related Java classes with annotations related to misuse of these API and develop lightweight type checker to detect concurrent API misuse based on the …


Service Adaptation With Probabilistic Partial Models, Manman Chen, Tian Huat Tan, Jun Sun, Jingyi Wang, Yang Liu, Jing Sun, Jin Song Dong Nov 2016

Service Adaptation With Probabilistic Partial Models, Manman Chen, Tian Huat Tan, Jun Sun, Jingyi Wang, Yang Liu, Jing Sun, Jin Song Dong

Research Collection School Of Computing and Information Systems

Web service composition makes use of existing Web services to build complex business processes. Non-functional requirements are crucial for the Web service composition. In order to satisfy non-functional requirements when composing a Web service, one needs to rely on the estimated quality of the component services. However, estimation is seldom accurate especially in the dynamic environment. Hence, we propose a framework, ADFlow, to monitor and adapt the workflow of the Web service composition when necessary to maximize its ability to satisfy the non-functional requirements automatically. To reduce the monitoring overhead, ADFlow relies on asynchronous monitoring. ADFlow has been implemented and …


Scaling Bdd-Based Timed Verification With Simulation Reduction, Truong Khanh Nguyen, Tian Huat Tan, Jun Sun, Jiaying Li, Yang Liu, Manman Chen, Jin Song Dong Nov 2016

Scaling Bdd-Based Timed Verification With Simulation Reduction, Truong Khanh Nguyen, Tian Huat Tan, Jun Sun, Jiaying Li, Yang Liu, Manman Chen, Jin Song Dong

Research Collection School Of Computing and Information Systems

Digitization is a technique that has been widely used in real-time model checking. With the assumption of digital clocks, symbolic model checking techniques (like those based on BDDs) can be applied for real-time systems. The problem of model checking real-time systems based on digitization is that the number of tick transitions increases rapidly with the increment of clock upper bounds. In this paper, we propose to improve BDD-based verification for real-time systems using simulation reduction. We show that simulation reduction allows us to verify timed automata with large clock upper bounds and to converge faster to the fixpoint. The presented …


Techniques For Identifying Mobile Platform Vulnerabilities And Detecting Policy-Violating Applications, Mon Kywe Su Oct 2016

Techniques For Identifying Mobile Platform Vulnerabilities And Detecting Policy-Violating Applications, Mon Kywe Su

Dissertations and Theses Collection

Mobile systems are generally composed of three layers of software: application layer where third-party applications are installed, framework layer where Application Programming Interfaces (APIs) are exposed, and kernel layer where low-level system operations are executed. In this dissertation, we focus on security and vulnerability analysis of framework and application layers. Security mechanisms, such as Android’s sandbox and permission systems, exist in framework layer, while malware scanners protects application layer. However, there are rooms for improvement in both mechanisms. For instance, Android’s permission system is known to be implemented in ad-hoc manner and not well-tested for vulnerabilities. Application layer also focuses …


Mining Revision Histories To Detect Cross-Language Clones Without Intermediates, Lingxiao Jiang, Zhiming Peng, Lingxiao Jiang, Hao Zhong, Haibo Yu, Jianjun Zhao Sep 2016

Mining Revision Histories To Detect Cross-Language Clones Without Intermediates, Lingxiao Jiang, Zhiming Peng, Lingxiao Jiang, Hao Zhong, Haibo Yu, Jianjun Zhao

Research Collection School Of Computing and Information Systems

To attract more users on different platforms, many projects release their versions in multiple programming languages (e.g., Java and C#). They typically have many code snippets that implement similar functionalities, i.e., cross-language clones. Programmers often need to track and modify cross-language clones consistently to maintain similar functionalities across different language implementations. In literature, researchers have proposed approaches to detect cross-language clones, mostly for languages that share a common intermediate language (such as the .NET language family) so that techniques for detecting single-language clones can be applied. As a result, those approaches cannot detect cross-language clones for many projects that are …


On The Feasibility Of Detecting Cross-Platform Code Clones Via Identifier Similarity, Xiao Cheng, Lingxiao Jiang, Hao Zhong, Haibo Yu, Jianjun Zhao Sep 2016

On The Feasibility Of Detecting Cross-Platform Code Clones Via Identifier Similarity, Xiao Cheng, Lingxiao Jiang, Hao Zhong, Haibo Yu, Jianjun Zhao

Research Collection School Of Computing and Information Systems

More and more mobile applications run on multiple mobile operating systems to attract more users of different platforms. Although versions on different platforms are implemented in different programming languages (e.g., Java and Objective-C), there must be many code snippets that implement the similar business logic on different platforms. Such code snippets are called cross-platform clones. It is challenging but essential to detect such clones for software maintenance. Due to the practice that developers usually use some common identifiers when implementing the same business logic on different platforms, in this paper, we investigate the identifier similarity of the same mobile application …


Decision Modeling And Empirical Analysis Of Mobile Financial Services, Jun Liu Aug 2016

Decision Modeling And Empirical Analysis Of Mobile Financial Services, Jun Liu

Dissertations and Theses Collection

The past twenty years have been a time of many new technological developments, changing business practices, and interesting innovations in the financial information system (IS) and technology landscape. As the financial services industry has been undergoing the digital transformation, the emergence of mobile financial services has been changing the way that customers pay for goods and services purchases and interact with financial institutions. This dissertation seeks to understand the evolution of the mobile payments technology ecosystem and how firms make mobile payments investment decisions under uncertainty, as well as examines the influence of mobile banking on customer behavior and financial …


Safegpu: Contract- And Library-Based Gpgpu For Object-Oriented Languages, Alexey Kolesnichenko, Christopher M. Poskitt, Sebastian Nanz Aug 2016

Safegpu: Contract- And Library-Based Gpgpu For Object-Oriented Languages, Alexey Kolesnichenko, Christopher M. Poskitt, Sebastian Nanz

Research Collection School Of Computing and Information Systems

Using GPUs as general-purpose processors has revolutionized parallel computing by providing, for a large and growing set of algorithms, massive data-parallelization on desktop machines. An obstacle to their widespread adoption, however, is the difficulty of programming them and the low-level control of the hardware required to achieve good performance. This paper proposes a programming approach, SafeGPU, that aims to make GPU data-parallel operations accessible through high-level libraries for object-oriented languages, while maintaining the performance benefits of lower-level code. The approach provides data-parallel operations for collections that can be chained and combined to express compound computations, with data synchronization and device …


Satisfiability Modulo Heap-Based Programs, Quang Loc Le, Jun Sun, Wei-Ngan Chin Jul 2016

Satisfiability Modulo Heap-Based Programs, Quang Loc Le, Jun Sun, Wei-Ngan Chin

Research Collection School Of Computing and Information Systems

In this work, we present a semi-decision procedure for a fragment of separation logic with user-defined predicates and Presburger arithmetic. To check the satisfiability of a formula, our procedure iteratively unfolds the formula and examines the derived disjuncts. In each iteration, it searches for a proof of either satisfiability or unsatisfiability. Our procedure is further enhanced with automatically inferred invariants as well as detection of cyclic proof. We also identify a syntactically restricted fragment of the logic for which our procedure is terminating and thus complete. This decidable fragment is relatively expressive as it can capture a range of sophisticated …


An Interference-Free Programming Model For Network Objects, Mischael Schill, Christopher M. Poskitt, Bertrand Meyer Jun 2016

An Interference-Free Programming Model For Network Objects, Mischael Schill, Christopher M. Poskitt, Bertrand Meyer

Research Collection School Of Computing and Information Systems

Network objects are a simple and natural abstraction for distributed object-oriented programming. Languages that support network objects, however, often leave synchronization to the user, along with its associated pitfalls, such as data races and the possibility of failure. In this paper, we present D-Scoop, a distributed programming model that allows for interference-free and transaction-like reasoning on (potentially multiple) network objects, with synchronization handled automatically, and network failures managed by a compensation mechanism. We achieve this by leveraging the runtime semantics of a multi-threaded object-oriented concurrency model, directly generalizing it with a message-based protocol for efficiently coordinating remote objects. We present …


Sign & Share: Full-Stack International Video Sharing Website, Shuxu Tian May 2016

Sign & Share: Full-Stack International Video Sharing Website, Shuxu Tian

Undergraduate University Honors Capstones

Inspired by VL2 bilingual story apps that focus on American Sign Language and English, this project provides a new application for sharing multi-lingual signed and written stories to a worldwide audience. VL2 story apps include only ASL and English, and are for purchase; VL2 also sells the code to develop stories in other languages, but the code requires technical expertise to use. My new app uses a special set of tools to allow sharing stories in any signed language and written forms of spoken languages without cost and without the need for technical expertise. Known as Sign and Share, this …


Software Improvements To Parint, A Parallel Integration Software Package, Lawrence Cuneaz Apr 2016

Software Improvements To Parint, A Parallel Integration Software Package, Lawrence Cuneaz

Honors Theses

The best software is easy to configure and compile, is expandable and is well tested. Development of the ParInt software package for parallel integration stopped a number of years ago. When handed the software, parts of the package no longer configured or compiled consistently. Furthermore it relied on one random number generator and had no functional testing. The team tuned the auto configuration so that the program would configure and build on current systems, created expandable functionality to add new random number generators and created two functional test packs. Now ParInt can be developed with confidence knowing that it compiles …


A Graph-Based Semantics Workbench For Concurrent Asynchronous Programs, Claudio Corrodi, Alexander Heußner, Christopher M. Poskitt Apr 2016

A Graph-Based Semantics Workbench For Concurrent Asynchronous Programs, Claudio Corrodi, Alexander Heußner, Christopher M. Poskitt

Research Collection School Of Computing and Information Systems

A number of novel programming languages and libraries have been proposed that offer simpler-to-use models of concurrency than threads. It is challenging, however, to devise execution models that successfully realise their abstractions without forfeiting performance or introducing unintended behaviours. This is exemplified by Scoop—a concurrent object-oriented message-passing language—which has seen multiple semantics proposed and implemented over its evolution. We propose a “semantics workbench” with fully and semi-automatic tools for Scoop, that can be used to analyse and compare programs with respect to different execution models. We demonstrate its use in checking the consistency of semantics by applying it to a …