501 |
DYAMO Project Report : Report documenting the planning, development and final product of a mobile application developed for the company DYAMOHolmbäck, Jonatan, Asp, Pontus January 2021 (has links)
DYAMO is a company who strive to empower students to succeed in their studies by setting them up with a mentor that the student can depend on for motivation and help. Furthermore, the students should be able to stay anonymous to the mentors. However, DYAMO does not yet have their own platform to work with. This report will serve as a rundown of how the app, specifically made for DYAMO, was developed. This will later be compared to the initial expectations set out before work on the app started. Finally, there will be some suggestions for what could be further developed in the app for the future. The app serves as a place where an adept (student) can communicate with their mentor by sending texts, files (including images and video) and receive reward-stickers. The responsibility of assigning and managing these conversations lies with the admins and moderators. A school management system is also in place, making it easier to manage and delegate responsibilities within said schools. The app mostly delivered on the final expectations, which exceeded the initial somewhat conservative expectations. The one thing not achieved being that notifications on some devices do not work with the app in the background. / DYAMO stravar efter att mojliggora for studenter att lyckas med sina studier genom att para ihop dem med en mentor som studenten kan lita p_a for motivation och hjalp. Studenten ska dessutom kunna forbli anonym gentemot mentorn, dock har inte DYAMO annu n_agon egen app att utfora detta med. Den har rapporten kommer att agera som en genomg_ang av hur appen, som var speci_kt gjord for DYAMO, blev utvecklad. Detta kommer senare att jamforas med de ursprungliga forvantningarna som sattes innan utvecklingen av appen p_aborjades. Slutligen, kommer det _nnas n_agra forslag p_a vad som skulle kunna vidare jobbas p_a om utvecklingen av appen skulle fortsatta. Appen fungerar s_a att en adept (student) kan kommunicera med en mentor genom att skicka text-meddelanden, _ler (inklusive bilder och videor) och ta emot beloningsklisterm arken. Ansvaret av att tilldela och hantera konversationer faller hos admins och moderatorer. Ett skolhanteringssystem _nns ocks_a p_a plats, for att underlatta hantering och delegering av ansvar inom skolorna. Appen levererade mestadels p_a de slutgiltiga forvantningarna, som i sin tur overskred de ursprungliga n_agot konservativa forvantningarna. Det enda som inte uppfylldes var att noti_kationerna p_a vissa enheter inte fungerar nar appen kors i bakgrunden.
|
502 |
An exploratory research of ARCore's feature detectionEklind, Anna, Stark, Love January 2018 (has links)
Augmented reality has been on the rise for some time now and begun making its way onto the mobile market for both IOS and Android. In 2017 Apple released ARKit for IOS which is a software development kit for developing augmented reality applications. To counter this, Google released their own variant called ARCore on the 1st of march 2018. ARCore is also a software development kit for developing augmented reality applications but made for the Android, Unity and Unreal platforms instead. Since ARCore is released recently it is still unknown what particular limitations may exist for it. The purpose of this paper is give an indication to companies and developers about ARCore’s potential limitations. The goal with this paper and work is to map how well ARCore works during different circumstances, and in particular, how its feature detection works and behaves. A quantitative research was done with the usage of the case study method. Various tests were performed with a modified test-application supplied by Google. The tests included testing how ARCore’s feature detection, the process that analyzes the environment presented to the application. This which enables the user of an application to place a virtual object on the physical environment. The tests were done to see how ARCore works during different light levels, different types of surfaces, different angles and the difference between having the device stationary or moving. From the testing that were done some conclusions could be drawn about the light levels, surfaces and differences between a moving and stationary device. More research and testing following these principles need to be done to draw even more conclusions of the system and its limitations. How these should be done is presented and discussed. / Forstarkt verklighet (augmented reality) har stigit under en tid och börjat ta sig in på mobilmarknaden for både IOS och Android. År 2017 släppte Apple ARKit för IOS vilket är en utvecklingsplattform för att utveckla applikationer inom förstärkt verklighet. Som svar på detta så slappte Google sin egna utvecklingsplattform vid namn ARCore, som släpptes den 1 mars 2018. ARCore är också en utvecklingsplattform för utvecklandet av applikationer inom förstarkt verklighet men istället inom Android, Unity och Unreal. Sedan ARCore släpptes nyligen är det fortfarande okant vilka särskilda begränsningar som kan finnas för det. Syftet med denna avhandling är att ge företag och utvecklare en indikation om ARCores potentiella begränsningar. Målet med denna avhandling och arbete är att kartlägga hur väl ARCore fungerar under olika omstandigheter, och i synnerhet hur dess struktursdetektor fungerar och beter sig. En kvantitativ forskning gjordes med användning av fallstudie metoden. Olika tester utfördes med en modifierad test-applikation från Google. Testerna inkluderade testning av hur ARCores struktursdetektor, processen som analyserar miljön runt om sig, fungerar. Denna teknik möjliggor att användaren av en applikation kan placera ett virtuellt objekt på den fysiska miljön. Testen innebar att se hur ARCore arbetar under olika ljusnivåer, olika typer av ytor, olika vinklar och skillnaden mellan att ha enheten stationär eller rör på sig. Från testningen som gjordes kan man dra några slutsatser om ljusnivåer, ytor och skillnader mellan en rörlig och stationar enhet. Mer forskning och testning enligt dessa principer måste göras för att dra ännu mer slutsatser av systemet och dess begränsningar. Hur dessa ska göras presenteras och diskuteras.
|
503 |
Permission Based Risk Assessment for Enhancing Privacy of Android UsersRashid Idris, Muhammad January 2018 (has links)
Mobile applications tend to access data beyond their intended functionality and share this data with third parties for various purposes including marketing, profiling and advertisement. This data also includes user’s personal information and access to this personal information without user’s consent put user’s privacy at risk. User’s Inability to easily find privacy friendly apps and befuddling permission requests paves the way for malicious apps to get access to user’s personal information. Keeping in mind the different level of privacy aware users, we have presented a privacy enforcement framework in this thesis. This framework not only helps user to find alternative privacy friendly apps but also encourage users to review their privacy settings on the smartphone. An app discovery tool is developed to search privacy friendly apps amongst the group with similar functionality. The search results are sorted by privacy friendly score which is calculated using simplified version of risk assessment method known as EBIOS. Threat posed to personal information by various apps are then highlighted and presented to user in an easy-to-understand way before installing the app. We have validated the results of our discovery tool by comparing them to the manual inspection of various functional groups i.e., group of applications with similar functionality. Two list of permissions, one created by subjective and manual analysis of abstract functionality of functional group called expert opinion and other created by our tool based on permissions requested by functional group are compared. Our tool has correctly identified the permissions which are similar to expert opinion. / Mobila applikationer tenderar att ta del av data utanför deras tilltänkta funktionalitet och delar den här datan med tredjehands parter för olika syften som marknadsföring, profilering och reklam. Datan inkluderar även personlig information och tillgång till den personliga informationen utan användarens medvetande sätter användarens integritet i risk. Användares oförmåga att enkelt hitta integritetsvänliga appar och förvirrande godkännande förfrågningar öppnar vägen för illvilliga appar att få tillgång till användarens personliga information. Med tanke på hur olika användare uppmärksammar integritetnivåer presenterar vi ett integritetsupprätthållande ramverk i den här uppsatsen. Ramverket hjälper inte bara användare att hitta integritetsvänliga appar utan uppmuntrar även användaren att granska integritetsinställningarna i sin telefon. Ett applikationsupptäckarverktyg utvecklades för att söka efter integritetsvänliga appar inom samma funktionsområde. Sökresultatet är sorterat efter en integritetsvänlighetspoäng beräknad med en förenklad version av riskbedömningsmetoden känd som EBIOS. Hot mot personlig information från olika appar uppmärksammas och presenteras på ett användarvänligt sätt innan appen installeras. Vi har validerat resultatet från vårt applikationsupptäckarverktyg genom att jämföra det med en manuell inspektion av appar inom samma funktionsområde, exempelvist grupper av applikationer med liknande funktion. Två listor togs fram, en framtagen genom subjektiv och manuell analys av normal funktionalitet kallad expertutlåtande och en framtagen av vårt applikationsupptäckarverktyg baserat på funktionsområde. Vårt verktyg har korrekt identifierat godkännande i likhet med expertutlåtandet.
|
504 |
Diabetic Eye Screening : Eye mapping examination applicationLundhe, Adrian January 2017 (has links)
According to the World Health Organization, in 1980 there was 108 millions diabetes patients around the world, and in 2014 the number increased to 422 millions. This is a percentage rise from 4,7 to 8,5 in the same time period. According to the report Vision 2020, about 5% of the blindness in the world is contributed to diabetic retinopathy. 4% of these people will never get treated for their diseases. Different people get different treatments depending on where they are in the world. The different costs mainly depend on available equipment, salaries, and countries currency stand on the world market. Out of 37 million cases of blindness, about 1.8 million are related to diabetic retinopathy. After 15 years of carrying this disease 2% will be blind and 10% will have severe visual loss. 20 years down the line of having diabetes, 75% will have some form of diabetic retinopathy. Governments, insurance companies and health facilities around the world have trouble keeping up with the costs and availability of medical personnel for treatment of patients. There is a need for a new way of thinking. An alternative. A cheap, reliable and quick method of discovering diseased at its earlier stages that will dramatically lower the cost and pressure on the health industry. The mobile phone application market is a somewhat untapped market when it comes medical equipment. To relieve the absence of this kind of application the Diabetic Eye Screening program was created. The application maps anomalies within the retina and provides statistical data for the patients in their own mobile phones and tablets without any need of meeting medical professionals. The information can safely and reliably be shared between partners quickly for evaluation of a patient's immediate health status. / Enligt Världshälsoorganisationen fanns det under 1980-talet 108 miljoner diabetespatienter runt om i världen och 2014 höjdes antalet till 422 miljoner. Detta är en procentuell ökning från 4,7 till 8,5 under samma tidsperiod. Enligt rapporten Vision 2020 bidrar cirka 5% av blindheten i världen till diabetisk retinopati. 4% av dessa människor kommer aldrig att bli behandlade för deras sjukdom. Olika människor får olika behandlingar beroende på var de är i världen. De olika kostnaderna beror främst på tillgänglig utrustning, löner och länders valutor på världsmarknaden. Av 37 miljoner fall av blindhet är ca 1,8 miljoner relaterade till diabetisk retinopati. Efter 15 år med denna sjukdom kommer 2% att vara blinda och 10% kommer att ha en allvarlig visuell förlust. Vid 20 års av diabetes kommer 75% att få någon form av diabetisk retinopati. Regeringar, försäkringsbolag och sjukhus runt om i världen har problem med att hålla nere kostnaderna och bidra med tillgänglighet av medicinsk personal för behandling av patienter. Det finns ett behov av ett nytt sätt att tänka. Ett alternativ. En billig, tillförlitlig och snabb metod att upptäcka sjukdomar i tidigt skede kommer dramatiskt sänka kostnader och minska på trycket i vården behövs. Mobilapplikations marknaden är något av en outnyttjad marknad när det gäller medicinsk utrustning. För att avhjälpa frånvaron av denna typ av applikation skapades Diabetic Eye Screeningprogrammet. Applikationen kartlägger avvikelser i näthinnan och ger statistiska data för patienterna i sina egna mobiltelefoner och tablets utan att behöva möta medicinsk personal. Informationen kan på ett säkert och tillförlitligt sätt snabbt delas mellan partner för utvärdering av patientens omedelbara hälsotillstånd.
|
505 |
Comparing Android Runtime with native : Fast Fourier Transform on Android / Jämförelse av Android Runtime och native : Fast Fourier Transform på AndroidDanielsson, André January 2017 (has links)
This thesis investigates the performance differences between Java code compiled by Android Runtime and C++ code compiled by Clang on Android. For testing the differences, the Fast Fourier Transform (FFT) algorithm was chosen to demonstrate examples of when it is relevant to have high performance computing on a mobile device. Different aspects that could affect the execution time of a program were examined. One test measured the overhead related to the Java Native Interface (JNI). The results showed that the overhead was insignificant for FFT sizes larger than 64. Another test compared matching implementations of FFTs between Java and native code. The conclusion drawn from this test was that, of the converted algorithms, Columbia Iterative FFT performed the best in both Java and C++. A third test, evaluating the performance of vectorization, proved to be an efficient option for native optimization. Finally, tests examining the effect of using single-point precision (float) versus double-point precision (double) data types were covered. Choosing float could improve performance by using the cache in an efficient manner. / I denna studie undersöktes prestandaskillnader mellan Java-kod kompilerad av Android Runtime och C++-kod kompilerad av Clang på Android. En snabb Fourier Transform (FFT) användes under experimenten för att visa vilka användningsområden som kräver hög prestanda på en mobil enhet. Olika påverkande aspekter vid användningen av en FFT undersöktes. Ett test undersökte hur mycket påverkan Java Native Interface (JNI) hade på ett program i helhet. Resultaten från dessa tester visade att påverkan inte var signifikant för FFT-storlekar större än 64. Ett annat test undersökte prestandaskillnader mellan FFT-algoritmer översatta från Java till C++. Slutsatsen kring dessa tester var att av de översatta algoritmerna var Columbia Iterative FFT den som presterade bäst, både i Java och i C++. Vektorisering visade sig vara en effektiv optimeringsteknik för arkitekturspecifik kod skriven i C++. Slutligen utfördes tester som undersökte prestandaskillnader mellan flyttalsprecision för datatyperna float och double. float kunde förbättra prestandan genom att på ett effektivt sätt utnyttja processorns cache.
|
506 |
Secure Authentication in Near Field Communication based Access Control SystemsJakobsson, Anders January 2015 (has links)
Today there exist a myriad of different types of access control systems that use a smart card or mobile device as a key. The mobile device enabled smart locks, as they are often referred to, operate using either WiFi or Bluetooth. This thesis has explored the use of a third emerging wireless technology called Near Field Communication (NFC). NFC technology is a relatively new technology that is on the rise and is included in almost every new mobile device. Using a NFC enabled mobile device, a highly secure access control system was developed on a Raspberry Pi Linux platform. Several different authentication protocols, mobile operating systems and NFC modes of operation where analyzed and evaluated, to ensure that the system was as secure as possible. Eventually the system was implemented using the Secure Remote Password authentication protocol on top of a NFC card emulation scheme with the client application running on the Android operating system. The final system was a secure and responsive system that would be easy to deploy in many different situations. This project shows that NFC enables a mobile device to act as akey in a secure access control system and as the user base for NFC grows larger sowill the likelihood that we will come to see more of these types of systems. / Idag finns det flera olika typer av inpasserings system som använder någon form av ”smart card” eller mobil enhet som nyckel. De smarta låsen, som det oftast kallas, som använder sig av en mobile enhet, använder antingen Wi-‐‑Fi eller Bluetooth för att kommunicera med inpasserings systemet. I den här uppsatsen kommer en relativt ny teknologi som kalls Near Field Communication (NFC) att utforskas. Användandet av NFC är på uppgång och det finns inkluderat i nästan varje ny mobil enhet som släpps på marknaden idag. Ett inpasserings system med hög säkerhet utvecklades genom att använda en mobile enhet med NFC kapabilitet tillsammans med en Raspberry Pi Linux plattform. Flera olika typer av autentiserings protokoll, mobila operativsystem och NFC användnings moder, analyserades och utvärderades för att säkerställa att systemet var så säkert som möjligt. Tillslut valdes ett autentiserings protokoll vid namn, Secure Remote Password (SRP), som integrerades ovanpå ett kort emulerings NFC ramverk som finns tillgängligt i Android operativsystemet. Det slutgiltiga systemet har hög säkerhet och är snabbt och responsivt och kan användas i flera olika situationer. NFC tillåter en mobile enhet att agera nyckel i ett inpasseringssystem och användandet kommer bara öka med den expanderande användare basen.
|
507 |
Penetration Testing of an In-Vehicle Infotainment System / Penetrationstestning av ett Infotainmentsystem i FordonAndersson, Philip January 2022 (has links)
With the growing demand for smart and luxurious vehicles, the automotive industry has moved toward developing technologies to enhance the in-vehicle user experience. As a result, most vehicles today have a so-called In-Vehicle Infotainment (IVI) system, or simply an infotainment system, which provides a combination of information and entertainment in one system. IVI systems are used to control, for instance, the audio, navigation, and air conditioning in vehicles. Increasingly more IVI systems are also connected to the internet which has enabled features such as web browsers and third-party apps on them. This raises questions concerning the cybersecurity of IVI systems. As more vehicles are connected to the internet, it increases the risk of vehicles getting hacked. Previous research has shown that it is possible to take control of an entire vehicle by hacking the IVI system. In this thesis, penetration testing was conducted on an IVI system included on a rig from Volvo Cars to find potential vulnerabilities in the system. To the best of the author’s knowledge, this is the first paper describing penetration tests performed on a greater attack surface of the Android Automotive operating system used by the IVI system than previous research which only focused on the attack surface of third-party apps. Moreover, threat modeling was performed by employing the threat analysis and risk assessment part of the ISO/SAE 21434: Road vehicles — Cybersecurity engineering. This has not yet been done in the research area of security of IVI systems as far as the author knows. The results from the various penetration tests show that no major vulnerabilities were discovered in the IVI system. However, several findings were made in the thesis where the main one was that multiple content providers, managing access to storage (e.g., relational databases) in Android, were found to be exported by Android apps on the IVI system, and that some of these were vulnerable to SQL injection. This vulnerability of some of the content providers was exploited but did not lead to any collection of private information. For future work, penetration testing of the cellular interface of the IVI system is suggested. / Med en ökad efterfrågan för smarta och lyxiga fordon så har fordonsindustrin behövt utveckla teknologier som förbättrar användarupplevelsen i fordon. Ett resultat av detta är att de flesta fordon idag har ett så kallat infotainmentsystem vilket kombinerar information och underhållning i ett system. Infotainmentsystem används till exempel för att styra ljudet, navigationen och luftkonditioneringen i fordon. Fler infotainmentsystem börjar också bli uppkopplade mot internet som möjliggör för användare att surfa på internet och ladda ner tredjepartsappar. Detta väcker frågor beträffande cybersäkerheten hos dessa. I takt med att fler fordon blir uppkopplade mot internet så ökar det risken för att fordon blir hackade. Tidigare forskning har visat att det är möjligt att ta kontroll över ett helt fordon genom att hacka infotainmentsystemet. I detta examensarbete har penetrationstestning utförts på ett infotainmentsystem som var inkluderad på en rigg från Volvo Personvagnar för att hitta potentiella säkerhetsbrister i infotainmentsystemet. Till författarens bästa vetskap är denna rapport den första som beskriver om penetrationstester utförda på en större attackyta av operativsystemet Android Automotive som används av infotainmentsystemet än tidigare forskning som bara har fokuserat på tredjepartsappar som attackyta. Hotmodellering har också utförts i examensarbetet enligt ett avsnitt kallad hotanalys och riskbedömning i ISO/SAE 21434: Vägfordon — Process och metod för cybersäkerhet. Detta har ännu inte gjorts inom forskningsområdet säkerhet för infotainmentsystem så vitt författaren känner till. Resultaten från de olika penetrationstesterna visar att inga allvarliga säkerhetsbrister hittades i infotainmentsystemet. Dock gjordes flera upptäckter under examensarbetet där den mest väsentliga var att ett flertal innehållsleverantörer, som hanterar åtkomst till lagring (t.ex. relationsdatabaser) i Android, var exporterade från Android appar på infotainmentsystemet, och att några av dem var sårbara till SQL-injektioner. Denna sårbarhet hos vissa innehållsleverantörer utnyttjades men ledde inte till någon insamling av privat information. Ett förslag för framtida arbeten är att utföra penetrationstestning på det mobila gränssnittet hos infotainmentsystemet.
|
508 |
En jämförelse av ramverk vid utveckling av mobila applikationer : Studie kring genomförbarhet att övergå från ’native Android till Flutter eller Jetpack Compose vid utvecklingen av mobila applikationer / A comparison of frameworks when developing mobile applications : A study on the feasibility of switching from ‘native Android’ to Flutter or Jetpack Compose when developing mobile applicationsOsman, Mohamed, Jamsahar, Robin January 2022 (has links)
Syftet med denna avhandling var att undersöka och utvärdera vilka val utvecklare bör göra vid skapandet av mobila applikationer. Vidare var målet att hitta lämpliga ersättare för Android delen i kursen HI1033 Mobila applikationer och trådlösa nät på Kungliga Tekniska Högskolan. För att åstadkomma detta utvärderades de mest populära plattformsoberoenderamverken på marknaden, Flutter och React, tillsammans med traditionella och nya ’native’ alternativ som Jetpack Compose. Granskningen av mobilapplikationerna inkluderade utvärderingar av utseende, tidsåtgång, komplexitet, dokumentation, stabilitet, kodlängd samt genomförbarhet bland många. Applikationerna utvecklades med dessa i åtanke, men krävdes också att följa de obligatoriska kraven för mobila applikationskursen. Detta för att ge svar på om dessa varianter kunde anpassas i kursen för framtida klasser. Om applikationerna inte kunde följa kursens krav var tillvägagångsättet sannolikt inte ett genomförbart alternativ. Resultaten visade att, tillskillnad från Jetpack Compose är Flutter betydligt svårare och mer komplicerat att implementera. Det har potential, men det saknar komplex funktionalitet till Blåtand-sensorer och mer specifika ’native’ funktioner. I jämförelsen med Jetpack Compose och traditionell Android utveckling i denna fråga visades det att Jetpack Compose var både enklare och mindre tidskrävande, kortare i kodlängd men även kunde replikeras på utseendet. Därför är Jetpack Compose ett bra alternativ för att bygga ’native’ applikationer samtidigt som det uppfyller kraven för HI1033 Mobila applikationer och trådlösa nät. / The purpose of this thesis was to study and evaluate what choices developers must make when creating mobile applications. Further, the aim is to find a suitable replacement for the Android part of the course in HI1033 Mobile Applications and Wireless Networks at the KTH Royal institute of Technology. To accomplish this, the most popular cross-platform frameworks on the market, Flutter and React, along with traditional and new native alternatives such as Jetpack Compose, were evaluated. The examination of the mobile applications included evaluations of appearance, time consumption, complexity, stability, and feasibility among many. The applications were developed with this in mind, however, they needed to also follow the mandatory requirements of the mobile application course to provide answers as to whether these variants could be adapted in the course’s future classes. If the applications could not meet the course's requirements, then the approach was likely not a viable one. The results indicated that, unlike Jetpack Compose, Flutter is significantly more difficult and cumbersome to implement. It has potential, but it’s missing complex functionality for Bluetooth sensors and more specifically certain native functionalities. Comparing Jetpack Compose with traditional android development in this question proved that the newer Jetpack Compose was both easier, less time-consuming, and more stable to use. Therefore, Jetpack Compose is a good alternative for building native mobile applications, but also for the future classes in HI1033 Mobile Application and Wireless Networks.
|
509 |
Återanvända modellkod skriven i C på Android, iOS och HTML5 : En studie om möjligheten att återanvända modellkod skriven i C på Android, iOS och HTML5 / Reuse model code written in C across Android, iOS and HTML5 : A study on the possibility of reusing model code written in C on Android, iOS and HTML5Demirel, Emre, Chowdhury, Shifat January 2023 (has links)
Syftet med denna studie är utforska möjligheterna att återanvända modellkod, skriven i C, över flera plattformar, nämligen iOS, Android och HTML5. Målet är att undersöka kodstorlek och komplexitet vid återanvändning av modellkod skriven i C på plattformarna. Genom en noggrann granskning av tidigare forskning och existerande metoder identifierades lämpliga verktyg och metoder. Det som framkom är att WebAssembly var det rekommenderade verktyget för att koppla C- kod till HTML5. För Android var Java Native Interface (JNI) det mest lämpliga verktyget för att koppla C-kod till Kotlin. Swift, å andra sidan, har inbyggda verktyg för interoperabilitet som möjliggör koppling mellan Swift-kod och C. Därav påvisade resultaten att det är möjligt att återanvända modellkod skriven i C på Android, iOS och HTML5. Dock, för Android krävdes det tillsats av extra kod för att hantera kopplingen mellan Kotlin och C-modellkod. Eftersom dessa språk hanterar datatyper och minneshantering på olika sätt. Inom iOS krävdes inte lika mycket extra kod som på Android för att hantera kopplingen mellan Swift och C eftersom Swift är utvecklat med naturligt stöd för C. I HTML5 behövdes inte lika mycket extra kod som på Swift och Android eftersom Emscripten möjliggjorde automatisk generering av en omvandling från modellkod skriven i C till JavaScript. Detta underlättade utvecklandet av bindningen mellan C-baserad modellkod och HTML5-applikationen. / The purpose of this study was to explore the possibilities of reusing model code, written in C, across multiple platforms, specifically iOS, Android, and HTML5. The objective was to investigate code size and complexity when reusing model code written in C on these platforms. Through a thorough review of previous research and existing methods, suitable tools and methods were identified. It was found that WebAssembly was the recommended tool for linking C code to HTML5. For Android, the Java Native Interface (JNI) was the most appropriate tool for linking C code to Kotlin. Swift, on the other hand, has built-in tools for interoperability that allow for the connection between Swift code and C. The results indicated that it is possible to reuse model code written in C on Android, iOS, and HTML5. For Android, additional code was required to manage the connection between Kotlin and C model code, as these languages handle data types and memory management differently. However, within iOS, there was not needed additional code compared to Android, to manage the linkage between Swift and C. Since Swift is developed with inherent support for C. For HTML5, there was not as much additional code required as in Swift and Android, primarily because Emscripten enabled automatic conversion of model code written in C to JavaScript. This facilitated the development of the binding between C-based model code and the HTML5 application.
|
510 |
Reinforcement Learning-Based Test Case Generation with Test Suite Prioritization for Android Application TestingKhan, Md Khorrom 07 1900 (has links)
This dissertation introduces a hybrid strategy for automated testing of Android applications that combines reinforcement learning and test suite prioritization. These approaches aim to improve the effectiveness of the testing process by employing reinforcement learning algorithms, namely Q-learning and SARSA (State-Action-Reward-State-Action), for automated test case generation. The studies provide compelling evidence that reinforcement learning techniques hold great potential in generating test cases that consistently achieve high code coverage; however, the generated test cases may not always be in the optimal order. In this study, novel test case prioritization methods are developed, leveraging pairwise event interactions coverage, application state coverage, and application activity coverage, so as to optimize the rates of code coverage specifically for SARSA-generated test cases. Additionally, test suite prioritization techniques are introduced based on UI element coverage, test case cost, and test case complexity to further enhance the ordering of SARSA-generated test cases. Empirical investigations demonstrate that applying the proposed test suite prioritization techniques to the test suites generated by the reinforcement learning algorithm SARSA improved the rates of code coverage over original orderings and random orderings of test cases.
|
Page generated in 0.0207 seconds