PhD student positions currently open!

We are looking for PhD students interested in the fields of Model-based software and IoT testing, test automation and formal verifications of SW and IoT systems. Currently, the following project topics are open:

Model-based Testing Techniques for Complex Software Systems

Testing and defect fixing typically represents 30-50% of the budget of contemporary large software projects, which is a strong motivation for research and development of more efficient testing methods. Test automation based on formal software models represents a potential area of study here. Current formal techniques such as path-based testing or combinatorial / constrained interaction testing provide a solid baseline of these techniques. However, the approaches and algorithms can be improved in a number of ways. An example is adding constraints and more metadata to path-based testing techniques, or prioritization mechanisms to combinatorial / constrained interaction testing algorithms. The goal of the research is to select one of these prospective areas, develop an innovative formal test case generation strategy in this area and compare the results with state of the art techniques.

Advanced Test Automation Methods for the Internet of Things (IoT) Systems

Development of the Internet of Things (loT) technology brings a number of challenges in the Quality Assurance (QA) area, and these challenges are also interesting research opportunities. Compared with classical web-based information systems, loT systems have their specific features, which strongly justify the development of innovative loT- specific formal model-based test automation methods. A typical example is handling the combinatorial explosion in the number of configurations, testing of lot solutions under a limited network connection or more effective model-based methods of integration testing. After initial analysis, one of these prospective topics will be selected, and an innovative formal method developed and experimentally verified during the PhD project.

Context-aware Sensor Clustering in the Internet of Things (IoT) Using Adaptive Learning Search Approach

Internet of things (IoT) is an evolving technological topic that gained importance recently due to its potential impact on our daily life and future societies. It is expected that in the near future our cars, consumer products, industries, and other everyday objects become collaborative via an internet connection and robust data analysis. This combination of corrective objects with data analysis capabilities could be an authoritative source for the intelligent decisions that could transform the way people live in the future. The basic building block of IoT services is the sensors. Sensors are the source of different enormous types of information to be gathered for the analysis and decision process. The number of sensors in the IoT is growing dramatically nowadays. These sensors are with different context depending on the information they provided. Searching for a specific and appropriate sensor to get information by a user is a challenging process. This research aims to design and develop a strategy to help in searching for the appropriate sensors depending on their context. The approach uses an adaptive learning search approach. This hybrid approach will be used adaptively with the system as the sensors are changing with the time. Each time the user provides a query to the System to get some specific information, the strategy first will cluster the sensors based on the context using a clustering algorithm. Then, will search for the appropriate sensor within a cluster. The adaptive process will help the learning algorithm to sort sensors faster and smarter for future queries.

Deep Learning from Crowd to Classify Software Defects

Modern software systems are getting bigger in size nowadays due to different functionalities and configurations. Testing these software systems passes many stages such as unit, system, integration, security testing. In each testing stage, the testers are reporting the founded defects in some defect tracking and recording system. For large configurable software systems, this defect tracking record tends to contain enormous data and details about the defects. The content of defect tracking record is written by engineering using natural language; hence, there is no standard or formal format of this report. Managing and classifying the content of the defect tracking report is a useful task for large projects. Categorizing this report could help to identify the efÍiciency and deficiency of each development teach. It also facilitates resource allocation, defect prioritization, module and component quality analysis, and many other benefits. For small defect reports, defect classification can be done by the managers manually. However, for large software systems, reading the description of each report and then give it a classification is impossible due to time and resource constraints. In fact, if the type of the defect is provided in the report, a standard clustering algorithm can classify the report. However, in practice, these reports just containing the description of the defects. This research aims to design and implement a solution to deep learning from the crowd of experts. Here, a group of experts will be asked to classify a set of defects and then using this set as a training set to train the leaming algorithm. Here, an extensive study must be made to know the sufficient number of experts its effect on the results quality considering the learning from crowd principals and formulations. Also, the solution must contain a natural language processing algorithm to process the defect description. Finally, a clustering algorithm is also needed to classify the defects after all.