High-Level Modelling for Typed Functional Programming
- Authors: Motara, Yusuf, M
- Date: 2021
- Language: English
- Type: text , article
- Identifier: http://hdl.handle.net/10962/429035 , vital:72555 , https://doi.org/10.1007/978-3-030-83978-9_4
- Description: There is currently no way to model the high-level structural design of a functional system. Given the strong links between functional programming and mathematics, it is hypothesised that the language of mathematics can provide insight into how a functional system might be modelled. The approach is successful and both philosophy and the language of mathematics are used to identify the necessary modelling concepts and briefly outline some modelling notation alongside a small case study.
- Full Text:
- Date Issued: 2021
A structural modeling notation for the typed functional paradigm
- Authors: Motara, Yusuf, M
- Date: 2020
- Language: English
- Type: text , article
- Identifier: http://hdl.handle.net/10962/428948 , vital:72548 , https://doi.org/10.1145/3341105.3373863
- Description: Although typed functional programming is becoming increasingly important for practical software development, it remains inaccessible from a modeling perspective. This paper develops and theoretically justifies an initial best-practices notation for the typed functional paradigm. A small case study explores how the same scenario is modeled differently in the object-oriented and typed functional paradigms, and it is argued that the notation developed is a necessary step on the path to a more comprehensive notation for modeling within the paradigm.
- Full Text:
- Date Issued: 2020
Gamification of functional programming
- Authors: Chifamba, Tavonga D , Motara, Yusuf, M
- Date: 2020
- Language: English
- Type: text , article
- Identifier: http://hdl.handle.net/10962/428996 , vital:72552 , https://ieeexplore.ieee.org/abstract/document/9334096
- Description: This paper looks at the current state of how students learn the functional programming [FP] paradigm and how it can be improved by applying gamification. Multiple related works and research published by experts in the field are analyzed and examined. In conclusion, a possible way forward with regards to functional programming gamification design is proposed.
- Full Text:
- Date Issued: 2020
Obstacles when teaching functional programming
- Authors: Motara, Yusuf, M
- Date: 2020
- Language: English
- Type: text , article
- Identifier: http://hdl.handle.net/10962/429064 , vital:72557 , https://doi.org/10.1145/3442481.3442510
- Description: This work describes a course in typed functional programming, the obstacles that are often encountered during the teaching of this course, and solutions which have been devised for those obstacles.
- Full Text:
- Date Issued: 2020
String diagrams for modelling functional programming
- Authors: Motara, Yusuf, M
- Date: 2020
- Language: English
- Type: text , article
- Identifier: http://hdl.handle.net/10962/429022 , vital:72554 , https://ieeexplore.ieee.org/abstract/document/9334072
- Description: It is currently impossible to model functional programs in the same way that UML is used to model object-oriented programs: no analogous graphical notation exists. Unlike object-oriented programs, however, functional programming is built on a solid mathematical basis and it may be possible to adapt graphical notation from the mathematical domain for such modelling. This work examines string diagrams as a way to model certain functional abstractions. A proposed notation is demonstrated in the contexts of equational reasoning and descriptive modelling, and is found to be suitable for both.
- Full Text:
- Date Issued: 2020
A functional ontology for information systems
- Authors: Motara, Yusuf, M , Van der Schyff, Karl
- Date: 2019
- Language: English
- Type: text , article
- Identifier: http://hdl.handle.net/10962/428936 , vital:72547 , https://hdl.handle.net/10520/EJC-1d75ba3e4a
- Description: The ontology of information systems — the way in which knowledge claims, and thus theories, are conceptualised and represented — is of particular importance in the information systems field, due to its reliance on relations between entities. This work proposes, demonstrates, and evaluates an alternative ontology for theory description which is arguably more powerful and more expressive than the dominant ontological model.
- Full Text:
- Date Issued: 2019
Applying distributed ledger technology to digital evidence integrity
- Authors: Weilbach, William T , Motara, Yusuf, M
- Date: 2019
- Language: English
- Type: text , article
- Identifier: http://hdl.handle.net/10962/428960 , vital:72549 , https://ieeexplore.ieee.org/abstract/document/8732798
- Description: This paper examines the way in which blockchain technology can be used to improve the verification of integrity of evidence in digital forensics. Some background into digital forensic practices and blockchain technology are discussed to provide necessary context. A particular scalable method of verifying point-in-time existence of a piece of digital evidence, using the OpenTimestamps (OTS) service, is described, and tests are carried out to independently validate the claims made by the service. The results demonstrate that the OTS service is highly reliable with a zero false positive and false negative error rate for timestamp attestations, but that it is not suitable for timesensitive timestamping due to the variance of the accuracy of timestamps induced by block confirmation times in the Bitcoin blockchain.
- Full Text:
- Date Issued: 2019
Development of an LCT-Based MOOC Taxonomy
- Authors: Motara, Yusuf, M
- Date: 2018
- Language: English
- Type: text , article
- Identifier: http://hdl.handle.net/10962/428972 , vital:72550 , https://doi.org/10.1145/3289406.3289411
- Description: Codecademy is an example of a successful and disruptive player in the online education space. This work describes the structure, content, and experience of working through a Codecademy Pro Intensive module and compares it to the offline approach in a similar domain. Existing taxonomies are insufficiently general to explain its success, and a new taxonomy based on Legitimation Code Theory is developed to compensate. This taxonomy is arguably more meaningful and more general than those presently in use.
- Full Text:
- Date Issued: 2018
SHA-1, SAT-solving, and CNF
- Authors: Motara, Yusuf, M , Irwin, Barry V W
- Date: 2017
- Language: English
- Type: text , article
- Identifier: http://hdl.handle.net/10962/428408 , vital:72509 , https://researchspace.csir.co.za/dspace/bitstream/handle/10204/9692/Motara_19661_2017.pdf?sequence=1andisAllowed=y
- Description: Finding a preimage for a SHA-1 hash is, at present, a computationally intractable problem. SAT-solvers have been useful tools for handling such problems and can often, through heuristics, generate acceptable solutions. This research examines the intersection between the SHA-1 preimage problem, the encoding of that problem for SAT-solving, and SAT-solving. The results demonstrate that SAT-solving is not yet a viable approach to take to solve the preimage problem, and also indicate that some of the intuitions about “good” problem encodings in the literature are likely to be incorrect.
- Full Text:
- Date Issued: 2017
Sha-1 and the strict avalanche criterion
- Authors: Motara, Yusuf, M , Irwin, Barry V W
- Date: 2016
- Language: English
- Type: text , article
- Identifier: http://hdl.handle.net/10962/429010 , vital:72553 , https://ieeexplore.ieee.org/abstract/document/7802926
- Description: The Strict Avalanche Criterion (SAC) is a measure of both confusion and diffusion, which are key properties of a cryptographic hash function. This work provides a working definition of the SAC, describes an experimental methodology that can be used to statistically evaluate whether a cryptographic hash meets the SAC, and uses this to investigate the degree to which compression function of the SHA-1 hash meets the SAC. The results (P 0.01) are heartening: SHA-1 closely tracks the SAC after the first 24 rounds, and demonstrates excellent properties of confusion and diffusion throughout.
- Full Text:
- Date Issued: 2016
Functional programming and security
- Authors: Motara, Yusuf, M
- Date: 2012
- Language: English
- Type: text , article
- Identifier: http://hdl.handle.net/10962/428985 , vital:72551 , https://doi.org/10.48550/arXiv.1201.5728
- Description: This paper analyses the security contribution of typical functional-language features by examining them in the light of accepted information security principles. Imperative and functional code are compared to illustrate various cases. In conclusion, there may be an excellent case for the use of functional languages on the grounds of better security; however, empirical research should be done to validate this possibility.
- Full Text:
- Date Issued: 2012
In-kernel cryptographic executable verification
- Authors: Motara, Yusuf, M , Irwin, Barry V W
- Date: 2005
- Language: English
- Type: text , article
- Identifier: http://hdl.handle.net/10962/429049 , vital:72556 , https://doi.org/10.1007/0-387-31163-7_25
- Description: This paper discusses the problems posed by Trojan horses and unauthorized code, and reviews existing solutions for dealing with them. A technique involving the in-kernel verification of executables is proposed. Its advantages include simplicity, transparency, ease of use and minimal setup time. In addition, the technique has several applications, including assisting with honeypot implementations, incident response and forensic investigations.
- Full Text:
- Date Issued: 2005
In-kernel cryptographic executable verification
- Authors: Motara, Yusuf, M , Irwin, Barry V W
- Date: 2005
- Subjects: To be catalogued
- Language: English
- Type: text , article
- Identifier: http://hdl.handle.net/10962/429937 , vital:72653 , https://doi.org/10.1007/0-387-31163-7_25
- Description: This paper discusses the problems posed by Trojan horses and unau-thorized code, and reviews existing solutions for dealing with them. A technique involving the in-kernel verification of executables is pro-posed. Its advantages include simplicity, transparency, ease of use and minimal setup time. In addition, the technique has several applications, including assisting with honeypot implementations, incident response and forensic investigations.
- Full Text:
- Date Issued: 2005