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...
Saved in:
| Main Author: | |
|---|---|
| Other Authors: | , , |
| 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 |