View article: Formal Verification of Smart Contracts
Formal Verification of Smart Contracts Open
International audience
View article
Android HIV: A Study of Repackaging Malware for Evading Machine-Learning\n Detection Open
Machine learning based solutions have been successfully employed for\nautomatic detection of malware on Android. However, machine learning models\nlack robustness to adversarial examples, which are crafted by adding carefully\nchosen pertu…
View article
Microsoft Malware Classification Challenge Open
The Microsoft Malware Classification Challenge was announced in 2015 along with a publication of a huge dataset of nearly 0.5 terabytes, consisting of disassembly and bytecode of more than 20K malware samples. Apart from serving in the Kag…
View article
PIT: a practical mutation testing tool for Java (demo) Open
International Symposium on Software Testing and Analysis (ISSTA), Saarbrücken, Germany, 18-20 July 2016
View article
teEther: Gnawing at Ethereum to Automatically Exploit Smart Contracts Open
Cryptocurrencies like Bitcoin not only provide a decentralized currency, but also provide a programmatic way to process transactions. Ethereum, the second largest cryptocurrency next to Bitcoin, is the first to provide a Turing-complete la…
View article
Practical program repair via bytecode mutation Open
Automated Program Repair (APR) is one of the most recent advances in automated debugging, and can directly fix buggy programs with minimal human intervention. Although various advanced APR techniques (including search-based or semantic-bas…
View article
CiD: automating the detection of API-related compatibility issues in Android apps Open
peer reviewed
View article
Deep learning similarities from different representations of source code Open
Assessing the similarity between code components plays a pivotal role in a number of Software Engineering (SE) tasks, such as clone detection, impact analysis, refactoring, etc. Code similarity is generally measured by relying on manually …
View article
DefectChecker: Automated Smart Contract Defect Detection by Analyzing EVM Bytecode Open
Smart contracts are Turing-complete programs running on the blockchain. They\nare immutable and cannot be modified, even when bugs are detected. Therefore,\nensuring smart contracts are bug-free and well-designed before deploying them\nto …
View article
Vandal: A Scalable Security Analysis Framework for Smart Contracts Open
The rise of modern blockchains has facilitated the emergence of smart contracts: autonomous programs that live and run on the blockchain. Smart contracts have seen a rapid climb to prominence, with applications predicted in law, business, …
View article
A comparison of code similarity analysers Open
Copying and pasting of source code is a common activity in software engineering. Often, the code is not copied as it is and it may be modified for various purposes; e.g. refactoring, bug fixing, or even software plagiarism. These code modi…
View article
A formal verification tool for Ethereum VM bytecode Open
In this paper, we present a formal verification tool for the Ethereum Virtual Machine (EVM) bytecode. To precisely reason about all possible behaviors of the EVM bytecode, we adopted KEVM, a complete formal semantics of the EVM, and instan…
View article
Going Native: Using a Large-Scale Analysis of Android Apps to Create a Practical Native-Code Sandboxing Policy Open
Current static analysis techniques for Android applications operate at the Java level-that is, they analyze either the Java source code or the Dalvik bytecode.However, Android allows developers to write code in C or C++ that is cross-compi…
View article
GasChecker: Scalable Analysis for Discovering Gas-Inefficient Smart Contracts Open
BibTeX citation:@article{chen2020gaschecker, title={GasChecker: Scalable Analysis for Discovering Gas-Inefficient Smart Contracts}, author={Chen, Ting and Feng, Youzheng and Li, Zihao and Zhou, Hao and Luo, Xiapu and Li, Xiaoqi and Xiao, X…
View article
Foundations and Tools for the Static Analysis of Ethereum Smart Contracts Open
The recent growth of the blockchain technology market puts its main cryptocurrencies in the spotlight. Among them, Ethereum stands out due to its virtual machine (EVM) supporting smart contracts, i.e., distributed programs that control the…
View article
Semantic Understanding of Smart Contracts: Executable Operational Semantics of Solidity Open
Bitcoin has been a popular research topic recently. Ethereum (ETH), a second generation of cryptocurrency, extends Bitcoin's design by offering a Turing-complete programming language called Solidity to develop smart contracts. Smart contra…
View article
TinyDroid: A Lightweight and Efficient Model for Android Malware Detection and Classification Open
With the popularity of Android applications, Android malware has an exponential growth trend. In order to detect Android malware effectively, this paper proposes a novel lightweight static detection model, TinyDroid , using instruction sim…
View article
JBMC: A Bounded Model Checking Tool for Verifying Java Bytecode Open
We present a bounded model checking tool for verifying Java bytecode, which is built on top of the CPROVER framework, named Java Bounded Model Checker (JBMC). JBMC processes Java bytecode together with a model of the standard Java librarie…
View article
CT-Wasm: Type-Driven Secure Cryptography for the Web Ecosystem Open
A significant amount of both client and server-side cryptography is implemented in JavaScript. Despite widespread concerns about its security, no other language has been able to match the convenience that comes from its ubiquitous support …
View article
Scilla: a Smart Contract Intermediate-Level LAnguage Open
This paper outlines key design principles of Scilla---an intermediate-level language for verified smart contracts. Scilla provides a clean separation between the communication aspect of smart contracts on a blockchain, allowing for the ric…
View article
Static Malware Detection Using Stacked BiLSTM and GPT-2 Open
In recent years, cyber threats and malicious software attacks have been escalated on various platforms. Therefore, it has become essential to develop automated machine learning methods for defending against malware. In the present study, w…
View article
Adaptive Execution of Compiled Queries Open
Compiling queries to machine code is arguably the most efficient way for executing queries. One often overlooked problem with compilation, however, is the time it takes to generate machine code. Even with fast compilation frameworks like L…
View article
Automated Code-Smell Detection in Microservices Through Static Analysis: A Case Study Open
Microservice Architecture (MSA) is becoming the predominant direction of new cloud-based applications. There are many advantages to using microservices, but also downsides to using a more complex architecture than a typical monolithic ente…
View article
Android Malware Detection Using TCN with Bytecode Image Open
With the rapid increase in the number of Android malware, the image-based analysis method has become an effective way to defend against symmetric encryption and confusing malware. At present, the existing Android malware bytecode image det…
View article
Securing the Ethereum from Smart Ponzi Schemes: Identification Using Static Features Open
Malware detection approaches have been extensively studied for traditional software systems. However, the development of blockchain technology has promoted the birth of a new type of software system–decentralized applications. Composed of …
View article
Not So Fast: Analyzing the Performance of WebAssembly vs. Native Code Open
All major web browsers now support WebAssembly, a low-level bytecode intended to serve as a compilation target for code written in languages like C and C++. A key goal of WebAssembly is performance parity with native code; previous work re…
View article
Research on Malicious JavaScript Detection Technology Based on LSTM Open
The attacker injects malicious JavaScript into web pages to achieve the purpose of implanting Trojan horses, spreading viruses, phishing, and obtaining secret information. By analyzing the existing researches on malicious JavaScript detect…
View article
Automated forensic analysis of mobile applications on Android devices Open
It is not uncommon that mobile phones are involved in criminal activities, e.g., the surreptitious collection of credit card information. Forensic analysis of mobile applications plays a crucial part in order to gather evidences against cr…
View article
Image-Based Scam Detection Method Using an Attention Capsule Network Open
In recent years, the rapid development of blockchain technology has attracted much attention from people around the world. Scammers take advantage of the pseudo-anonymity of blockchain to implement financial fraud. The Ponzi scheme, one of…
View article
A Comparison of Android Reverse Engineering Tools via Program Behaviors Validation Based on Intermediate Languages Transformation Open
In Android, performing a program analysis directly on an executable source is usually inconvenient. Therefore, a reverse engineering technique has been adapted to enable a user to perform a program analysis on a textual form of the executa…