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

Research Collection School Of Computing and Information Systems

Discipline
Keyword
Publication Year

Articles 211 - 240 of 379

Full-Text Articles in Programming Languages and Compilers

Teaching Basic Programming To Pre-University Students Through Blended Learning Pedagogy: A Descriptive Study, Vandana Ramachandra Rao, Ngee Mok Heng Sep 2018

Teaching Basic Programming To Pre-University Students Through Blended Learning Pedagogy: A Descriptive Study, Vandana Ramachandra Rao, Ngee Mok Heng

Research Collection School Of Computing and Information Systems

Students enrolling for undergraduate programmes in Singapore would have either finished their polytechnic diploma or completed Junior College (JC) studies. Most pre-university students coming through the JC pathway are not exposed to programming as computing is offered as a subject in a very few JCs. The authors of this paper conducted four runs of an introductory programing course between 2016 and 2017 for a research project funded by the Ministry of Education, Singapore. The project named “Let’s Code!” was intended to introduce fundamental programming concepts to students and guide them to consider taking a computer-science related degree for their university …


Rule-Based Specification Mining Leveraging Learning To Rank, Zherui Cao, Yuan Tian, Bui Tien Duy Le, David Lo Sep 2018

Rule-Based Specification Mining Leveraging Learning To Rank, Zherui Cao, Yuan Tian, Bui Tien Duy Le, David Lo

Research Collection School Of Computing and Information Systems

Software systems are often released without formal specifications. To deal with the problem of lack of and outdated specifications, rule-based specification mining approaches have been proposed. These approaches analyze execution traces of a system to infer the rules that characterize the protocols, typically of a library, that its clients must obey. Rule-based specification mining approaches work by exploring the search space of all possible rules and use interestingness measures to differentiate specifications from false positives. Previous rule-based specification mining approaches often rely on one or two interestingness measures, while the potential benefit of combining multiple available interestingness measures is not …


Stackelberg Security Games: Looking Beyond A Decade Of Success, Arunesh Sinha, Fei Fang, Bo An, Christopher Kiekintveld, Milind Tambe Jul 2018

Stackelberg Security Games: Looking Beyond A Decade Of Success, Arunesh Sinha, Fei Fang, Bo An, Christopher Kiekintveld, Milind Tambe

Research Collection School Of Computing and Information Systems

The Stackelberg Security Game (SSG) model has been immensely influential in security research since it was introduced roughly a decade ago. Furthermore, deployed SSG-based applications are one of most successful examples of game theory applications in the real world. We present a broad survey of recent technical advances in SSG and related literature, and then look to the future by highlighting the new potential applications and open research problems in SSG.


Static Analysis Of Context Leaks In Android Applications, Flavio Toffalini, Jun Sun, Martín Cohoa Jun 2018

Static Analysis Of Context Leaks In Android Applications, Flavio Toffalini, Jun Sun, Martín Cohoa

Research Collection School Of Computing and Information Systems

Android native applications, written in Java and distributed in APK format, are widely used in mobile devices. Their specific pattern of use lets the operating system control the creation and destruction of key resources, such as activities and services (contexts). Programmers are not supposed to interfere with such lifecycle events. Otherwise contexts might be leaked, i.e. they will never be deallocated from memory, or be deallocated too late, leading to memory exhaustion and frozen applications. In practice, it is easy to write incorrect code, which hinders garbage collection of contexts and subsequently leads to context leakage.In this work, we present …


A Utp Semantics For Communicating Processes With Shared Variables And Its Formal Encoding In Pvs, Ling Shi, Yongxin Zhao, Yang Liu, Jun Sun, Jin Song Dong, Shengchao Qin Apr 2018

A Utp Semantics For Communicating Processes With Shared Variables And Its Formal Encoding In Pvs, Ling Shi, Yongxin Zhao, Yang Liu, Jun Sun, Jin Song Dong, Shengchao Qin

Research Collection School Of Computing and Information Systems

CSP# (communicating sequential programs) is a modelling language designed for specifying concurrent systems by integrating CSP-like compositional operators with sequential programs updating shared variables. In this work, we define an observation-oriented denotational semantics in an open environment for the CSP# language based on the UTP framework. To deal with shared variables, we lift traditional event-based traces into mixed traces which consist of state-event pairs for recording process behaviours. To capture all possible concurrency behaviours between action/channel-based communications and global shared variables, we construct a comprehensive set of rules on merging traces from processes which run in parallel/interleaving. We also define …


