Student Projects (MSc/BSc Theses), Academic Year 2022-2023

Below is a list of project topics for Masters and Bachelors theses offered by the Software Engineering & Information Systems Research Group for students who intend to defend in June 2023. The projects are divided into:

If you're interested in any of the projects listed below, please contact the corresponding supervisor.

NB: If you want to look for thesis topics offered by other groups within the Chair of Software Engineering and Information Systems, please consult their respective group pages. You find the links to the individual research groups here: https://cs.ut.ee/en/content/research
(This web-page even includes links to research groups in other Chairs of the Institute of Computer Science.)



SE Master Thesis Projects (30 ECTS)


Topic/Title ??

Supervisor: Marlon Dumas (xxx [dot] xxx [ät] ut [dot] ee)

Description


Case Study in Software Testing or Software Analytics (focus on software quality)

Supervisor: Dietmar Pfahl (dietmar dot pfahl ät ut dot ee)

This is a "placeholder" Masters project topic, which needs to be negotiated individually. If you work in a IT company and you are actively engaged in a software testing or software analytics, or if you can convince your hierarchy to put in time and resources into such a project in the near-term, we can make a case study out of it. We will sit down and formulate concrete hypotheses or questions that you investigate as part of this project, and we will compare your approach and results against state-of-the-art practices. I am particularly interested in supervising theses topics related to mutation testing, testing of embedded software, testing safety-critical systems, security testing of mobile apps, anlysis of project repositories to make software development processes more efficient and effective, but I welcome other topic areas.

The method applied is a case study. Case studies follow a systematic approach as outlined in: Guidelines for conducting and reporting case study research in software engineering by Per Runeson and Martin Höst Important elements of the thesis are literature study, measurement and interviews with experts in the target company.

A mandatory pre-requisite for me to act as supervisor is that there exists a co-supervisor within the case company who is willing to help with the exact scoping of the thesis project and confirms that the topic is in the interest of the case company to an extend that the student can work on the thesis project (at least partly) during work time.


Analysis of iOS Jailbreaks (reserved)

Supervisor: Kristiina Rahkema (kristiina dot rahkema ät ut dot ee)

The iOS operating system is more restrictive than Android. Applications on iOS run in sandboxes that on the one hand protects its users against malicious apps but on the other hand also greatly restricts the capabilities of these applications. It is for example not possible to deploy system wide services on an iPhone. To overcome these restrictions developers, security researchers and hackers have developed Jailbreaks for the iPhone that make it possible to root the device. Jailbreaks are developed by taking advantage of multiple vulnerabilities present in iOS and are often usable until Apple fixes these vulnerabilities. Some research papers, for example [1], document the exploits used in Jailbreaking, there is however no comprehensive overview of the different approaches how the different jailbreaks have been achieved. The aim of this theses is to firstly compile a list of different jailbreaks, investigate how these jailbreaks have been archived and to describe these different approaches.

[1] Liu, Feng, et al. "Research on the technology of iOS jailbreak." 2016 Sixth International Conference on Instrumentation & Measurement, Computer, Communication and Control (IMCCC). IEEE, 2016.

Dependency Analysis of Closed Source iOS Apps

Supervisor: Kristiina Rahkema (kristiina dot rahkema ät ut dot ee)

When studying dependency networks it is quite straight forward do detect used third party libraries from open source projects. Detecting used third party libraries from closed sourced applications is more challenging, Zhan et al. studied the current status for third party library detection for Android applications [1]. We however do not know which tools exist (if they exist) for iOS. The aim of this thesis is to investigate if and which tools exist for third party library detection for closed sourced iOS applications. Depending on the possibilities found, one aim could be to develop a tool that detects third party library uses in closed sourced iOS applications. Depending on limitation the tool might only work in specific circumstances.

[1] Zhan, Xian, et al. "Automated third-party library detection for android applications: Are we there yet?." 2020 35th IEEE/ACM International Conference on Automated Software Engineering (ASE). IEEE, 2020.

How do developers update dependencies in iOS libraries?

Supervisor: Kristiina Rahkema (kristiina dot rahkema ät ut dot ee)

Kula et al. [1] analysed java developers update their dependencies by analysing 4600 projects on GitHub. They found that most developers do not update their dependencies and new versions of libraries are mostly used by new uses of the library. We created a dataset that contains the dependency network for open source libraries used through CocoaPods, Carthage and Swift PM [2]. The aim of this thesis would be to conduct the library update analysis on this new dataset.

[1] Kula, Raula Gaikovina, et al. "Do developers update their library dependencies?." Empirical Software Engineering 23.1 (2018): 384-417. [2] Dietmar Pfahl Kristiina Rahkema. 2022. Dependency Networks of Open Source Libraries Available Through CocoaPods, Carthage and Swift PM. https://doi.org/10.5281/zenodo.6376009

How well could have existing vulnerability detection tools prevented publicly reported vulnerabilities?

Supervisor: Kristiina Rahkema (kristiina dot rahkema ät ut dot ee)

NVD (National vulnerability database) contains publicly reported vulnerabilities for many projects. Sometimes a vulnerability can remain in the codebase for a long time before it is detected. The aim of this thesis, for a selected list of open source libraries) is to determine if the publicly reported vulnerabilities for this library could have been prevented by using a vulnerability detection tool. This could be done with the following steps: 1) find vulnerability detection tools 2) apply these tools for the vulnerable code to determine if an existing vulnerability detection tool could have found the vulnerability 3) apply the same tools for the version of the library that did not yet have the vulnerability and for the version of the library where the vulnerability was fixed to determine wether the tool could correctly detect that the vulnerability was fixed 4) report on the results and determine how many of the openly reported vulnerabilities could have been prevented by using a specific tool.


Topic/Title ??

