Please use this identifier to cite or link to this item: https://www.um.edu.mt/library/oar/handle/123456789/92994
Full metadata record
DC FieldValueLanguage
dc.date.accessioned2022-04-05T08:01:57Z-
dc.date.available2022-04-05T08:01:57Z-
dc.date.issued2008-
dc.identifier.citationMifsud, C. M. (2008). Code profiling for typical scenario testing (Bachelor’s dissertation).en_GB
dc.identifier.urihttps://www.um.edu.mt/library/oar/handle/123456789/92994-
dc.descriptionB.SC.(HONS)COMP.SCI.en_GB
dc.description.abstractThe process of testing all possible inputs and preconditions is becoming more unfeasible for systems as they are increasing in complexity. In this dissertation we propose a framework which amalgamates testing and machine learning to test libraries by using typical usage execution paths. A typical usage execution path of a library can be expressed as a sequence or a regular grammar. We use Aspect Oriented Programming (AOP) to log the method calls from a library at run time. Clustering techniques such as Complete Link and Single Link are used to extract all the important features from a large set of execution logs A subset of all the logs is used as the input to the two state merging algorithms, Evidence Driven State Merging (EDSM), proposed by Rodney Price and Alergia by Rafael C.Carraco and Jose Oncina. These two algorithms output deterministic finite state automata (DF A) and deterministic stochastic finite state automata (DSF A) which describe the typical usage of the library in different notations. The automata also cover other typical usages which are not part of the sample of the input execution traces. The general automaton induced is tested in a test bench which asserts the effectiveness of the pattern by using black box tests and random testing. This dissertation uses SMTP and SSH to test two open source libraries, DotNetOpenMail and SharpSSH The results obtained show that machine learning and testing can be used hand in hand to provide a testing environment to a library; A library is profiled using execution traces obtained by its users to test the typical ordering of method call routines. The final pattern induced reflects the typical execution traces and other atypical execution traces. Thus other execution traces are covered while testing for a specific usage of the library, providing an attractive alternative to brute force testing. More over the automata obtained can guide future users to develop correct routines from the APL.en_GB
dc.language.isoenen_GB
dc.rightsinfo:eu-repo/semantics/restrictedAccessen_GB
dc.subjectLattice theoryen_GB
dc.subjectAspect-oriented programmingen_GB
dc.subjectAlgorithmsen_GB
dc.subjectArtificial intelligenceen_GB
dc.titleCode profiling for typical scenario testingen_GB
dc.typebachelorThesisen_GB
dc.rights.holderThe copyright of this work belongs to the author(s)/publisher. The rights of this work are as defined by the appropriate Copyright Legislation or as modified by any successive legislation. Users may access this work and can make use of the information contained in accordance with the Copyright Legislation provided that the author must be properly acknowledged. Further distribution or reproduction in any format is prohibited without the prior permission of the copyright holder.en_GB
dc.publisher.institutionUniversity of Maltaen_GB
dc.publisher.departmentFaculty of Information and Communication Technology. Department of Computer Scienceen_GB
dc.description.reviewedN/Aen_GB
dc.contributor.creatorMifsud, Clinton Mario (2008)-
Appears in Collections:Dissertations - FacICT - 1999-2009
Dissertations - FacICTCS - 2008

Files in This Item:
File Description SizeFormat 
BSC(HONS)PHYSICS_COMPSCI_Mifsud_Clinton_Mario_2008.PDF
  Restricted Access
6.48 MBAdobe PDFView/Open Request a copy


Items in OAR@UM are protected by copyright, with all rights reserved, unless otherwise indicated.