Alireza Khalilian
Current Organizations / Institutes
The organizations/institutes from the scholar's latest article
Previous Organizations / Institutes
The organizations / institutes from the scholar's other articles in the past ten years
Research Subjects
Alireza Khalilian has a total of 32 co-authors. Here are the top co-authors by number of shared publications:
- Saeed Parsa
School of Computer Engineering, Iran University of Science and Technology, Tehran, Iran
5 shared publications Mojtaba Vahidi-Asl
4 shared publications- Bahman Zamani
MDSE Research Group, Department of Software Engineering, University of Isfahan, Isfahan, Iran
3 shared publications Hassan Haghighi
3 shared publications- Mohammad Abdollahi Azgomi
School of Computer Engineering, Iran University of Science and Technology, Tehran, Iran
3 shared publications Ahmad Baraani-Dastjerdi
2 shared publications
Latest Publications
- 20 January 2022
- Published by Springer Nature in Applied Intelligence
- Vol. 52 (10) , 11068-11088
ConsilientSFL: using preferential voting system to generate combinatorial ranking metrics for spectrum-based fault localization
- 20 January 2022
- Published by Springer Nature in Applied Intelligence
- Vol. 52 (10) , 11068-11088
ConsilientSFL: using preferential voting system to generate combinatorial ranking metrics for spectrum-based fault localization
- 1 June 2020
- Published by Elsevier in Expert Systems with Applications
- Vol. 147
SLDeep: Statement-level software defect prediction using deep-learning model on static code features
- 1 June 2020
- Published by Elsevier in Expert Systems with Applications
- Vol. 147
SLDeep: Statement-level software defect prediction using deep-learning model on static code features
- 1 August 2019
- Published by Elsevier in Journal of Computer Languages
- Vol. 53, 38-52
Code4Bench: A multidimensional benchmark of Codeforces data for different program analysis techniques
- 1 August 2019
- Published by Elsevier in Journal of Computer Languages
- Vol. 53, 38-52
Code4Bench: A multidimensional benchmark of Codeforces data for different program analysis techniques
- 1 December 2018
- Published by Elsevier in Expert Systems with Applications
- Vol. 112, 15-33
G3MD: Mining frequent opcode sub-graphs for metamorphic malware detection of existing families
- 1 December 2018
- Published by Elsevier in Expert Systems with Applications
- Vol. 112, 15-33
G3MD: Mining frequent opcode sub-graphs for metamorphic malware detection of existing families
- 13 November 2018
- Published by Taylor & Francis in Journal of Experimental & Theoretical Artificial Intelligence
- Vol. 31 (2) , 267-289
Experiments with automatic software piracy detection utilising machine-learning classifiers for micro-signatures
Software piracy has been known as unauthorised reconstruction or illegal redistribution of a licenced software. Detecting pirated from base software is a major concern since pirated software can lead to significant financial losses as well as serious security vulnerabilities. To detect software piracy, we have recently proposed Metamorphic Analysis for Automatic Software Piracy Detection (MetaSPD) with a proof-of-concept evaluation. The core idea of MetaSPD was inspired from metamorphic malware detection due to its similarity of software piracy detection. MetaSPD works primarily based on mining the opcode graph of the base software to extract micro-signatures. Then, it leverages a classifier model to decide whether a given suspicious file is a pirated version of the base software. This paper extends our prior work in several respects. First, we present a retrospective appraisal of the main literature aiming at laying bare the status quo of software piracy detection and arguments on the current problems of the field to motivate our work. We then elaborate on MetaSPD itself and the constituent components. We provide two extensive experiments to evident the effectiveness of MetaSPD. The experiments have been carried out on two different datasets. Each dataset comprises 1300 morphed variants of the respective base software that act as pirated versions of that software. We conducted our experiments using three different classifiers. The paper is also enriched with a detailed discussion of the different properties and concerns of MetaSPD. The results corroborate that an attacker, who is using a pirated version of the given software, can hardly hide illegal usage of the software even by applying superabundant obfuscations to the code.
- 13 November 2018
- Published by Taylor & Francis in Journal of Experimental & Theoretical Artificial Intelligence
- Vol. 31 (2) , 267-289
Experiments with automatic software piracy detection utilising machine-learning classifiers for micro-signatures
Software piracy has been known as unauthorised reconstruction or illegal redistribution of a licenced software. Detecting pirated from base software is a major concern since pirated software can lead to significant financial losses as well as serious security vulnerabilities. To detect software piracy, we have recently proposed Metamorphic Analysis for Automatic Software Piracy Detection (MetaSPD) with a proof-of-concept evaluation. The core idea of MetaSPD was inspired from metamorphic malware detection due to its similarity of software piracy detection. MetaSPD works primarily based on mining the opcode graph of the base software to extract micro-signatures. Then, it leverages a classifier model to decide whether a given suspicious file is a pirated version of the base software. This paper extends our prior work in several respects. First, we present a retrospective appraisal of the main literature aiming at laying bare the status quo of software piracy detection and arguments on the current problems of the field to motivate our work. We then elaborate on MetaSPD itself and the constituent components. We provide two extensive experiments to evident the effectiveness of MetaSPD. The experiments have been carried out on two different datasets. Each dataset comprises 1300 morphed variants of the respective base software that act as pirated versions of that software. We conducted our experiments using three different classifiers. The paper is also enriched with a detailed discussion of the different properties and concerns of MetaSPD. The results corroborate that an attacker, who is using a pirated version of the given software, can hardly hide illegal usage of the software even by applying superabundant obfuscations to the code.
- 2 January 2017
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 123-128
MetaSPD: Metamorphic analysis for automatic Software Piracy Detection
This paper presents a novel approach to address the problem of automatic detection of the software that is pirated. Software piracy, which is the unauthorized reconstruction and distribution of licensed and copyrighted software, imposes high economical and commercial losses annually and is also considered as a drastic threat to the security of software systems. To overcome these issues, we mine the opcode graphs of the software to extract the frequent opcode sub-graphs of the software. In fact, these sub-graphs would act as micro-signatures of the original software and can be used to reason about the pirated versions of the software. Pirated software detection shares many characteristics of metamorphic malware detection where the structure of the code is morphed while the main functionality of the malware is preserved. We evaluated our approach using the same data and experimental setup as a state-of-the-art approach. In our experiments, the proposed approach outperformed the mentioned approach in terms of robustness and effectiveness.
- 2 January 2017
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 123-128
MetaSPD: Metamorphic analysis for automatic Software Piracy Detection
This paper presents a novel approach to address the problem of automatic detection of the software that is pirated. Software piracy, which is the unauthorized reconstruction and distribution of licensed and copyrighted software, imposes high economical and commercial losses annually and is also considered as a drastic threat to the security of software systems. To overcome these issues, we mine the opcode graphs of the software to extract the frequent opcode sub-graphs of the software. In fact, these sub-graphs would act as micro-signatures of the original software and can be used to reason about the pirated versions of the software. Pirated software detection shares many characteristics of metamorphic malware detection where the structure of the code is morphed while the main functionality of the malware is preserved. We evaluated our approach using the same data and experimental setup as a state-of-the-art approach. In our experiments, the proposed approach outperformed the mentioned approach in terms of robustness and effectiveness.
- 10 October 2016
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 61-66
On the evaluation of automatic program repair techniques and tools
Since 2009 several scalable and promising techniques to automatic program repair have been proposed with each technique often accompanied with a prototype tool. These techniques work in different levels of code with various types of defects and designed for different programming languages. Now the subfield of automatic program repair is mature enough to merit evaluate existing techniques and tools. This evaluation helps us identify the strengths and weaknesses of current research and provides future direction. To this end, in this paper, we present a family of criteria grouped into seven sets for evaluating automatic program repair techniques and tools. Moreover, a five-level maturity model is proposed for the mentioned subfield. To the best of our knowledge, no research yet evaluates automatic program repair techniques and tools in a general, broad, and comprehensive manner and this is the first attempt towards this goal. We employed our criteria to three existing mutation-based techniques and their corresponding tools and reported the results of preliminary evaluation. The proof-of-concept results demonstrate different aspects, capabilities and shortcomings of each technique and provide evidence to the applicability and utility of our criteria.
- 10 October 2016
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 61-66
On the evaluation of automatic program repair techniques and tools
Since 2009 several scalable and promising techniques to automatic program repair have been proposed with each technique often accompanied with a prototype tool. These techniques work in different levels of code with various types of defects and designed for different programming languages. Now the subfield of automatic program repair is mature enough to merit evaluate existing techniques and tools. This evaluation helps us identify the strengths and weaknesses of current research and provides future direction. To this end, in this paper, we present a family of criteria grouped into seven sets for evaluating automatic program repair techniques and tools. Moreover, a five-level maturity model is proposed for the mentioned subfield. To the best of our knowledge, no research yet evaluates automatic program repair techniques and tools in a general, broad, and comprehensive manner and this is the first attempt towards this goal. We employed our criteria to three existing mutation-based techniques and their corresponding tools and reported the results of preliminary evaluation. The proof-of-concept results demonstrate different aspects, capabilities and shortcomings of each technique and provide evidence to the applicability and utility of our criteria.
- 2 July 2016
- Published by Springer Nature in Applied Intelligence
- Vol. 45 (4) , 1066-1088
Automated program repair using genetic programming and model checking
- 2 July 2016
- Published by Springer Nature in Applied Intelligence
- Vol. 45 (4) , 1066-1088
Automated program repair using genetic programming and model checking
- 1 October 2014
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 370-375
Programming language criteria for model transformation evaluation
Model Driven Engineering (MDE) has been considered as an effective discipline in the development of software systems. One integral concept of this paradigm is model-to-model transformation which can be used in different levels of abstraction. The prominent role of Model Transformations leads to use them to refine, refactor, migrate, improve, and analyze models. Currently, there exist numerous languages for model transformation. However, a major problem is the lack of an effective and comprehensive technique for assessment and comparison of model transformation approaches. To address this problem, in this paper, a new method has been developed based on the programming language evaluation criteria. Then, the proposed method has been applied on five widely-used model transformation languages. Analyzing the results demonstrate that no language is absolutely superior to the others; but rather we are enabled to choose an appropriate language for a certain application.
- 1 October 2014
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 370-375
Programming language criteria for model transformation evaluation
Model Driven Engineering (MDE) has been considered as an effective discipline in the development of software systems. One integral concept of this paradigm is model-to-model transformation which can be used in different levels of abstraction. The prominent role of Model Transformations leads to use them to refine, refactor, migrate, improve, and analyze models. Currently, there exist numerous languages for model transformation. However, a major problem is the lack of an effective and comprehensive technique for assessment and comparison of model transformation approaches. To address this problem, in this paper, a new method has been developed based on the programming language evaluation criteria. Then, the proposed method has been applied on five widely-used model transformation languages. Analyzing the results demonstrate that no language is absolutely superior to the others; but rather we are enabled to choose an appropriate language for a certain application.