Supervisor: Alexander Nolte (xxx [dot] xxx [ät] ut [dot] ee)

Description


Emerging Tech & Financial Industries

Supervisor: Fredrik Milani (fredrik [dot] milani [ät] ut [dot] ee)

New technologies provide value when used to improve processes or products. However, how new technologies can innovate, enhance, or significantly improve existing processes and products is not always clear. This thesis topic explores one emerging technology to understand better how it can deliver value for the financial sector. The work required for this thesis predominantly includes (1) research on the technology (what it is, how it works, its capabilities, use cases, etc.) and (2) conducting 8-12 interviews with people within the financial sector to learn about potential use cases within the financial sector. Finally, analyze and overlay the results with a framework. Examples of emerging technologies can be quantum computing, metaverse, NFTs, edge computing, IoT platform, etc.

Workarounds in Business Processes Analysis for Identifying Improvement Opportunities

Supervisor: Fredrik Milani (fredrik [dot] milani [ät] ut [dot] ee)

If we can take a shortcut, we often do. The same applies in workers who execute processes. Although the process should be done in a certain way, people find other ways that are easier, faster, or more convenient. As information systems log data, we can detect these shortcuts from event logs. If a workaround is better, then the process should be changed so to become better. A few works have developed methods to identify such workarounds. However, identifying workarounds is not enough if we want to improve the process. This thesis is about using (perhaps improving) existing methods for identifying workarounds, analyze them, and determine which ones are better so to use them for improving the business process. For this thesis, we take a design science approach where we elicit requirements, develop an artefact (algorithm) and, finally, evaluate it.

Automated Variant Analysis for Business Process Improvement

Supervisor: Fredrik Milani (fredrik [dot] milani [ät] ut [dot] ee)

When a business process is executed, variations occur. For instance, the process for an economy class customer differs from that of a business class. Some of these variations are intentional whereas others are not. Regardless, some variants have better performance i.e., some variants, for instance, have shorter waiting times or are executed faster. Using process mining techniques, we can detect variants and identify what their differences are. However, work on using variant analysis for improving business processes, i.e., suggesting process redesign has not been studied sufficiently. This topic is about developing an algorithm that can identify, analyze, and suggest process changes so to improve the business process. For this thesis, you will be given the conceptual framework. Your task is to implement and evaluate your tool.

Case-Based Variant Analysis for Prescriptive Process Monitoring

Supervisor: Fredrik Milani (fredrik [dot] milani [ät] ut [dot] ee)

When process workers are dealing with an ongoing case, they would like to receive recommendations on how they should process the case. This is called prescriptive process monitoring. Using different techniques, we can tap into previous executed cases, identify what made them conclude successfully given a specific metric, and recommend (prescribe) an action (intervention) to the process worker when dealing with an ongoing case. This thesis topic is about developing a case-based variant analysis solution for prescribing interventions for ongoing cases. This topic requires reviewing different methods for prescriptive process monitoring, using/adapting/improving/combining, or developing new algorithms, develop a solution and evaluate it.

Benchmark Study of Prescriptive Algorithms

Supervisor: Fredrik Milani (fredrik [dot] milani [ät] ut [dot] ee)

In recent years, algorithms that can recommend or prescribe an action has gained traction. It seems that adding a prescriptive component to products is the next big thing. Prescriptive component is also considered for business processes. Prescriptive process monitoring aims at using past process executions to recommend intervention on live cases so to improve the probability of more favorable outcome of the case. However, it is not clear which method is better suited for process contexts. This thesis is about finding several suitable prescriptive algorithms, examine them, conduct a benchmark study of their applicability/suitability/strengths/weakness for prescriptive process monitoring.

Dashboards for Process Analysis in Apromore

Supervisor: Fredrik Milani (fredrik [dot] milani [ät] ut [dot] ee)

Process analysts often use process mining tools, like Apromore, to identify how they can improve the business process. This is challenging task as there is so much data and different data and filters one can use. To this end, we have developed 21 templates for identifying improvement opportunities using Apromore process mining tool. These templates provide step by step instructions on what to do in Apromore to identify improvement opportunities. However, Apromore has a dashboard that can be configured. This thesis topis is about configurating dashboards in Apromore for the analysis templates to help analysts. This topic does not require coding but to configure dashboards and evaluating them.

Visualising Prescriptive Process Monitoring Output

Supervisor: Fredrik Milani (fredrik [dot] milani [ät] ut [dot] ee)

One of the main challenges for communicating prescriptions to end users is how to visualize the results. While there are many algorithms that can detect and find the best product or next step to take, few have examined how such results should be communicated to the end user. This is particularly true of business process management and process mining. This thesis is about how to visualize the results of prescriptive process monitoring results to support process workers in deciding what actions to take next. This is done by visualizing the options (actions) available understanding and the impact of each (or combination) action. For this thesis, you will be given the requirements and your task is to implement and evaluate the visualizations.


Topic/Title ??

Supervisor: Ezequiel Scott (xxx [dot] xxx [ät] ut [dot] ee)

Description


Topic/Title ??

Supervisor: Hina Anwar (xxx [dot] xxx [ät] ut [dot] ee)

Description


A recommender system for an improved data findability in open government data portals

Supervisor: Anastasija Nikiforova (Anastasija [dot] Nikiforova[ät] ut [dot] ee)

