Anomalies Detection in Software by Conceptual Learning From Normal Executions

<p>Could we detect anomalies during the run-time of a program by learning from the analysis of its previous traces for normally completed executions? In this paper we create a featured data set from program traces at run time, either during its regular life, or during its testing phase. This d...

Full description

Saved in:
Bibliographic Details
Main Author: Ahmad Qadeib Alban (16855206) (author)
Other Authors: Fahad Islam (16870014) (author), Qutaibah M. Malluhi (14151912) (author), Ali Jaoua (16870017) (author)
Published: 2020
Subjects:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1864513561633488896
author Ahmad Qadeib Alban (16855206)
author2 Fahad Islam (16870014)
Qutaibah M. Malluhi (14151912)
Ali Jaoua (16870017)
author2_role author
author
author
author_facet Ahmad Qadeib Alban (16855206)
Fahad Islam (16870014)
Qutaibah M. Malluhi (14151912)
Ali Jaoua (16870017)
author_role author
dc.creator.none.fl_str_mv Ahmad Qadeib Alban (16855206)
Fahad Islam (16870014)
Qutaibah M. Malluhi (14151912)
Ali Jaoua (16870017)
dc.date.none.fl_str_mv 2020-09-29T00:00:00Z
dc.identifier.none.fl_str_mv 10.1109/access.2020.3027508
dc.relation.none.fl_str_mv https://figshare.com/articles/journal_contribution/Anomalies_Detection_in_Software_by_Conceptual_Learning_From_Normal_Executions/24016023
dc.rights.none.fl_str_mv CC BY 4.0
info:eu-repo/semantics/openAccess
dc.subject.none.fl_str_mv Information and computing sciences
Data management and data science
Machine learning
Software engineering
Anomaly detection
Software
Machine learning
Formal concept analysis
Feature extraction
Functional dependencies
Formal concept analysis (FCA)
Data reduction
Pattern generation
Functional dependencies preservation
dc.title.none.fl_str_mv Anomalies Detection in Software by Conceptual Learning From Normal Executions
dc.type.none.fl_str_mv Text
Journal contribution
info:eu-repo/semantics/publishedVersion
text
contribution to journal
description <p>Could we detect anomalies during the run-time of a program by learning from the analysis of its previous traces for normally completed executions? In this paper we create a featured data set from program traces at run time, either during its regular life, or during its testing phase. This data set represents execution traces of relevant variables including inputs, outputs, intermediate variables, and invariant checks. During a learning mining step, we start from exhaustive random training input sets and map program traces to a minimal set of conceptual patterns. We employ formal concept analysis to do this in an incremental way, and without losing dependencies between data set features. This set of patterns becomes a reference for checking the normality of future program executions as it captures invariant functional dependencies between the variables that need to be preserved during execution. During the learning step, we consider enough input classes corresponding to the different patterns by using random input selection until reaching stability of the set of patterns (i.e. the set is almost no longer changing, and only negligible new patterns are not reducible to it). Experimental results show that the generated patterns are significant in representing normal program executions. They also enable the detection of different executable code contamination at early stages. The proposed method is general and modular. If applied systematically, it enhances software resilience against abnormal and unpredictable events.</p><h2>Other Information</h2><p>Published in: IEEE Access<br>License: <a href="https://creativecommons.org/licenses/by/4.0/legalcode" target="_blank">https://creativecommons.org/licenses/by/4.0/</a><br>See article on publisher's website: <a href="https://dx.doi.org/10.1109/access.2020.3027508" target="_blank">https://dx.doi.org/10.1109/access.2020.3027508</a></p>
eu_rights_str_mv openAccess
id Manara2_d9df5203c56eabac4941f4d8159adf3f
identifier_str_mv 10.1109/access.2020.3027508
network_acronym_str Manara2
network_name_str Manara2
oai_identifier_str oai:figshare.com:article/24016023
publishDate 2020
repository.mail.fl_str_mv
repository.name.fl_str_mv
repository_id_str
rights_invalid_str_mv CC BY 4.0
spelling Anomalies Detection in Software by Conceptual Learning From Normal ExecutionsAhmad Qadeib Alban (16855206)Fahad Islam (16870014)Qutaibah M. Malluhi (14151912)Ali Jaoua (16870017)Information and computing sciencesData management and data scienceMachine learningSoftware engineeringAnomaly detectionSoftwareMachine learningFormal concept analysisFeature extractionFunctional dependenciesFormal concept analysis (FCA)Data reductionPattern generationFunctional dependencies preservation<p>Could we detect anomalies during the run-time of a program by learning from the analysis of its previous traces for normally completed executions? In this paper we create a featured data set from program traces at run time, either during its regular life, or during its testing phase. This data set represents execution traces of relevant variables including inputs, outputs, intermediate variables, and invariant checks. During a learning mining step, we start from exhaustive random training input sets and map program traces to a minimal set of conceptual patterns. We employ formal concept analysis to do this in an incremental way, and without losing dependencies between data set features. This set of patterns becomes a reference for checking the normality of future program executions as it captures invariant functional dependencies between the variables that need to be preserved during execution. During the learning step, we consider enough input classes corresponding to the different patterns by using random input selection until reaching stability of the set of patterns (i.e. the set is almost no longer changing, and only negligible new patterns are not reducible to it). Experimental results show that the generated patterns are significant in representing normal program executions. They also enable the detection of different executable code contamination at early stages. The proposed method is general and modular. If applied systematically, it enhances software resilience against abnormal and unpredictable events.</p><h2>Other Information</h2><p>Published in: IEEE Access<br>License: <a href="https://creativecommons.org/licenses/by/4.0/legalcode" target="_blank">https://creativecommons.org/licenses/by/4.0/</a><br>See article on publisher's website: <a href="https://dx.doi.org/10.1109/access.2020.3027508" target="_blank">https://dx.doi.org/10.1109/access.2020.3027508</a></p>2020-09-29T00:00:00ZTextJournal contributioninfo:eu-repo/semantics/publishedVersiontextcontribution to journal10.1109/access.2020.3027508https://figshare.com/articles/journal_contribution/Anomalies_Detection_in_Software_by_Conceptual_Learning_From_Normal_Executions/24016023CC BY 4.0info:eu-repo/semantics/openAccessoai:figshare.com:article/240160232020-09-29T00:00:00Z
spellingShingle Anomalies Detection in Software by Conceptual Learning From Normal Executions
Ahmad Qadeib Alban (16855206)
Information and computing sciences
Data management and data science
Machine learning
Software engineering
Anomaly detection
Software
Machine learning
Formal concept analysis
Feature extraction
Functional dependencies
Formal concept analysis (FCA)
Data reduction
Pattern generation
Functional dependencies preservation
status_str publishedVersion
title Anomalies Detection in Software by Conceptual Learning From Normal Executions
title_full Anomalies Detection in Software by Conceptual Learning From Normal Executions
title_fullStr Anomalies Detection in Software by Conceptual Learning From Normal Executions
title_full_unstemmed Anomalies Detection in Software by Conceptual Learning From Normal Executions
title_short Anomalies Detection in Software by Conceptual Learning From Normal Executions
title_sort Anomalies Detection in Software by Conceptual Learning From Normal Executions
topic Information and computing sciences
Data management and data science
Machine learning
Software engineering
Anomaly detection
Software
Machine learning
Formal concept analysis
Feature extraction
Functional dependencies
Formal concept analysis (FCA)
Data reduction
Pattern generation
Functional dependencies preservation