Introducing Basic Programming To Pre-University Students: A Successful Initiative In Singapore, Heng Ngee Mok, Vandana Ramachandra Rao Apr 2018

Introducing Basic Programming To Pre-University Students: A Successful Initiative In Singapore, Heng Ngee Mok, Vandana Ramachandra Rao

Research Collection School Of Computing and Information Systems

“Let’s Code!” is an intensive 3-week basic programming course that aims to formally expose pre-university students in Singapore to programming. This course was conducted in blended-learning format, and included lecture videos, self-check quizzes, video conferences, meet-up tutorials and take-home programming assignments. The authors hope to capture the experience gained from running this course for educators who intend to implement similar courses in the future. Besides a detailed description of this course, significant changes that were made based on feedback from participants and members of the teaching team are documented here.


Combined Classifier For Cross-Project Defect Prediction: An Extended Empirical Study, Yun Zhang, David Lo, Xin Xia, Jianling Sun Apr 2018

Combined Classifier For Cross-Project Defect Prediction: An Extended Empirical Study, Yun Zhang, David Lo, Xin Xia, Jianling Sun

Research Collection School Of Computing and Information Systems

To help developers better allocate testing and debugging efforts, many software defect prediction techniques have been proposed in the literature. These techniques can be used to predict classes that are more likely to be buggy based on past history of buggy classes. These techniques work well as long as a sufficient amount of data is available to train a prediction model. However, there is rarely enough training data for new software projects. To deal with this problem, cross-project defect prediction, which transfers a prediction model trained using data from one project to another, has been proposed and is regarded as …


Scaling Human Activity Recognition Via Deep Learning-Based Domain Adaptation, Md Abdullah Hafiz Khan, Nirmalya Roy, Archan Misra Mar 2018

Scaling Human Activity Recognition Via Deep Learning-Based Domain Adaptation, Md Abdullah Hafiz Khan, Nirmalya Roy, Archan Misra

Research Collection School Of Computing and Information Systems

We investigate the problem of making human activityrecognition (AR) scalable–i.e., allowing AR classifiers trainedin one context to be readily adapted to a different contextualdomain. This is important because AR technologies can achievehigh accuracy if the classifiers are trained for a specific individualor device, but show significant degradation when the sameclassifier is applied context–e.g., to a different device located ata different on-body position. To allow such adaptation withoutrequiring the onerous step of collecting large volumes of labeledtraining data in the target domain, we proposed a transductivetransfer learning model that is specifically tuned to the propertiesof convolutional neural networks (CNNs). Our model, …


Vt-Revolution: Interactive Programming Video Tutorial Authoring And Watching System, Lingfeng Bao, Zhenchang Xing, Xin Xia, David Lo Feb 2018

Vt-Revolution: Interactive Programming Video Tutorial Authoring And Watching System, Lingfeng Bao, Zhenchang Xing, Xin Xia, David Lo

Research Collection School Of Computing and Information Systems

Procedural knowledge describes actions and manipulations that are carried out to complete programming tasks. An effective way to document procedural knowledge is programming video tutorials. Existing solutions to adding interactive workflow and elements to programming videos have a dilemma between the level of desired interaction and the efforts required for authoring tutorials. In this work, we tackle this dilemma by designing and building a programming video tutorial authoring system that leverages operating system level instrumentation to log workflow history while tutorial authors are creating programming videos, and the corresponding tutorial watching system that enhances the learning experience of video tutorials …


Integrated Reward Scheme And Surge Pricing In A Ride Sourcing Market, Hai Yang, Chaoyi Shao, Hai Wang, Jieping Ye Jan 2018

Integrated Reward Scheme And Surge Pricing In A Ride Sourcing Market, Hai Yang, Chaoyi Shao, Hai Wang, Jieping Ye

Research Collection School Of Computing and Information Systems

Surge pricing is commonly used in on-demand ride-sourcing platforms (e.g., Uber, Lyft and Didi) to dynamically balance demand and supply. However, since the price for ride service cannot be unlimited, there is usually a reasonable or legitimate range of prices in practice. Such a constrained surge pricing strategy fails to balance demand and supply in certain cases, e.g., even adopting the maximum allowed price cannot reduce the demand to an affordable level during peak hours. In addition, the practice of surge pricing is controversial and has stimulated long debate regarding its pros and cons. In this paper, to address the …