The research suggests that it is difficult for users of open government data (OGD) portals to find the datasets they are interested in and even more difficult to find datasets with which the selected one could be used, either by complementing / enriching it, or substituting it as the similar / alternative one. A recommender system might be a solution. However, the recommender system for OGD portals is slightly different from what we might expect in the case of other portals where user data and related preferences can be used, since OGD portals, by definition and the general idea of open data, do not require the user to be authenticated (although data portal owner may have at least log of visited sites with the users’ IP, which are sometimes even published as a seprate open dataset, which can be useful here). This makes it a bit trickier to propose a very efficient recommender system, including suggestions like “other users also find interesting ...”. Thus, the thesis would review existing techniques of recommender systems (content-based, collaborative-based etc.), by selecting those that can be applied to OGD portals, examining OGD portals and identifying features that can be used as input to generate a recommendation (both external, such as the title, description (! please, take into account that you will be asked to carry out at least a simplified text analytics) and tags, and preferably internal, such as names of parameters (if are sufficiently expressive)). Then respective recommender system is expected to be developed and preferably tested on real users for the level of their satisfaction with the results provided. This would contribute to the FAIRness of the open data in order to provide social, economic and technological benefits fro individual users, SMEs and governments.

Automated classification of open datasets, assigning categories and tags to improve data findability on open government data portals

Supervisor: Anastasija Nikiforova (Anastasija [dot] Nikiforova[ät] ut [dot] ee)

While many open government data (OGD) portals provide a large number of open datasets that are free to use and transform into value, not all of these data are actually used. In some cases, this is because these data are difficult to find due to the low level of detail presented in them, including, but not limited to the absence or inaccuracy of the category(-ies) and tags assigned to a particular dataset, which is a part of the data publisher task. In the case of some OGD portals, 1/3 of the datasets are not categorized, although the portal provides a rich list of data categories that are in line with best practices and allow to classify these datasets. This leads to cases where the dataset cannot be found if the user searches for data using catalog or tags (only using the search bar will return the dataset, if the search query matches the title or description of the provided dataset). This thesis is intended to propose an automated data classification mechanism, which, based on a dataset and the data provided on it (title, description of the dataset (! please, take into account that you will be asked to carry out at least a simplified text analytics), parameters of the dataset (if sufficiently expressive)), will suggest a categories and tags to be assigned to it. First, the author will be asked to examine the state-of-the-art on the topic, to explore OGD portals and how datasets look like, and what can be scenarios for OGD user to search for a particular dataset. Then, a list of indicators will be defined, which should constitute the input for data classification (mostly in line with the above but can be enriched, if possible), and an appropriate solution will be developed. Finally, testing of the output should be conducted with users, thereby evaluating the consistency of the result, preferably comparing the level of users’ satisfaction with the current one. This would contribute to the FAIRness of the open data, although mainly referring to F – findability, but indirectly affecting other features that the OGD should meet in order to provide social, economic and technological benefits fro individual users, SMEs and governments.

Chatbot for open government data portals: towards making open data user-friendly to users regardless their level of (open) data literacy

Supervisor: Anastasija Nikiforova (Anastasija [dot] Nikiforova[ät] ut [dot] ee)

Open government data (OGD) are expected to be used by everyone, regardless of the domain to which they belong, education, specialism, gender, level of income, etc. However, current research suggests that the availability of these data on the respective portal is insufficient and many users find it difficult to use them, referring to both their findability, accessibility, understandability etc. This is also in line with recent reports of digital literacy level, which in many countries is very low. This requires providing additional support to users to improve their experience with OGD and OGD portals. Thus, the thesis would refer to the existing literature, examine the portal and, preferably, conduct an experiment aimed at identifying challenges associated with the use of OGD (portals). This would constitute the basis for the chatbot. Then, the respective chatbot is expected to be developed and tested with users. Considering the limited time to develop a chatbot and the significance of the underlying database, it is expected that it will be possible to report issues not covered / answered by the chatbot, thereby collecting an additional set of queries for further consideration.

Data Quality or (Big) Data Analytics

Supervisor: Anastasija Nikiforova (Anastasija [dot] Nikiforova[ät] ut [dot] ee)

In case you are interested in ((Big) or (Linked)) data quality or (Big) data analytics, it is possible to discuss your own topic or to collaboratively select the topic based on your knowledge, experience and interest. Topics of both conceptual and purely practical (case studies with pre-defined well-grounded methodology) nature can be proposed and will be considered. Topics covering or related to sensor-generated data are also welcome. Machine Learning (ML) based data quality-related topic is well appreciated.

Towards automating data quality specification by extracting data quality requirements from data features

Supervisor: Anastasija Nikiforova (Anastasija [dot] Nikiforova[ät] ut [dot] ee)

In order to preserve the value of the data in their subsequent use, the prerequisite of data quality must be met. To be able to verify the quality of data, especially third-party data (data produced / collected by a source that is different from the data user), the quality of data should be verified, which is time- and efforts- consuming task. Moreover, it requires skills and knowledge to carry out even relatively simple data quality checks, that the data user may not have. This could be improved by allowing the user with to at least partly check the quality of the data by automatically determining the appropriate data quality requirements (rules) depending on the nature of data (data values, although parameter names could also be used, if consistent with best practices). Thus, the thesis would review the literature on data quality and the most popular data quality issues typically met in data. This list, supplemented by self-defined quality requirements depending on the nature of the data, will serve as an input to a tool (preferably a web-based, but not mandatory), which would allow a user with no or limited data quality knowledge to verify the quality of a dataset with no (or limited) involvement in defining the data quality requirements for the dataset. It would be beneficial, if the author would be able to apply ML knowledge (to continuously enriching the database of the requirements improve their assignment to the data).


Topic/Title ??

Supervisor: David Chapela de la Campa (xxx [dot] xxx [ät] ut [dot] ee)

Description


Topic/Title ??

Supervisor: Orlenys López-Pintado (xxx [dot] xxx [ät] ut [dot] ee)

Description


A Sharding-based Formalized Lifecycle for Scalable Mobile Smart-Contracts

Supervisor: Vimal Kumar Dwivedi (vimal [dot] kumar [dot] dwivedi [ät] ut [dot] ee)

