Winter 2020 Final Exam Schedule

 

Final Examination Schedule

PLEASE JOIN US AS THE FOLLOWING CANDIDATES PRESENT THEIR CULMINATING WORK.

Winter 2020
 

Monday, March 2

Neha Kumari

Chair: Dr. Min Chen
Candidate: Master of Science in Computer Science & Software Engineering

1:15 P.M.; DISC 464
Piracy and Malware detection in Android Applications

Over the last decade, there has been a manifold growth in the number of smartphone users, which has resulted in an increase in demand for feature-rich smartphone applications. Android is one of the major mobile platforms that has been widely adopted. Amidst the exploding growth in the number of applications, software piracy and malware incidents are some of the major concerns that need to be addressed in order to build a healthy marketplace. Manual detection of pirated and malware-infected applications is error-prone and does not scale with the rising demand. Thus there is an urgent need to develop a robust system that can automate the analysis of Android applications. In this work, we compare and contrast two disparate malware detection systems. To do so, we first re-implement Juxtapp, a system developed at UC Berkeley, which performs code similarity analysis among Android applications to discover instances of code reuse based on the underlying opcodes. In contrast to Juxtapp, we also implement a permission-based malware detection system that identifies malware infected applications using the permissions accessed by an application. We evaluate the performance of both the approaches on the AndroZoo and KuafuDet dataset, consisting of a total of 20,047 android applications, including original, pirated and malware infected applications. We show in our results that Juxtapp can be effectively used for identifying software piracy, and can be used in conjunction with a permission-based malware detection system to accurately identify malware infected applications.

Friday, March 6

Kaihua Hu

Chair: Dr. Kelvn Sung
Candidate: Master of Science in Computer Science & Software Engineering

11:00 A.M.; Online
Real-time ray tracing in Unity

Ray tracing is an important rendering algorithm that naturally supports advanced effects such as realistic reflections, refractions, and shadows. It is capable of synthesizing images with striking realism that are comparable to photographs or videos captured in the real world. However, due to the intensive computation requirements and limitations of traditional hardware, ray trace image generation has largely been limited to off-line batch processing. Recently, with the increasing performance of the hardware, the latest Graphics Processing Units (GPUs) are becoming capable of delivering the computation requirements of ray tracing in real-time.

In this project, we implemented a real-time ray tracing system based on the Unity game engine platform. Our system delivers typical rendering features via a ray tracing pipeline, where the features include camera manipulations, anti-aliasing, environmental mapping, and supports for customized mesh models, materials, light sources, Phong illumination, reflection, and shadow. Besides, our system also provides simple User Interfaces (UI) for Unity users to configure the rendering process in real-time. For example, the user can define a skybox and increase the number of samples for anti-aliasing. They can even modify the material properties and generations of reflection rays, all in real-time, while the ray trace rendering system is running.

We have carefully examined the performance of our real-time ray tracing system and identified bottlenecks. Somewhat surprisingly, the performance results indicated that the communication between the CPU and GPU was not a limiting factor. Instead, as expected in all ray tracing systems, the number of ray intersection computation was the main issue. In our case, the vast proportion of frame time was spent in the GPU computing intersections. This bottleneck was relieved with an acceleration KD-Tree spatial structure. With the acceleration structure, the bottleneck of the system switched to the KD-Tree construction computation in the CPU. We addressed this issue by applying a lazy updating strategy for the KD-Tree construction. With these optimizations, based on our benchmark scenes, the resulting system was able to achieve over 100-times speed up, from rendering 144 triangles to 21500 triangles in real-time.

Tuesday, March 10

Kecheng Xiao

Chair: Dr. Hazeline Asuncion
Candidate: Master of Science in Computer Science & Software Engineering

10:45 A.M.; Online
Security Design Pattern Mining

Design patterns are general solutions for the design and implementation of software projects. As the increase of functions, many software projects had problems related to security. These problems troubled the software engineers and users, and engineers had to constantly iterate the software in order to solve security-related problems. Compared with solutions proposed for specific security problems, secure design patterns provide common frameworks to solve these problems by directly adding security-related certification mechanism at the structure level. However, because of the lack of documents in the process of development or the follow-up processes, it increases the difficulty of software system maintenance. Therefore, mining security design patterns in project codes is significant. It helps developers and maintainers develop and document software systems. The mining results can also be used to understand the security mechanism of the project, so as to carry out iterations of functions in the project and solve security problems. However, methods for security design patterns are still relatively few because the concept of security design patterns was proposed relatively late, and the research process of mining security design patterns is also relatively difficult: (1)Excessive number of class combinations to be classified causes the low efficiency of design pattern mining. (2)It is hard to select reasonable indicators using in extracting features of object-oriented classes. At present, there are many ways to mine design patterns, and the method proposed in this paper is to mine security design patterns based on machine learning. This research was carried out from three parts: (1)sub graph matching (2)matrix transformation (3)machine model training.