Slade: A Smart Large-Scale Task Decomposer In Crowdsourcing, Yongxin Tong, Lei Chen, Zimu Zhou, H. V. Jagadish, Lidan Shou Jan 2018

Slade: A Smart Large-Scale Task Decomposer In Crowdsourcing, Yongxin Tong, Lei Chen, Zimu Zhou, H. V. Jagadish, Lidan Shou

Research Collection School Of Computing and Information Systems

Crowdsourcing has been shown to be effective in a wide range of applications, and is seeing increasing use. A large-scale crowdsourcing task often consists of thousands or millions of atomic tasks, each of which is usually a simple task such as binary choice or simple voting. To distribute a large-scale crowdsourcing task to limited crowd workers, a common practice is to pack a set of atomic tasks into a task bin and send to a crowd worker in a batch. It is challenging to decompose a large-scale crowdsourcing task and execute batches of atomic tasks, which ensures reliable answers at …


Modeling Engagement Of Programming Students Using Unsupervised Machine Learning Technique, Hua Leong Fwa, Lindsay Marshall Jan 2018

Modeling Engagement Of Programming Students Using Unsupervised Machine Learning Technique, Hua Leong Fwa, Lindsay Marshall

Research Collection School Of Computing and Information Systems

Engagement is instrumental to students’ learning and academic achievements. In this study, we model the engagement states of students who are working on programming exercises in an intelligent tutoring system. Head pose, keystrokes and action logs of students automatically captured within the tutoring system are fed into a Hidden Markov Model for inferring the engagement states of students. With the modeling of students’ engagement on a moment by moment basis, intervention measures can be initiated automatically by the system when necessary to optimize the students’ learning. This study is also one of the few studies that bypass the need for …


What Do Developers Search For On The Web?, Xin Xia, Lingfeng Bao, David Lo, Pavneet Singh Kochhar, Ahmed E. Hassan, Zhenchang Xing Dec 2017

What Do Developers Search For On The Web?, Xin Xia, Lingfeng Bao, David Lo, Pavneet Singh Kochhar, Ahmed E. Hassan, Zhenchang Xing

Research Collection School Of Computing and Information Systems

Developers commonly make use of a web search engine such as Google to locate online resources to improve their productivity. A better understanding of what developers search for could help us understand their behaviors and the problems that they meet during the software development process. Unfortunately, we have a limited understanding of what developers frequently search for and of the search tasks that they often find challenging. To address this gap, we collected search queries from 60 developers, surveyed 235 software engineers from more than 21 countries across five continents. In particular, we asked our survey participants to rate the …


A Semantics Comparison Workbench For A Concurrent, Asynchronous, Distributed Programming Language, Claudio Corrodi, Alexander Heußner, Christopher M. Poskitt Nov 2017

A Semantics Comparison Workbench For A Concurrent, Asynchronous, Distributed Programming Language, Claudio Corrodi, Alexander Heußner, Christopher M. Poskitt

Research Collection School Of Computing and Information Systems

A number of high-level languages and libraries have been proposed that offer novel and simple to use abstractions for concurrent, asynchronous, and distributed programming. The execution models that realise them, however, often change over time---whether to improve performance, or to extend them to new language features---potentially affecting behavioural and safety properties of existing programs. This is exemplified by SCOOP, a message-passing approach to concurrent object-oriented programming that has seen multiple changes proposed and implemented, with demonstrable consequences for an idiomatic usage of its core abstraction. We propose a semantics comparison workbench for SCOOP with fully and semi-automatic tools for analysing …


The Impact Of Coverage On Bug Density In A Large Industrial Software Project, Thomas Bach, Artur Andrzejak, Ralf Pannemans, David Lo Nov 2017

The Impact Of Coverage On Bug Density In A Large Industrial Software Project, Thomas Bach, Artur Andrzejak, Ralf Pannemans, David Lo

Research Collection School Of Computing and Information Systems

Measuring quality of test suites is one of the major challenges of software testing. Code coverage identifies tested and untested parts of code and is frequently used to approximate test suite quality. Multiple previous studies have investigated the relationship between coverage ratio and test suite quality, without a clear consent in the results. In this work we study whether covered code contains a smaller number of future bugs than uncovered code (assuming appropriate scaling). If this correlation holds and bug density is lower in covered code, coverage can be regarded as a meaningful metric to estimate the adequacy of testing. …