With the inception of blockchain technology, scalability is a huge concern in terms of the number of transactions verified per second (TPS). E.g., the Bitcoin and the Ethereum blockchain have 7- and 14 tps throughput, respectively. The state-of-art shows approaches such as sharding, sharding with ledger-pruning, committee-based approach, and on/off-blockchain that significantly increase the scalability of the blockchains. However, the above algorithms are not feasible for the computation of blockchain on mobile devices due to the following reasons. The algorithms are less secure against malicious nodes because all algorithms are tested on a fraction of 1/4 or 1/3 of malicious nodes and use of the proof-of-work (PoW) for a consensus mechanism. In this paper, we develop a Colored Petri Nets (CPN) model for blockchain protocol that uses the sharding approach to verify transactions on mobile devices. The CPN is a formal method used to design and analyze such protocols to detect flaws and to reduce identified security risks. The sharding divides the blockchain network into multiple smaller sub-networks called shards that could be easily managed by a mobile device. The proposed protocol manages the connection management of a mobile node between the shards using the proof-of-stake (PoS) consensus mechanism and strong fault resiliency against malicious nodes. The empirical evaluation suggests that linear scalability, i.e., throughput is linear to the number of nodes in the network. Furthermore, the state space analysis of the model indicates that the result is a complete and correct formal specification used for further implementation of the protocol.

References:

  • V. Deval and A. Norta, "Mobile Smart-Contract Lifecycle Governance with Incentivized Proof-of-Stake for Oligopoly-Formation Prevention," 2019 19th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGRID), 2019, pp. 165-168, doi: 10.1109/CCGRID.2019.00029.
  • Deval, V., Norta, A., Dai, P., Mahi, N., Earls, J. (2021). Decentralized Governance for Smart Contract Platform Enabling Mobile Lite Wallets Using a Proof-of-Stake Consensus Algorithm. In: Patnaik, S., Wang, TS., Shen, T., Panigrahi, S.K. (eds) Blockchain Technology and Innovations in Business Processes. Smart Innovation, Systems and Technologies, vol 219. Springer, Singapore. https://doi.org/10.1007/978-981-33-6470-7_5

Topic/Title ??

Supervisor: Baseer Ahmad Baheer (xxx [dot] xxx [ät] ut [dot] ee)

Description


Discovering metamorphic relations from software documentation

Supervisor: Alejandra Duque-Torres (alejandra [dot] duque [dot] torres [ät] ut [dot] ee)

Metamorphic testing (TM) examines the relations between inputs and outputs of test runs. These relations are known as metamorphic relations (MR). Currently, MRs are handpicked and require in-depth knowledge of the System Under Test (SUT), as well as its problem domain. As a result, the identification and selection of high-quality MRs is a challenge.

This thesis aims to explore methods for discovering MRs from issues reports, user forums, or some software documentation to develop an initial tool to infer MR automatically. You can get some inspiration from the following papers:

[1] Arianna Blasi, Alessandra Gorla, Michael D. Ernst, Mauro Pezzè, Antonio Carzaniga, MeMo: Automatically identifying metamorphic relations in Javadoc comments for test automation, Journal of Systems and Software, Volume 181, 2021. DOI: https://doi.org/10.1016/j.jss.2021.111041

[2] X. Lin, M. Simon, Z. Peng and N. Niu, "Discovering Metamorphic Relations for Scientific Software From User Forums," in Computing in Science & Engineering, vol. 23, no. 2, pp. 65-72, 1 March-April 2021, doi: 10.1109/MCSE.2020.3046973.

[3] Alberto Goffi, Alessandra Gorla, Michael D. Ernst, and Mauro Pezzè. 2016. Automatic generation of oracles for exceptional behaviors. In Proceedings of the 25th International Symposium on Software Testing and Analysis (ISSTA 2016). Association for Computing Machinery, New York, NY, USA, 213–224. DOI: https://doi.org/10.1145/2931037.2931061

Building metamorphic testing tool

Supervisor: Alejandra Duque-Torres (alejandra [dot] duque [dot] torres [ät] ut [dot] ee)

Metamorphic Testing (MT) has proven to be quite successful in alleviating the oracle problem in several application domains. In MT, system properties are represented as Metamorphic Relations (MRs), which are then utilized to automatically transform an initial set of test inputs (source inputs) into follow-up test inputs. If the system outputs for the initial and follow-up test inputs contradict the MR, the system is deemed faulty.

The aim of this thesis is to investigate if and which tools exist for automatic generations of tests using the MT approach. Depending on the possibilities found, one aim could be to develop a tool that provides the test cases (source and follow-up) given a set of MRs. Depending on limitations the tool might only work in specific circumstances or demine.

Test generation with Pynguin

Supervisor: Alejandra Duque-Torres (alejandra [dot] duque [dot] torres [ät] ut [dot] ee)

Automated unit test generation is a well-known methodology aiming to reduce the developers’ effort of writing tests manually. The most well-known open-source tools that perform automated unit test generation are Randoop and EvoSuite for Java programming language. Automated tool support for test generation is currently lacking for dynamically typed programming languages like Python.

A crucial problem impeding the development of test generation techniques is the fact that programs written in a dynamically typed language usually do not provide any information about variable types, as these languages often allow changing the type of a variable’s value throughout the program, dynamically modify objects at runtime, or provide type coercions that might not match the intent of the programmer.

Recently, an automated unit test generation for Python named Pyngin was proposed. Pynguin is an open-source framework written in and for Python. It uses search-based test generation to generate tests that maximize code coverage. Pynguin incorporates type information into the test-generation process. it is also able to generate covering test cases for programs that do not explicitly provide type information.

The aim of this thesis is to explore Pynguin capabilities on different systems by following the mutation testing approach. One can start by replicating "An Empirical Study of Automated Unit Test Generation for Python" study, and then extend the evaluation to different systems.

