Tools and Data
Giving you greater access to tools and data
Tap into a variety of tools and datasets via the HumaniSE github repository, our current and past projects and the links below.

Code2Que
HumaniSE Lab PhD student, Zhipeng Gao has designed a tool called 'Code2Que' for developers seeking answers to their program-related questions in Stack Overflow.

SMARTEMBED
Zhipeng Gao has developed a web service tool called 'SMARTEMBED' that finds repetitive contract code and code-related bugs in smart contracts.

BiDaML
Visual languages for supporting big data analytics.

DEFECTCHECKER
DefectChecker, created by Jiachi Chen, is a symbolic execution-based approach and tool to detect eight contract defects by analysing smart contracts bytecode on Ethereum. We verify the performance of DefectChecker by applying it to an open-source dataset.

Defects-Definition
Defects-Definition defines 20 kinds of contract defects. We manually identified our defined contract defects in 587 real world smart contract and publicly released our dataset.
Project by Jiachi Chen

Latexify Math
MathLatexEdit implements a deep learning-based approach including two encoder-decoder models fort textual and visual LaTeX edit recommendation.

Selfdestruct
Selfdestruct conducts an empirical study of Selfdestruct function. By analysing the difference between the predecessor contracts and their successor contracts, we found five reasons that led to the death of the contracts.
Project by Jiachi Chen

EMSE-Maintenance
We conducted a systematic literature review to analyze 131 smart contract related research papers published from 2014 to 2020. We also performed an online survey of smart contract developers on Github to validate our findings and received 165 useful responses.
Project by Jiachi Chen

APIMatchmaker
Android developers are often faced with the need to learn how to use different APIs suitable for their projects. APIMatchmaker has been created by learning directly from similar real-world Android apps.
Project by Yanjie Zhao

Icon2Code
A prototype tool, Icon2Code, targeted to help app developers more quickly implement the callback functions of complex Android GUI components by recommending code implementations learned from similar GUI components from other apps.
Project by Yanjie Zhao

Detecting values-violating defects in source code (mobile apps)
We are working on building a new taxonomy for mobile app human values, characterising a mobile app model with human values for its target end-users, techniques for detecting values-violating defects in the target mobile apps, and providing recommendations and fixes for these values-violating defects.

How developers discuss human centric issues in GitHub
A replication package including a manually analysed dataset of a random sample of 1,200 app reviews and 1,200 issue comments from 12 diverse projects that exist on both Google App Store and GitHub, the results of our machine learning and deep learning approaches, our survey questions and raw responses from app developers to the survey.

Artifacts for Characterizing Human Aspects in Reviews of COVID-19
To better understand how human aspects can impact the use of software, this work presents an empirical study focusing on app reviews of COVID-19 contact tracing apps.

toolKitAdaptiveUI
A framework using Adaptive Widgets using Flutter. Using this framework, a site will adapt it’s UI based on users preferences.

Does Domain Change the Opinion of Individuals on Human Values?
The elicitation of end-users' human values - such as freedom, honesty, transparency, etc. - is important in the development of software systems. This is the replication package for the ESEM2021 paper.

Extending iStar for modelling human aspects
Current software tools lack in-depth elicitation and understanding of these requirements during design and modelling. This can create ineffective and hard-to-use software. We propose an approach for using personas and contexts to model human-centric aspects of the software in goal models.

AndroZooOpen
AndroZooOpen is a growing collection of Open-Source Android Applications collected from several sources, including Github, Gitlab and Bitbucket. It currently contains 77,406 different projects. We provide this dataset to contribute to ongoing research efforts, as well as to enable new potential research topics on Android Apps.

DroidRA
DroidRA reduces the resolution of reflective calls to a composite constant propagation problem and then leverages the COAL solver to infer the values of reflection targets. After that, it automatically instruments the app to replace reflective calls with their corresponding Java calls in a traditional paradigm.

SEEKER
We designed and implemented a novel prototype tool, Seeker, that extends the famous FlowDroid tool to detect sensor-based data leaks in Android apps. Seeker conducts sensor-focused static taint analyses directly on the Android apps' bytecode and reports not only sensor-triggered privacy leaks but also the sensor types involved in the leaks.