On Locating Malicious Code In Piggybacked Android Apps, Li Li, Daoyuan Li, Tegawende F. Bissyande, Jacques Klein, Haipeng Cai, David Lo, Yves Le Traon Nov 2017

On Locating Malicious Code In Piggybacked Android Apps, Li Li, Daoyuan Li, Tegawende F. Bissyande, Jacques Klein, Haipeng Cai, David Lo, Yves Le Traon

Research Collection School Of Computing and 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 of piggybacked apps, we are able to automatically …


Fastshrinkage: Perceptually-Aware Retargeting Toward Mobile Platforms, Zhenguang Liu, Zepeng Wang, Luming Zhang, Rajiv Ratn Shah, Yingjie Xia, Yi Yang, Wei Liu Oct 2017

Fastshrinkage: Perceptually-Aware Retargeting Toward Mobile Platforms, Zhenguang Liu, Zepeng Wang, Luming Zhang, Rajiv Ratn Shah, Yingjie Xia, Yi Yang, Wei Liu

Research Collection School Of Computing and Information Systems

Retargeting aims at adapting an original high-resolution photo/video to a low-resolution screen with an arbitrary aspect ratio. Conventional approaches are generally based on desktop PCs, since the computation might be intolerable for mobile platforms (especially when retargeting videos). Besides, only low-level visual features are exploited typically, whereas human visual perception is not well encoded. In this paper, we propose a novel retargeting framework which fast shrinks photo/video by leveraging human gaze behavior. Specifically, we first derive a geometry-preserved graph ranking algorithm, which efficiently selects a few salient object patches to mimic human gaze shifting path (GSP) when viewing each scenery. …


Joanaudit: A Tool For Auditing Common Injection Vulnerabilities, Julian Thome, Lwin Khin Shar, Domenico Bianculli, Lionel Briand Sep 2017

Joanaudit: A Tool For Auditing Common Injection Vulnerabilities, Julian Thome, Lwin Khin Shar, Domenico Bianculli, Lionel Briand

Research Collection School Of Computing and Information Systems

JoanAudit is a static analysis tool to assist security auditors in auditing Web applications and Web services for common injection vulnerabilities during software development. It automatically identifies parts of the program code that are relevant for security and generates an HTML report to guide security auditors audit the source code in a scalable way. JoanAudit is configured with various security-sensitive input sources and sinks relevant to injection vulnerabilities and standard sanitization procedures that prevent these vulnerabilities. It can also automatically fix some cases of vulnerabilities in source code — cases where inputs are directly used in sinks without any form …


Automated Android Application Permission Recommendation, Lingfeng Bao, David Lo, Xin Xia, Shanping Li Sep 2017

Automated Android Application Permission Recommendation, Lingfeng Bao, David Lo, Xin Xia, Shanping Li

Research Collection School Of Computing and Information Systems

The number of Android applications has increased rapidly as Android is becoming the dominant platform in the smartphone market. Security and privacy are key factors for an Android application to be successful. Android provides a permission mechanism to ensure security and privacy. This permission mechanism requires that developers declare the sensitive resources required by their applications. On installation or during runtime, users are required to agree with the permission request. However, in practice, there are numerous popular permission misuses, despite Android introducing official documents stating how to use these permissions properly. Some data mining techniques (e.g., association rule mining) have …


Evopass: Evolvable Graphical Password Against Shoulder-Surfing Attacks, Xingjie Yu, Zhan Wang, Yingjiu Li, Liang Li, Wen Tao Zhu, Li Song Sep 2017

Evopass: Evolvable Graphical Password Against Shoulder-Surfing Attacks, Xingjie Yu, Zhan Wang, Yingjiu Li, Liang Li, Wen Tao Zhu, Li Song

Research Collection School Of Computing and Information Systems

The passwords for authenticating users are susceptible to shoulder-surfing attacks in which attackers learn users' passwords through direct observations without any technical support. A straightforward solution to defend against such attacks is to change passwords periodically or even constantly, making the previously observed passwords useless. However, this may lead to a situation in which users run out of strong passwords they can remember, or they are forced to choose passwords that are weak, correlated, or difficult to memorize. To achieve both security and usability in user authentication, we propose EvoPass, the first evolvable graphical password authentication system. EvoPass transforms a …