Important links,

https://pynguin.readthedocs.io/en/latest/index.html

S. Lukasczyk and G. Fraser. Pynguin: Automated Unit Test Generation for Python. In Proceedings of the 44th International Conference on Software Engineering Companion. ACM, 2022. DOI: 10.1145/3510454.3516829. arXiv:2202.05218

S. Lukasczyk, F. Kroiß, and G. Fraser. An Empirical Study of Automated Unit Test Generation for Python. Submitted to the EMSE Special Edition on “Advances in Search-Based Software Engineering”. arXiv:2111.05003

S. Lukasczyk, F. Kroiß, and G. Fraser. Automated Unit Test Generation for Python. In Proceedings of the 12th Symposium on Search-based Software Engineering. Lecture Notes in Computer Science, vol. 12420, pp. 9–24. Springer, 2020. DOI: 10.1007/978-3-030-59762-7_2. arXiv:2007.14049


Topic/Title ??

Supervisor: Ilia Bider (xxx [dot] xxx [ät] ut [dot] ee)

Description


Development of the Rules Mining (RuM) toolset

Supervisors: Fabrizio Maggi and Anti Alman (firstname [dot] lastname [ät] ut [dot] ee)

Rule mining is focused on the analysis and optimization of business processes using rules that the process is expected to fulfil. In this project, you will work on extending the Rules Mining toolset (RuM), which is developed at University of Tartu in collaboration with other universities. We invite you to have a look at the website. If you are interested in this topic, we can offer you to develop several new features of RuM for your Masters thesis, like for example a module for detecting and visualizing violations of business rules in a user-friendly manner. Knowledge of Java is required.

Extending the Nirdizati Predictive Process Monitoring Engine

Supervisor: Fabrizio Maggi (firstname [dot] lastname [ät] ut [dot] ee)