Wednesday, March 11

Praveena Avula

Chair: Dr. Min Chen
Candidate: Master of Science in Computer Science & Software Engineering

11:00 A.M.; Online
Learning and Analysis Platform for Melodic Transcription in Language Documentation and Application (MeTILDA)

Language endangerment is one of the most urgent problems facing humanities, with roughly one language disappearing every two weeks. Blackfoot is one such language that needs to be documented, analyzed, and preserved. Blackfoot is challenging to learn and teach as a pitch accent language whose words take on different meanings when pitch changes. There are some existing tools such as Praat to capture the nuances of pitch changes by creating pitch graphs. However, these tools require time-consuming work across multiple applications to create graphs. To overcome this gap, earlier work in Dr. Min Chen’s group has developed an application called MeTILDA (Melodic Transcription in Language Documentation and Analysis)[MC1] . It automates the process of creating pitch graphs and enables linguistics researchers to analyze and compare multiple Blackfoot words. It also benefits the learners of this language by providing the ability to record their own pronunciation of words and compare it with that of native speakers. The goal of this project is to scale, enhance and improve the usability of the initial version of MeTILDA. Specifically, this project develops a dynamic content management system that supports any audio file to be uploaded and analyzed within the system. Pitch art analysis and images of the audio files can also be saved in the system which allows linguistic researchers to compare analyses of multiple speakers with features such as ‘View History’ and ‘My Files’. Learners can also save their own pronunciations and listen and share their previous pronunciations with other users. This project also aims at providing security by developing authentication and authorization features that allows users with different roles to perform specific functionalities within the application. While the project is currently being developed using Blackfoot as testbed, it can be used for other pitch accent languages as well in the future. 

Ruiwen Xing

Chair: Dr. Dong Si
Candidate: Master of Science in Computer Science & Software Engineering

3:30 P.M.; Online
Deep Learning Based CT Image Reconstruction

As a common medical imaging method, Computed Tomography (CT) can create tomographic images using X-ray data acquired from around the human body. However, high quality and adequately sampled X-ray measurement data are not always available. In this scenario, the tomographic image created by conventional reconstruction algorithms will be noisy, or contain unreal artifacts. The goal of our study is to reconstruct high-quality tomographic images from noisy or incomplete scan data, including low-dose, sparse-view, and limited-angle scenarios, by utilizing novel deep learning techniques. In this project, we trained a Generative Adversarial Network (GAN) and used it as a signal prior in the Simultaneous Algebraic Reconstruction Technique (SART) iterative reconstruction algorithm. The GAN we trained includes a self-attention block to model long-range dependencies in the scan data. Compared with the state-of-the-art denoising cycle GAN, CIRCLE GAN, and a conventional mathematical reconstruction algorithm incorporating total variation minimization, our Self-Attention GAN for CT image reconstruction produces competitive results on solving limited-angle data reconstruction problems.

Thursday, March 12

Safina Chaudhry

Chair: Dr. Dong Si
Candidate: Master of Science in Computer Science & Software Engineering

11:00 A.M.; Online
Automated Cognitive Decline Analysis Using Voice Features and Clinical Test Results

The ability to detect cognitive decline at an early stage can help physicians and patients to start early treatment and make future treatment plans. This would also help to reduce the cost associated with the detection and treatment of cognitive decline. The aim of this study is to identify the most predictive features that gives the best results in detection of the disease. In this study, we developed an automated system that evaluates speech audio recordings of neuropsychological examinations of 135 subjects along with their clinical test results from the Framingham Heart Study (FHS) dataset. We extracted participant voice samples based on cognitive task assessments performed with them. A total of 89 acoustic voice features were extracted for all the tests performed with the participants. The FHS dataset was divided into three smaller feature sets, including neuropsychological test measures (NPT), magnetic resonance imaging (MRI) data, and combined NPT and acoustic voice features dataset.  Different numbers of features were used for different subsets of data to train Long Short-term Memory (LSTM) and Convolutional Neural Network (CNN) models to detect cognitive decline and identify the most useful and powerful features. The comparison of the results of both the models shows that the combined feature set of NPT and acoustic voice features gave decent accuracy rate with both the models. The CNN model showed slightly better results than LSTM model with an accuracy rate of 86% while LSTM showed an accuracy rate of 83%. As there was not much difference between the accuracy values of the two models, we used the training and testing times as metrics for selecting one model for future work. Based on training and testing time of both the models, CNN was used for future improvement of this project.