Code Coverage And Postrelease Defects: A Large-Scale Study On Open Source Projects, Pavneet Singh Kochhar, David Lo, Julia Lawall, Nachiappan Nagappan Sep 2017

Code Coverage And Postrelease Defects: A Large-Scale Study On Open Source Projects, Pavneet Singh Kochhar, David Lo, Julia Lawall, Nachiappan Nagappan

Research Collection School Of Computing and Information Systems

Testing is a pivotal activity in ensuring the quality of software. Code coverage is a common metric used as a yardstick to measure the efficacy and adequacy of testing. However, does higher coverage actually lead to a decline in postrelease bugs? Do files that have higher test coverage actually have fewer bug reports? The direct relationship between code coverage and actual bug reports has not yet been analyzed via a comprehensive empirical study on real bugs. Past studies only involve a few software systems or artificially injected bugs (mutants). In this empirical study, we examine these questions in the context …


Loopster: Static Loop Termination Analysis, Xiaofei Xie, Bihuan Chen, Liang Zou, Shang-Wei Lin, Yang Liu, Xiaohong Li Sep 2017

Loopster: Static Loop Termination Analysis, Xiaofei Xie, Bihuan Chen, Liang Zou, Shang-Wei Lin, Yang Liu, Xiaohong Li

Research Collection School Of Computing and Information Systems

Loop termination is an important problem for proving the correctness of a system and ensuring that the system always reacts. Existing loop termination analysis techniques mainly depend on the synthesis of ranking functions, which is often expensive. In this paper, we present a novel approach, named Loopster, which performs an efficient static analysis to decide the termination for loops based on path termination analysis and path dependency reasoning. Loopster adopts a divide-and-conquer approach: (1) we extract individual paths from a target multi-path loop and analyze the termination of each path, (2) analyze the dependencies between each two paths, and then …


Can Syntax Help? Improving An Lstm-Based Sentence Compression Model For New Domains, Liangguo Wang, Jing Jiang, Hai Leong Chieu, Chen Hui Ong, Dandan Song, Lejian Liao Aug 2017

Can Syntax Help? Improving An Lstm-Based Sentence Compression Model For New Domains, Liangguo Wang, Jing Jiang, Hai Leong Chieu, Chen Hui Ong, Dandan Song, Lejian Liao

Research Collection School Of Computing and Information Systems

In this paper, we study how to improve thedomain adaptability of a deletion-basedLong Short-Term Memory (LSTM) neuralnetwork model for sentence compression.We hypothesize that syntactic informationhelps in making such modelsmore robust across domains. We proposetwo major changes to the model: usingexplicit syntactic features and introducingsyntactic constraints through Integer LinearProgramming (ILP). Our evaluationshows that the proposed model works betterthan the original model as well as a traditionalnon-neural-network-based modelin a cross-domain setting.


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


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 …


Cataloging Github Repositories, Abhishek Sharma, Ferdian Thung, Pavneet Singh Kochhar, Agus Sulistya, David Lo Jun 2017

Cataloging Github Repositories, Abhishek Sharma, Ferdian Thung, Pavneet Singh Kochhar, Agus Sulistya, David Lo

Research Collection School Of Computing and Information Systems

GitHub is one of the largest and most popular repository hosting service today, having about 14 million users and more than 54 million repositories as of March 2017. This makes it an excellent platform to find projects that developers are interested in exploring. GitHub showcases its most popular projects by cataloging them manually into categories such as DevOps tools, web application frameworks, and game engines. We propose that such cataloging should not be limited only to popular projects. We explore the possibility of developing such cataloging system by automatically extracting functionality descriptive text segments from readme files of GitHub repositories. …


Empirical Study Of Usage And Performance Of Java Collections, Diego Costa, Artur Andrzejak, Janos Seboek, David Lo Apr 2017

Empirical Study Of Usage And Performance Of Java Collections, Diego Costa, Artur Andrzejak, Janos Seboek, David Lo

Research Collection School Of Computing and Information Systems

Collection data structures have a major impact on the performance of applications, especially in languages such as Java, C#, or C++. This requires a developer to select an appropriate collection from a large set of possibilities, including different abstractions (e.g. list, map, set, queue), and multiple implementations. In Java, the default implementation of collections is provided by the standard Java Collection Framework (JCF). However, there exist a large variety of less known third-party collection libraries which can provide substantial performance benefits with minimal code changes.