Predictive process monitoring is concerned with leveraging historical process execution data to predict how running (uncompleted) cases will unfold up to their completion. Historical data is given as input to a machine learning method to train a predictive model that is queried at runtime to predict a process outcome. A predictive model can also be used to provide, together with predictions, also recommendations to the user on what to do to minimize the probability of a negative process outcome. In this thesis project, we will work on the development of Nirdizati (http://nirdizati.org/nirdizati-research/) a predictive process monitoring web application for validating and comparing the performance of different predictive models on the same dataset. If you are interested in this topic, a thesis project can be developed in different directions and can be focused on engineering tasks related to the development of existing predictive process monitoring approaches in Nirdizati or research tasks related to the development of novel predictive process monitoring approaches in the same application. Knowledge of Python and of data science is required.


Title: On the assessment of Machine Learning Algorithms for Fairness

Supervisor: Mohamad Gharib (mohamad dot gharib at ut dot ee)

Co-supervisor: Modar Sulaiman (modar dot sulaiman at ut dot ee)

Artificial intelligence (AI)/Machine learning (ML) can be described as the art and science of letting computers learn to perform complex tasks without being explicitly programmed to [1]. This has led to a dramatic increase in AI/ML adoption in almost all the main domains of our lives. One main advantage of using AI/ML systems is making or assisting in making [critical] decisions. Unlike humans, who might have various biases that can influence their objective decisions, AI/ML systems were expected to make precise and objective decisions [2]. However, AI/ML systems have been proven to suffer from bias and discriminative behavior just like humans [3]. Examples of such biased behavior cover many AI/ML applications [4][5], and may have serious consequences when they occur in sensitive domains, where AI/ML decisions may influence essential human rights (e.g., the right to equality). That is why assuring AI/ML fairness has emerged as an important area for research within the ML community [6].

This has led to a growing interest among AI/ML researchers on the issue of fairness metrics, and vast number of metrics have been developed to quantify AI/ML. However, many recent works have identified limitations, inadequacies, and insufficiencies in almost all existing fairness metrics [7], given that there is no universal means to measure fairness, i.e., there are no clear criteria to assess which measure is the “best”.

The aim of this thesis is to: (1) critically review available AI/ML fairness literature; (2) identify the strength and weaknesses of the best current approaches to measure fairness in AI/ML; (3) specify the requirements for developing new metric(s) that address inadequacies/insufficiencies in existing fairness metrics; and (4) implementing and testing adequate fairness metric(s) that satisfy the aforementioned requirements.

Note: for a comprehensive survey of fairness in machine learning, you can refer to [8].

References:

[1] M. Gharib, P. Lollini, M. Botta, E. Amparore, S. Donatelli, A. Bondavalli, On the Safety of Automotive Systems Incorporating Machine Learning Based Components: A Position Paper, in: Proc. - 48th Annu. IEEE/IFIP Int. Conf. Dependable Syst. Networks Work. DSN-W 2018, 2018: pp. 271–274. https://doi.org/10.1109/DSN-W.2018.00074.

[2] G. Sheshasaayee, Ananthi and Thailambal, Comparison of classification algorithms in text mining, Int. J. Pure Appl. Math. 116 (2017) 425–433.

[3] P. Molnar, L. Gill, Bots at the Gate: a human rights analysis of automated decision-making in Canada’s immigration and refugee system, 2018.

[4] L. Sweeney, Discrimination in online Ad delivery, Commun. ACM. 56 (2013) 44–54. https://doi.org/10.1145/2447976.2447990.

[5] S.L. Blodgett, B. O’Connor, Racial Disparity in Natural Language Processing: A Case Study of Social Media African-American English, in: Fairness, Accountability, Transpar. Mach. Learn., 2017.

[6] A. Agarwal, A. Beygelzimer, M. Dudfk, J. Langford, W. Hanna, A reductions approach to fair classification, in: 35th Int. Conf. Mach. Learn. ICML 2018, 2018: pp. 102–119.

[7] Yao, Sirui, and Bert Huang. "New fairness metrics for recommendation that embrace differences." arXiv preprint arXiv:1706.09838 (2017).

[8] Caton, Simon, and Christian Haas. "Fairness in machine learning: A survey." arXiv preprint arXiv:2010.04053 (2020).

Title: From User Stories to Privacy-aware user stories

Supervisor: Mohamad Gharib (mohamad dot gharib at ut dot ee)

Requirements elicitation is defined as the process of uncovering, acquiring, and elaborating requirements for computer-based systems [1]. There is a general agreement in the Requirements Engineering (RE) community that requirements elicitation is one of the most critical activities in the RE process (e.g., [2]), since getting the right requirements is considered a vital success factor for software development projects [3]. Although there are several requirements elicitation approaches and techniques that have been proposed in the literature, including but not limited to: interviews, questionnaires, task analysis, workshops, prototyping, etc., user stories [4] become almost the standard method for eliciting requirements in the industry [5]. A user story is a short description of high-level stakeholders’ requirements that is represented using a simple template such as “As a <role>, I want <goal>, so that <benefit>”. User stories have been successfully used for eliciting functional requirements, yet they are still being criticized for appropriately eliciting non-functional requirements (NFRs) such as privacy, safety, reliability, etc., where the satisfaction of NFRs is essential for successful software projects.

Privacy has emerged as a key concern since such companies need to protect the privacy of personal information to comply with various privacy laws and regulations (e.g., GDPR in the EU) that many governments have enacted for privacy protection. Accordingly, dealing with privacy concerns is a must these days [6]. Like other NFRs, there is neither standard nor agreed upon user stories approach for eliciting privacy requirements. To this end, the main objective of this thesis is to develop, verify, and validate a privacy-aware user stories approach.

Note: the privacy ontology provided in [7] can be used to facilitate understanding and dealing with privacy requirements in the proposed approach.

References:

[1] Didar Zowghi and Chad Coulin, "Requirements elicitation: A survey of techniques, approaches, and tools," in Engineering and managing software requirements.: Springer, 2005, pp. 19-46.

[2] Ian Sommerville, Software engineering 8: pearson Education limitd, 2007.

[3] Jones Carpers, "Applied Software Measurement: Assuring Productivity and Quality," McGraw-Hill, New York, vol. 17, no. 1, p. 2.

[4] Cohn, M.: User stories applied: for agile software development. Addison Wesley (2004)

[5] Lucassen, Garm, et al. "The use and effectiveness of user stories in practice." International working conference on requirements engineering: Foundation for software quality. Springer, Cham, 2016.

[6] Gharib, Mohamad, John Mylopoulos, and Paolo Giorgini. "COPri-a core ontology for privacy requirements engineering." International Conference on Research Challenges in Information Science. Springer, Cham, 2020.

[7] Gharib, Mohamad, Paolo Giorgini, and John Mylopoulos. "COPri v. 2—A core ontology for privacy requirements." Data & Knowledge Engineering 133 (2021): 101888.

A safety-aware architecture for Safety-Critical Systems incorporating Machine Learning components

Supervisor: Mohamad Gharib (mohamad dot gharib at ut dot ee)

Machine learning (ML) components are increasingly adopted in many automated systems. Their ability to learn and work with novel input/incomplete knowledge and their generalization capabilities make them highly desirable solutions for complex problems [1]. This has motivated many system manufacturers to adopt ML components in their products in many industrial domains (e.g., medical, automotive), performing complex tasks such as pattern recognition, image recognition, and even control [2]. However, some of these systems can be classified as safety-critical systems (SCS), where their failure may cause death or injuries to humans [3]. Accordingly, the performance of such ML components must be assessed and guaranteed to be compliant with the safety requirements of incorporating SCS. Although the area of system safety is well-established, and there exist various methods to identify potential components faults/failures along with countermeasures to eliminate or at least limit the consequences of such faults/failures. Most of these methods do not apply to ML components as they do not properly address the special characteristics of ML components such as non-determinism, non-transparency, and instability to mention a few [4].

The objective of this thesis is to propose general-purpose fail-controlled [5] software architecture for incorporating ML components into SCS. The architecture will adopt state-of-art system and safety engineering principles, and adapt them to address the special characteristics of ML components. The architecture should be able to identify when an ML component may fail to behave as expected and tackle hazardous situations resulting from such failure by implementing countermeasure mechanisms appropriate for the type of failure. The architecture will be validated by applying it to a real/realistic case study/scenario concerning an SCS.

Note: Section 3 in [6] provides a short description of fail-controlled software architecture.

References:

[1] Z. Kurd, T. Kelly, and J. Austin, “Developing artificial neural networks for safety-critical systems,” Neural Computing and Applications, vol. 16, no. 1, pp. 11–19, oct 2007.

[2] J. Schumann, P. Gupta, and Y. Liu, “Applications of Neural Networks in High Assurance Systems,” in Neural Networks, 2010, vol. 268, pp. 1–19.

[3] M. Bozzano and A. Villafiorita, Design and safety assessment of critical systems. Auerbach Publications, 2011.

[4] Gharib, Mohamad, et al. "On the safety of automotive systems incorporating machine learning-based components: a position paper." 2018 48th Annual IEEE/IFIP International Conference on Dependable Systems and Networks Workshops (DSN-W). IEEE, 2018.

[5] Avizienis, A., Laprie, J. C., Randell, B., Landwehr, C., 2004. Basic Concepts And Taxonomy Of Dependable and Secure Computing. IEEE Transactions On Dependable And Secure Computing 1 (1), Pp. 11–33.

[6] Gharib, Mohamad, Tommaso Zoppi, and Andrea Bondavalli. "On the Properness of Incorporating Binary Classification Machine Learning Algorithms into Safety-Critical Systems." IEEE Transactions on Emerging Topics in Computing (2022).

Title: Towards an information type lexicon and taxonomy to improve informational self-determination

Supervisor: Mohamad Gharib (mohamad dot gharib at ut dot ee)

The monetary value of information, and especially Personal Information (PI), is large and growing, and many organizations have already started profiting from this trend. Accordingly, breaches and misuse of PI have increased [1]. For example, privacy merchants shadow Internet users to create very detailed profiles concerning their online behavior and activities. Then, sell these profiles to whoever pays the demanded price [2]. In response to that and other potential misuses of PI, many governments around the world have enacted laws and regulations for privacy/PI protection (e.g., the GDPR in the EU). However, these laws and regulations rely heavily on the concept of informational self-determination that is, usually, implemented through the notice and consent/choice model. A notice (e.g., privacy policy) is supposed to inform Data Subjects (DSs) about how their PI will be processed and shared, and a consent/choice is supposed to acquire a signifying acceptance at the DSs' side concerning the offered notice. Although notifying DSs about data practices is supposed to enable them to make informed privacy decisions, current mechanisms for presenting the notice and obtaining the consent are deeply flawed as indicated by many researchers. More specifically, most notices are long, complex, hard to comprehend, change frequently, do not, usually, precisely specify potential future use of PI, and most importantly they either do not specify what type of information/PI is subject to this notice or use very high abstract terms. To improve the understandability of notices (privacy policies) on DSs side, and allow future automated analysis of such notices, a well-defined taxonomy of information/PI types should be provided.

This thesis aims to: (1) construct a lexicon of information/PI by analyzing an appropriate number (e.g., 15) of privacy policies; (2) derive a well-defined taxonomy of information/PI from the information/PI lexicon; and (3) verify and validate the information/PI taxonomy by applying it to case studies from different domains and assessing its completeness for classifying information/PI.

Note 1: To get an idea of how an information type lexicon can be constructed, you can refer to [3]. Note 2: The information/PI partial taxonomies provided in [4] and [5], can be used as a reference for the taxonomy to be developed.

References:

[1] Gharib, Mohamad, Paolo Giorgini, and John Mylopoulos. "Towards an ontology for privacy requirements via a systematic literature review." International conference on conceptual modeling. Springer, Cham, 2017.

[2] Etzioni, Amitai. "The privacy merchants: What is to be done." U. Pa. J. Const. L. 14 (2011): 929.

[3] Bhatia, Jaspreet, and Travis D. Breaux. "Towards an information type lexicon for privacy policies." 2015 IEEE eighth international workshop on requirements engineering and law (RELAW). IEEE, 2015.

[4] Gharib, Mohamad, Paolo Giorgini, and John Mylopoulos. "COPri v. 2—A core ontology for privacy requirements." Data & Knowledge Engineering 133 (2021): 101888.

[5] Gharib, Mohamad, and John Mylopoulos. "On the Philosophical Foundations of Privacy: Five Theses." IFIP Working Conference on The Practice of Enterprise Modeling. Springer, Cham, 2021.

An integrated approach for analyzing safety and security requirements for Cyber-Physical Systems (CPSs)

Supervisor: Mohamad Gharib (mohamad dot gharib at ut dot ee)

The increased digitization of traditional Physical Systems (PSs) gave birth to the so called Cyber-Physical Systems (CPSs), which integrate sensing, computational, and control capabilities into traditional PSs combined with network connectivity. Consequently, traditional security solutions, although well established and consolidated, might not be effective to protect CPSs against human planned, malicious, complex attacks, which are the typical modern cyber-security attacks. This is quite clear with the increasing number of cyber-security attacks that now can target some of the safety-critical functionalities of CPSs. For instance, modern automotive vehicles have been proven vulnerable to hacking attacks aiming at getting control over the safety-critical functions of the vehicle [1]. An example is the hijacking of the steering and braking units in a Ford Escape [2]. Similarly, hackers were able to remotely hijack a Tesla Model S from a distance of around 12 miles [3]. Chrysler announced a recall for 1.4 million vehicles after a pair of hackers demonstrated that they could remotely hijack a Jeep’s digital systems over the Internet [4]. These are just a few examples of how attackers can exploit weaknesses in the design of safety-critical CPSs and use these weaknesses to conduct their attacks. In short, a CPS cannot be safe unless it is secured.

This thesis aims at proposing an approach that can identify potential cyber-security attack(s) that a specific safety-critical functionality of an automotive system might be subject to, and analyze how each identified attack might be performed (e.g., attack method/means, attacker’s capabilities), and the potential consequences in case such attack success. Then, identify countermeasures to prevent or at least mitigate/minimize the consequences of the attack. Note: application domain can be the automotive domain, or any other safety-critical CPS domain such as Industrial Internet of Things (IIoT), Smart Cities, etc.

References:

[1] M. Dibaei, X. Zheng, K. Jiang, R. Abbas, S. Liu, Y. Zhang, Y. Xiang, and S. Yu, “Attacks and defences on intelligent connected vehicles: a survey,” Digital Communications and Networks, 2020.

[2] A. Greenberg, “Hackers Reveal Nasty New Car Attacks-With Me Behind The Wheel (Video),” p. 1, 2013. https://cutt.ly/4jIQVlX

[3] O. Solon, “Team of hackers take remote control of Tesla Model S from 12 miles away — Technology — The Guardian,” 2016. https://cutt.ly/hjIQZ7P

[4] A. Greenberg, “The Jeep Hackers Are Back to Prove Car Hacking Can Get Much Worse,” 2016. https://www.wired.com/2016/08/jeep-hackers-return-high-speed-steering-acceleration-hacks/



Other Master Thesis Projects

Additional topics proposed by other groups in the Institute of Computer Science are available (click here).



Conversion Master Thesis Projects (15 ECTS)


Case Study in Software Testing or Software Analytics (focus on software quality)

Supervisor: Dietmar Pfahl (dietmar dot pfahl ät ut dot ee)

This is a "placeholder" Masters project topic, which needs to be negotiated individually. If you work in a IT company and you are actively engaged in a software testing or software analytics, or if you can convince your hierarchy to put in time and resources into such a project in the near-term, we can make a case study out of it. We will sit down and formulate concrete hypotheses or questions that you investigate as part of this project, and we will compare your approach and results against state-of-the-art practices. I am particularly interested in supervising theses topics related to mutation testing, testing of embedded software, testing safety-critical systems, security testing of mobile apps, anlysis of project repositories to make software development processes more efficient and effective, but I welcome other topic areas.

The method applied is a case study. Case studies follow a systematic approach as outlined in: Guidelines for conducting and reporting case study research in software engineering by Per Runeson and Martin Höst Important elements of the thesis are literature study, measurement and interviews with experts in the target company.

A mandatory pre-requisite for me to act as supervisor is that there exists a co-supervisor within the case company who is willing to help with the exact scoping of the thesis project and confirms that the topic is in the interest of the case company to an extend that the student can work on the thesis project (at least partly) during work time.


Topic/Title ??

Supervisor: NN (xxx [dot] xxx [ät] ut [dot] ee)

Description



Bachelor Thesis Projects (9 ECTS)


Lab Package Development & Evaluation for the Course 'Software Testing' (LTAT.05.006)

Supervisor: Dietmar Pfahl (dietmar dot pfahl at ut dot ee)

The course Software Testing (LTAT.05.006) has a series of practice sessions in which 2nd and 3rd year BSc students learn a specific test technique. We would like to improve existing labs and add new labs.

This topic is intended for students who have already taken this software testing course and who feel that they can contribute to improving it and by the same token complete their Bachelor's project. The scope of the project can be negotiated with the supervisor to fit the size of a Bachelors project.

The tasks to do for this project are as follows:

  • Selection of a test-related topic for which a lab package should be developed (see list below)
  • Development of the learning scenario (i.e., what shall students learn, what will they do in the lab, what results shall they produce, etc.)
  • Development of the materials for the students to use
  • Development of example solutions (for the lab supervisors)
  • Development of a grading scheme
  • Evaluation of the lab package

Topics for which lab packages could be developed (list can be extended based on student suggestions / one bullet point corresponds to one BSc thesis):

Good examples of past BSc theses that developed new lab packages:


Overview of metamorphic testing tools

Supervisor: Alejandra Duque-Torres (alejandra [dot] duque [dot] torres [ät] ut [dot] ee)

Metamorphic Testing (MT) is a software testing approach proposed by Chen et al. [1] to alleviate the test oracle problem. A test oracle is a mechanism for detecting whether or not the outputs of a program are correct [2], [3]. The oracle problem arises when the SUT lacks an oracle or when developing one to verify computed outputs is practically impossible [3]. MT differs from traditional testing approaches in that it examines the relations between input-output pairs of consecutive SUT executions rather than the outputs of individual SUT executions [1]. These relations are known as metamorphic relations (MR). Currently, MRs are handpicked and require in-depth knowledge of the SUT as well as its problem domain. As a result, the identification and selection of high-quality MRs is a challenge.

The aim of this thesis is to give an updated overview of MT, highlighting the main advances in the technique, its applications, integration with other techniques, and experimental results. On top of that, we are interested to know which tools are available to perform testing using the MT approach, and how the MRs are identified.

The main contribution of this work is to bring together previously scattered studies to lay the groundwork for future research, as well as to introduce newcomers to this testing technique.

[1] T. Y. Chen, S. C. Cheung, and S. M. Yiu, “Metamorphic testing: A new approach for generating next test cases,” Department of Computer Science, Hong Kong University of Science and Technology, Hong Kong, Tech. Rep. HKUST-CS98-01, 1998.

[2] A. Duque-Torres, A. Shalygina, D. Pfahl, and R. Ramler, “Using rule mining for automatic test oracle generation,” in 8th International Workshop on Quantitative Approaches to Software Quality (QuASoQ), ser. QuASoQ’20, 2020.

[3] E. T. Barr, M. Harman, P. McMinn, M. Shahbaz, and S. Yoo, “The oracle problem in software testing: A survey,” IEEE Transactions on Software Engineering, vol. 41, no. 5, pp. 507–525, 2015.

[4] H. Liu, F.-C. Kuo, D. Towey, and T. Y. Chen, “How effectively does metamorphic testing alleviate the oracle problem?” IEEE Transactions on Software Engineering, vol. 40, no. 1, pp. 4–22, 2014.

Lab Package: Random testing using EvoSuite

Supervisor: Alejandra Duque-Torres (alejandra [dot] duque [dot] torres [ät] ut [dot] ee) and Dietmar Pfahl (dietmar [dot] pfahl [ät] ut [dot] ee

The course Software Testing (LTAT.05.006) has a series of practice sessions in which 2nd and 3rd year BSc students learn a specific test technique. We would like to improve the existing lab on random testing. In particular, we would like to use EvoSuit instead of Randop. EvoSuite is a tool that automatically generates test cases with assertions for classes written in Java code.

This topic is intended for students who have already taken this software testing course and who feel that they can contribute to improving it and by the same token complete their Bachelor's project.

The tasks to do for this project are as follows:

  • Selection of a test-related topic for which a lab package should be developed (see list below)
  • Development of the learning scenario (i.e., what shall students learn, what will they do in the lab, what results shall they produce, etc.)
  • Development of the materials for the students to use
  • Development of example solutions (for the lab supervisors)
  • Development of a grading scheme
  • Evaluation of the lab package