Yiheng Liang

Chair: Dr. Brent Lagesse
Candidate: Master of Science in Cybersecurity Engineering

1:15 P.M.; Online
Efficient Dynamic Searchable Symmetric Encryption Construction with Forward and Some Backward Privacy

Searchable Symmetric Encryption (SSE) is a class of schemes that enable search operations on encrypted data at the cost of acceptable information leakage. SSE schemes are useful when people need to store their data on untrusted servers.
Recent studies have shown the importance of forward privacy and backward privacy in Dynamic SSE (DSSE), which allows update (addition and deletion) operations. The former property requires that updates to the database do not reveal information related to previous queries; while the latter property makes it hard for the server to learn information about deleted documents. Recent researches proposed schemes providing forward and/or backward privacy by utilizing elaborate but computationally and/or communicationally expensive data structures and techniques, such as oblivious ORAMs and puncturable encryptions.
In this paper, I introduce an efficient DSSE scheme that only utilizes simple data structures but still achieves forward privacy and some backward privacy. The scheme trades some backward-private strength (which may be less important than forward-private strength in practice) for great efficiency. In addition, I implement the scheme and conduct performance evaluations showing that it is practical.

Friday, March 13

Ali Arslan Yousaf

Chair: Dr. Munehiro Fukuda
Candidate: Master of Science in Computer Science & Software Engineering

9:00 A.M.; Online
Heterogeneous Implementation of MASS CUDA to Scale up Agent Based Simulations

Agent based modeling has emerged as one of the foremost area of research for tackling massively parallel simulation problems. In line with the broader move to special purpose processors and GPUs, ABM systems have been adapted to take advantage of the massive amounts of parallelism available. Unfortunately, the amount of memory available on commodity GPUs has not scaled along with the increasingly larger amounts of data practitioners must work with and this has begun to impose limits on the size of problems which can be solved. 

We present a heterogeneous version of the MASS framework which allows it to run large models on GPUs with oversubscribed memory. We show that it scales similarly in terms of performance to pure CUDA implementations of three representative algorithms and that the ease of use and programmability afforded by the MASS framework is preserved.

En Li

Chair: Dr. William Erdly
Candidate: Master of Science in Computer Science & Software Engineering

1:30 P.M.; Online
Cloud-based Microservices In Practice – Research Trends, Challenges & Solutions

Traditionally, a monolithic architectural style for building traditional web services has been the default choice for many organizations. When using a monolithic architecture, all components of the software (data, UIs, backend servers) are built as a single system. As the customer base grows, so does the business logic. Also, the high-coupling nature of a monolithic architecture begins to take tolls on the scalability and performance of the system as well as the productivity of the development team. Microservice architectures tackles this problem by separating business logic into modular components, thus allowing independent deployment, better scalability, and more efficient development cycles. However, as the volume of academic research has increased on microservice architectures, it appears to have little impact on the real-world practice among industry professionals. In this study, literature reviews of existing studies and surveys on industry professionals were conducted to determine the extent of the discrepancies between theory and practice. Several solutions to the problem of service boundary definition, data decomposition were identified and practical implementations are provided. Suggestions include incentivizing scholars and industry to build a common, scalable framework and system that is readily translated from theory to practice. Academic intuitions have challenges in replicating the massive scaling issues and traffic volume encountered in the real-world. It also takes considerable time for research practices to be deployed and their effects quantified in applications.

Chang Liu

Chair: Dr. Munehiro Fukuda
Candidate: Master of Science in Computer Science & Software Engineering

3:30 P.M.; Online
Development of Application Programs Oriented to Agent-Based Data Analysis

Different software has been developed in the last two decades to accelerate big data parallelism processes, such as MapReduce, Spark, and Storm. Besides these data-streaming tools, agent-based modeling (ABM) provides an alternative approach for data discovery and gain recognition on its programmability and intuition of coding. As a tool of ABM, the Multi-Agent Spatial Simulation library (MASS) is developed by Distributed Systems Laboratory (DSL) at the University of Washington, Bothell, and strives to parallelize agent-based models over a cluster system. This project is to extend the initial achievement in agent-based data analysis by exploring more data science applications and identifying more data science applications that would be the better fit for agent-based parallelization.

This project presents the algorithm designs and implementation process for four applications of Top K, Markov Chain, Connected Components, and Matrix Multiplication on MapReduce, Spark, and MASS. Besides, this project compares the programmability and execution performance of four applications on three frameworks. This study further discussed the previous research on the MASS and the strengths and weaknesses of MASS when it is used to implement data applications.

Back to top

Questions: Please email cssgrad@uw.edu