For enquiries call:

+1-469-442-0620

banner-in1

  • Programming

Top 10 Software Engineer Research Topics for 2024

Home Blog Programming Top 10 Software Engineer Research Topics for 2024

Play icon

Software engineering, in general, is a dynamic and rapidly changing field that demands a thorough understanding of concepts related to programming, computer science, and mathematics. As software systems become more complicated in the future, software developers must stay updated on industry innovations and the latest trends. Working on software engineering research topics is an important part of staying relevant in the field of software engineering. 

Software engineers can do research to learn about new technologies, approaches, and strategies for developing and maintaining complex software systems. Software engineers can conduct research on a wide range of topics. Software engineering research is also vital for increasing the functionality, security, and dependability of software systems. Going for the Top Programming Certification course contributes to the advancement of the field's state of the art and assures that software engineers can continue to build high-quality, effective software systems.

What are Software Engineer Research Topics?

Software engineer research topics are areas of exploration and study in the rapidly evolving field of software engineering. These research topics include various software development approaches, quality of software, testing of software, maintenance of software, security measures for software, machine learning models in software engineering, DevOps, and architecture of software. Each of these software engineer research topics has distinct problems and opportunities for software engineers to investigate and make major contributions to the field. In short, research topics for software engineering provide possibilities for software engineers to investigate new technologies, approaches, and strategies for developing and managing complex software systems. 

For example, research on agile software development could identify the benefits and drawbacks of using agile methodology, as well as develop new techniques for effectively implementing agile practices. Software testing research may explore new testing procedures and tools, as well as assess the efficacy of existing ones. Software quality research may investigate the elements that influence software quality and develop approaches for enhancing software system quality and minimizing the faults and errors. Software metrics are quantitative measures that are used to assess the quality, maintainability, and performance of software. 

The research papers on software engineering topics in this specific area could identify novel measures for evaluating software systems or techniques for using metrics to improve the quality of software. The practice of integrating code changes into a common repository and pushing code changes to production in small, periodic batches is known as continuous integration and deployment (CI/CD). This research could investigate the best practices for establishing CI/CD or developing tools and approaches for automating the entire CI/CD process.

Top Software Engineer Research Topics

1. artificial intelligence and software engineering.

Intersections between AI and SE

The creation of AI-powered software engineering tools is one potential research area at the intersection of artificial intelligence (AI) and software engineering. These technologies use AI techniques that include machine learning, natural language processing, and computer vision to help software engineers with a variety of tasks throughout the software development lifecycle. An AI-powered code review tool, for example, may automatically discover potential flaws or security vulnerabilities in code, saving developers a lot of time and lowering the chance of human error. Similarly, an AI-powered testing tool might build test cases and analyze test results automatically to discover areas for improvement. 

Furthermore, AI-powered project management tools may aid in the planning and scheduling of projects, resource allocation, and risk management in the project. AI can also be utilized in software maintenance duties such as automatically discovering and correcting defects or providing code refactoring solutions. However, the development of such tools presents significant technical and ethical challenges, such as the necessity of large amounts of high-quality data, the risk of bias present in AI algorithms, and the possibility of AI replacing human jobs. Continuous study in this area is therefore required to ensure that AI-powered software engineering tools are successful, fair, and responsible.

Knowledge-based Software Engineering

Another study area that overlaps with AI and software engineering is knowledge-based software engineering (KBSE). KBSE entails creating software systems capable of reasoning about knowledge and applying that knowledge to enhance software development processes. The development of knowledge-based systems that can help software engineers in detecting and addressing complicated problems is one example of KBSE in action. To capture domain-specific knowledge, these systems use knowledge representation techniques such as ontologies, and reasoning algorithms such as logic programming or rule-based systems to derive new knowledge from already existing data. 

KBSE can be utilized in the context of AI and software engineering to create intelligent systems capable of learning from past experiences and applying that information to improvise future software development processes. A KBSE system, for example, may be used to generate code based on previous code samples or to recommend code snippets depending on the requirements of a project. Furthermore, KBSE systems could be used to improve the precision and efficiency of software testing and debugging by identifying and prioritizing bugs using knowledge-based techniques. As a result, continued research in this area is critical to ensuring that AI-powered software engineering tools are productive, fair, and responsible.

2. Natural Language Processing

Multimodality

Multimodality in Natural Language Processing (NLP) is one of the appealing research ideas for software engineering at the nexus of computer vision, speech recognition, and NLP. The ability of machines to comprehend and generate language from many modalities, such as text, speech, pictures, and video, is referred to as multimodal NLP. The goal of multimodal NLP is to develop systems that can learn from and interpret human communication across several modalities, allowing them to engage with humans in more organic and intuitive ways. 

The building of conversational agents or chatbots that can understand and create responses using several modalities is one example of multimodal NLP in action. These agents can analyze text input, voice input, and visual clues to provide more precise and relevant responses, allowing users to have a more natural and seamless conversational experience. Furthermore, multimodal NLP can be used to enhance language translation systems, allowing them to more accurately and effectively translate text, speech, and visual content.

The development of multimodal NLP systems must take efficiency into account. as multimodal NLP systems require significant computing power to process and integrate information from multiple modalities, optimizing their efficiency is critical to ensuring that they can operate in real-time and provide users with accurate and timely responses. Developing algorithms that can efficiently evaluate and integrate input from several modalities is one method for improving the efficiency of multimodal NLP systems. 

Overall, efficiency is a critical factor in the design of multimodal NLP systems. Researchers can increase the speed, precision, and scalability of these systems by inventing efficient algorithms, pre-processing approaches, and hardware architectures, allowing them to run successfully and offer real-time replies to consumers. Software Engineering training will help you level up your career and gear up to land you a job in the top product companies as a skilled Software Engineer. 

3. Applications of Data Mining in Software Engineering

Mining Software Engineering Data

The mining of software engineering data is one of the significant research paper topics for software engineering, involving the application of data mining techniques to extract insights from enormous datasets that are generated during software development processes. The purpose of mining software engineering data is to uncover patterns, trends, and various relationships that can inform software development practices, increase software product quality, and improve software development process efficiency. 

Mining software engineering data, despite its potential benefits, has various obstacles, including the quality of data, scalability, and privacy of data. Continuous research in this area is required to develop more effective data mining techniques and tools, as well as methods for ensuring data privacy and security, to address these challenges. By tackling these issues, mining software engineering data can continue to promote many positive aspects in software development practices and the overall quality of product.

Clustering and Text Mining

Clustering is a data mining approach that is used to group comparable items or data points based on their features or characteristics. Clustering can be used to detect patterns and correlations between different components of software, such as classes, methods, and modules, in the context of software engineering data. 

On the other hand, text mining is a method of data mining that is used to extract valuable information from unstructured text data such as software manuals, code comments, and bug reports. Text mining can be applied in the context of software engineering data to find patterns and trends in software development processes

4. Data Modeling

Data modeling is an important area of research paper topics in software engineering study, especially in the context of the design of databases and their management. It involves developing a conceptual model of the data that a system will need to store, organize, and manage, as well as establishing the relationships between various data pieces. One important goal of data modeling in software engineering research is to make sure that the database schema precisely matches the system's and its users' requirements. Working closely with stakeholders to understand their needs and identify the data items that are most essential to them is necessary.

5. Verification and Validation

Verification and validation are significant research project ideas for software engineering research because they help us to ensure that software systems are correctly built and suit the needs of their users. While most of the time, these terms are frequently used interchangeably, they refer to distinct stages of the software development process. The process of ensuring that a software system fits its specifications and needs is referred to as verification. This involves testing the system to confirm that it behaves as planned and satisfies the functional and performance specifications. In contrast, validation is the process of ensuring that a software system fulfils the needs of its users and stakeholders. 

This includes ensuring that the system serves its intended function and meets the requirements of its users. Verification and validation are key components of the software development process in software engineering research. Researchers can help to improve the functionality and dependability of software systems, minimize the chance of faults and mistakes, and ultimately develop better software products for their consumers by verifying that software systems are designed correctly and that they satisfy the needs of their users.

6. Software Project Management

Software project management is an important component of software engineering research because it comprises the planning, organization, and control of resources and activities to guarantee that software projects are finished on time, within budget, and to the needed quality standards. One of the key purposes of software project management in research is to guarantee that the project's stakeholders, such as users, clients, and sponsors, are satisfied with their needs. This includes defining the project's requirements, scope, and goals, as well as identifying potential risks and restrictions to the project's success.

7. Software Quality

The quality of a software product is defined as how well it fits in with its criteria, how well it performs its intended functions, and meets the needs of its consumers. It includes features such as dependability, usability, maintainability, effectiveness, and security, among others. Software quality is a prominent and essential research topic in software engineering. Researchers are working to provide methodologies, strategies, and tools for evaluating and improving software quality, as well as forecasting and preventing software faults and defects. Overall, software quality research is a large and interdisciplinary field that combines computer science, engineering, and statistics. Its mission is to increase the reliability, accessibility, and overall quality of software products and systems, thereby benefiting both software developers and end consumers.

8. Ontology

Ontology is a formal specification of a conception of a domain used in computer science to allow knowledge sharing and reuse. Ontology is a popular and essential area of study in the context of software engineering research. The construction of ontologies for specific domains or application areas could be a research topic in ontology for software engineering. For example, a researcher may create an ontology for the field of e-commerce to give common knowledge and terminology to software developers as well as stakeholders in that domain. The integration of several ontologies is another intriguing study topic in ontology for software engineering. As the number of ontologies generated for various domains and applications grows, there is an increasing need to integrate them in order to enable interoperability and reuse.

9. Software Models

In general, a software model acts as an abstract representation of a software system or its components. Software models can be used to help software developers, different stakeholders, and users communicate more effectively, as well as to properly evaluate, design, test, and maintain software systems. The development and evaluation of modeling languages and notations is one research example connected to software models. Researchers, for example, may evaluate the usefulness and efficiency of various modeling languages, such as UML or BPMN, for various software development activities or domains. 

Researchers could also look into using software models for software testing and verification. They may investigate how models might be used to produce test cases or to do model checking, a formal technique for ensuring the correctness of software systems. They may also examine the use of models for monitoring at runtime and software system adaptation.

The Software Development Life Cycle (SDLC) is a software engineering process for planning, designing, developing, testing, and deploying software systems. SDLC is an important research issue in software engineering since it is used to manage software projects and ensure the quality of the resultant software products by software developers and project managers. The development and evaluation of novel software development processes is one SDLC-related research topic. SDLC research also includes the creation and evaluation of different software project management tools and practices. 

Researchers may also check the implementation of SDLC in specific sectors or applications. They may, for example, investigate the use of SDLC in the development of systems that are more safety-critical, such as medical equipment or aviation systems, and develop new processes or tools to ensure the safety and reliability of these systems. They may also look into using SDLC to design software systems in new sectors like the Internet of Things or in blockchain technology.

Why is Software Engineering Required?

Software engineering is necessary because it gives a systematic way to developing, designing, and maintaining reliable, efficient, and scalable software. As software systems have become more complicated over time, software engineering has become a vital discipline to ensure that software is produced in a way that is fully compatible with end-user needs, reliable, and long-term maintainable.

When the cost of software development is considered, software engineering becomes even more important. Without a disciplined strategy, developing software can result in overinflated costs, delays, and a higher probability of errors that require costly adjustments later. Furthermore, software engineering can help reduce the long-term maintenance costs that occur by ensuring that software is designed to be easy to maintain and modify. This can save money in the long run by lowering the number of resources and time needed to make software changes as needed.

2. Scalability

Scalability is an essential factor in software development, especially for programs that have to manage enormous amounts of data or an increasing number of users. Software engineering provides a foundation for creating scalable software that can evolve over time. The capacity to deploy software to diverse contexts, such as cloud-based platforms or distributed systems, is another facet of scalability. Software engineering can assist in ensuring that software is built to be readily deployed and adjusted for various environments, resulting in increased flexibility and scalability.

3. Large Software

Developers can break down huge software systems into smaller, simpler parts using software engineering concepts, making the whole system easier to maintain. This can help to reduce the software's complexity and makes it easier to maintain the system over time. Furthermore, software engineering can aid in the development of large software systems in a modular fashion, with each module doing a specific function or set of functions. This makes it easier to push new features or functionality to the product without causing disruptions to the existing codebase.

4. Dynamic Nature

Developers can utilize software engineering techniques to create dynamic content that is modular and easily modifiable when user requirements change. This can enable adding new features or functionality to dynamic content easier without disturbing the existing codebase. Another factor to consider for dynamic content is security. Software engineering can assist in ensuring that dynamic content is generated in a secure manner that protects user data and information.

5. Better Quality Management

An organized method of quality management in software development is provided by software engineering. Developers may ensure that software is conceived, produced, and maintained in a way that fulfills quality requirements and provides value to users by adhering to software engineering principles. Requirement management is one component of quality management in software engineering. Testing and validation are another part of quality control in software engineering. Developers may verify that their software satisfies its requirements and is error-free by using an organized approach to testing.

In conclusion, the subject of software engineering provides a diverse set of research topics with the ability to progress the discipline while enhancing software development and maintenance procedures. This article has dived deep into various research topics in software engineering for masters and research topics for software engineering students such as software testing and validation, software security, artificial intelligence, Natural Language Processing, software project management, machine learning, Data Mining, etc. as research subjects. Software engineering researchers have an interesting chance to explore these and other research subjects and contribute to the development of creative solutions that can improve software quality, dependability, security, and scalability. 

Researchers may make important contributions to the area of software engineering and help tackle some of the most serious difficulties confronting software development and maintenance by staying updated with the latest research trends and technologies. As software grows more important in business and daily life, there is a greater demand for current research topics in software engineering into new software engineering processes and techniques. Software engineering researchers can assist in shaping the future of software creation and maintenance through their research, ensuring that software stays dependable, safe, reliable and efficient in an ever-changing technological context. KnowledgeHut’s top Programming certification course will help you leverage online programming courses from expert trainers.

Frequently Asked Questions (FAQs)

Ans: To find a research topic in software engineering, you can review recent papers and conference proceedings, talk to different experts in the field, and evaluate your own interests and experience. You can use a combination of these approaches. 

Ans: You should study software development processes, various programming languages and their frameworks, software testing and quality assurance, software architecture, various design patterns that are currently being used, and software project management as a software engineering student. 

Ans: Empirical research, experimental research, surveys, case studies, and literature reviews are all types of research in software engineering. Each sort of study has advantages and disadvantages, and the research method chosen is determined by the research objective, resources, and available data. 

Profile

Eshaan Pandey

Eshaan is a Full Stack web developer skilled in MERN stack. He is a quick learner and has the ability to adapt quickly with respect to projects and technologies assigned to him. He has also worked previously on UI/UX web projects and delivered successfully. Eshaan has worked as an SDE Intern at Frazor for a span of 2 months. He has also worked as a Technical Blog Writer at KnowledgeHut upGrad writing articles on various technical topics.

Avail your free 1:1 mentorship session.

Something went wrong

Upcoming Programming Batches & Dates

Course advisor icon

Logo

Student Projects and Thesis Topics

Selection of proposals for student projects ("Projekt" for Bachelor, "Praktikum" and "Team-Projekt" for Master) and thesis topics (Bachelor and Master). Please do not hesitate to contact us if you are interested in a project or thesis at the Chair of Software Engineering. If you have your own idea for a project or a thesis topic: Let's talk about it!

Available - Read More…

In progress

Selection of student projects and thesis topics on which students are currently working on. If you find one of the topics interesting please ask the tutor about similar or follow up projects/theses.

In progress - Read More…

Selection of student projects and thesis topics that have already been finished. If you find one of the topics interesting please ask the tutor about similar or follow up projects/theses.

Finished - Read More…

California State University, San Bernardino

Home > College of Natural Sciences > COMPUTERSCI-ENGINEERING > COMPUTERSCI-ENGINEERING-ETD

Computer Science and Engineering Theses, Projects, and Dissertations

Theses/projects/dissertations from 2023 2023.

CLASSIFICATION OF LARGE SCALE FISH DATASET BY DEEP NEURAL NETWORKS , Priyanka Adapa

GEOSPATIAL WILDFIRE RISK PREDICTION USING DEEP LEARNING , Abner Alberto Benavides

HUMAN SUSPICIOUS ACTIVITY DETECTION , Nilamben Bhuva

MAX FIT EVENT MANAGEMENT WITH SALESFORCE , AKSHAY DAGWAR

MELANOMA DETECTION BASED ON DEEP LEARNING NETWORKS , Sanjay Devaraneni

Heart Disease Prediction Using Binary Classification , Virendra Sunil Devare

CLASSIFICATION OF THORAX DISEASES FROM CHEST X-RAY IMAGES , Sharad Jayusukhbhai Dobariya

WEB BASED MANAGEMENT SYSTEM FOR HOUSING SOCIETY , Likhitha Reddy Eddala

Sales and Stock Management System , Rashmika Gaddam Ms

CONTACTLESS FOOD ORDERING SYSTEM , Rishivar Kumar Goli

RESTAURANT MANAGEMENT WEBSITE , Akhil Sai Gollapudi

DISEASE OF LUNG INFECTION DETECTION USING CNN MODEL -BAYESIAN OPTIMIZATION , poojitha gutha

DATA POISONING ATTACKS ON PHASOR MEASUREMENT UNIT DATA , Rutuja Sanjeev Haridas

CRIME MAPPING ANALYSIS USING WEB APPLICATION. , Lavanya Krishnappa

A LONG-TERM FUNDS PREDICTOR BASED ON DEEP LEARNING , SHUIYI KUANG

LIVER SEGMENTATION AND LESION DETECTION IN MEDICAL IMAGES USING A DEEP LEARNING-BASED U-NET MODEL , Kaushik Mahida

PHASOR MEASUREMENT UNIT DATA VISUALIZATION , Nikhila Mandava

TWITTER POLICING , Hemanth Kumar Medisetty

TRANSACTION MANAGEMENT SYSYEM FOR A PUBLISHER , HASSAIN SHAREEF MOHAMMED JR

LOBANGU: AN OPTICAL CHARACTER RECOGNITION RECEIPT MANAGEMENT APP FOR HEALTH CENTER PHARMACIES IN THE D.R.CONGO AND SURROUNDING EASTERN AFRICAN COUNTRIES , Bénis Munganga

PREDICTIVE MODEL FOR CFPB CONSUMER COMPLAINTS , Vyshnavi Nalluri

REVIEW CLASSIFICATION USING NATURAL LANGUAGE PROCESSING AND DEEP LEARNING , Brian Nazareth

Brain Tumor Detection Using MRI Images , Mayur Patel

QUIZ WEB APPLICATION , Dipti Rathod

HYPOTHYROID DISEASE ANALYSIS BY USING MACHINE LEARNING , SANJANA SEELAM

Pillow Based Sleep Tracking Device Using Raspberry Pi , Venkatachalam Seviappan

FINSERV ANDROID APPLICATION , Harsh Piyushkumar Shah

AUTOMATED MEDICAL NOTES LABELLING AND CLASSIFICATION USING MACHINE LEARNING , Akhil Prabhakar Thota

GENETIC PROGRAMMING TO OPTIMIZE PERFORMANCE OF MACHINE LEARNING ALGORITHMS ON UNBALANCED DATA SET , Asitha Thumpati

GOVERNMENT AID PORTAL , Darshan Togadiya

GENERAL POPULATION PROJECTION MODEL WITH CENSUS POPULATION DATA , Takenori Tsuruga

LUNG LESION SEGMENTATION USING DEEP LEARNING APPROACHES , Sree Snigdha Tummala

DETECTION OF PHISHING WEBSITES USING MACHINE LEARNING , Saranya Valleri

Machine Learning for Kalman Filter Tuning Prediction in GPS/INS Trajectory Estimation , Peter Wright

Theses/Projects/Dissertations from 2022 2022

LEARN PROGRAMMING IN VIRTUAL REALITY? A PROJECT FOR COMPUTER SCIENCE STUDENTS , Benjamin Alexander

LUNG CANCER TYPE CLASSIFICATION , Mohit Ramajibhai Ankoliya

HIGH-RISK PREDICTION FOR COVID-19 PATIENTS USING MACHINE LEARNING , Raja Kajuluri

IMPROVING INDIA’S TRAFFIC MANAGEMENT USING INTELLIGENT TRANSPORTATION SYSTEMS , Umesh Makhloga

DETECTION OF EPILEPSY USING MACHINE LEARNING , Balamurugan Murugesan

SOCIAL MOBILE APPLICATION: UDROP , Mahmoud Oraiqat

Improved Sensor-Based Human Activity Recognition Via Hybrid Convolutional and Recurrent Neural Networks , Sonia Perez-Gamboa

College of Education FileMaker Extraction and End-User Database Development , Andrew Tran

DEEP LEARNING EDGE DETECTION IN IMAGE INPAINTING , Zheng Zheng

Theses/Projects/Dissertations from 2021 2021

A General Conversational Chatbot , Vipin Nambiar

Verification System , Paras Nigam

DESKTOP APPLICATION FOR THE PUZZLE BOARD GAME “RUSH HOUR” , Huanqing Nong

Ahmedabad City App , Rushabh Picha

COMPUTER SURVEILLANCE SYSTEM USING WI-FI FOR ANDROID , Shashank Reddy Saireddy

ANDROID PARKING SYSTEM , Vishesh Reddy Sripati

Sentiment Analysis: Stock Index Prediction with Multi-task Learning and Word Polarity Over Time , Yue Zhou

Theses/Projects/Dissertations from 2020 2020

BUBBLE-IN DIGITAL TESTING SYSTEM , Chaz Hampton

FEEDBACK REVIEW SYSTEM USING SENTIMENT ANALYSIS , Vineeth Kukkamalla

WEB APPLICATION FOR MOVIE PERFORMANCE PREDICTION , Devalkumar Patel

Theses/Projects/Dissertations from 2019 2019

REVIEWS TO RATING CONVERSION AND ANALYSIS USING MACHINE LEARNING TECHNIQUES , Charitha Chanamolu

EASY EXAM , SARTHAK DABHI

EXTRACT TRANSFORM AND LOADING TOOL FOR EMAIL , Amit Rajiv Lawanghare

VEHICLE INFORMATION SYSTEM USING BLOCKCHAIN , Amey Zulkanthiwar

Theses/Projects/Dissertations from 2018 2018

USING AUTOENCODER TO REDUCE THE LENGTH OF THE AUTISM DIAGNOSTIC OBSERVATION SCHEDULE (ADOS) , Sara Hussain Daghustani

California State University, San Bernardino Chatbot , Krutarth Desai

ORGANIZE EVENTS MOBILE APPLICATION , Thakshak Mani Chandra Reddy Gudimetla

SOCIAL NETWORK FOR SOFTWARE DEVELOPERS , Sanket Prabhakar Jadhav

VIRTUALIZED CLOUD PLATFORM MANAGEMENT USING A COMBINED NEURAL NETWORK AND WAVELET TRANSFORM STRATEGY , Chunyu Liu

INTER PROCESS COMMUNICATION BETWEEN TWO SERVERS USING MPICH , Nagabhavana Narla

SENSOR-BASED HUMAN ACTIVITY RECOGNITION USING BIDIRECTIONAL LSTM FOR CLOSELY RELATED ACTIVITIES , Arumugam Thendramil Pavai

NEURAL NETWORK ON VIRTUALIZATION SYSTEM, AS A WAY TO MANAGE FAILURE EVENTS OCCURRENCE ON CLOUD COMPUTING , Khoi Minh Pham

EPICCONFIGURATOR COMPUTER CONFIGURATOR AND CMS PLATFORM , IVO A. TANTAMANGO

STUDY ON THE PATTERN RECOGNITION ENHANCEMENT FOR MATRIX FACTORIZATIONS WITH AUTOMATIC RELEVANCE DETERMINATION , hau tao

Theses/Projects/Dissertations from 2017 2017

CHILDREN’S SOCIAL NETWORK: KIDS CLUB , Eiman Alrashoud

MULTI-WAY COMMUNICATION SYSTEM , S. Chinnam

WEB APPLICATION FOR GRADUATE COURSE RECOMMENDATION SYSTEM , Sayali Dhumal

MOBILE APPLICATION FOR ATTENDANCE SYSTEM COYOTE-ATTENDANCE , Sindhu Hari

WEB APPLICATION FOR GRADUATE COURSE ADVISING SYSTEM , Sanjay Karrolla

Custom T-Shirt Designs , Ranjan Khadka

STUDENT CLASS WAITING LIST ENROLLMENT , AISHWARYA LACHAGARI

ANDROID MOBILE APPLICATION FOR HOSPITAL EXECUTIVES , Vihitha Nalagatla

PIPPIN MACHINE , Kiran Reddy Pamulaparthy

SOUND MODE APPLICATION , Sindhuja Pogaku

I2MAPREDUCE: DATA MINING FOR BIG DATA , Vishnu Vardhan Reddy Sherikar

COMPARING AND IMPROVING FACIAL RECOGNITION METHOD , Brandon Luis Sierra

NATURAL LANGUAGE PROCESSING BASED GENERATOR OF TESTING INSTRUMENTS , Qianqian Wang

AUTOMATIC GENERATION OF WEB APPLICATIONS AND MANAGEMENT SYSTEM , Yu Zhou

Theses/Projects/Dissertations from 2016 2016

CLOTH - MODELING, DEFORMATION, AND SIMULATION , Thanh Ho

CoyoteLab - Linux Containers for Educational Use , Michael D. Korcha

PACKET FILTER APPROACH TO DETECT DENIAL OF SERVICE ATTACKS , Essa Yahya M Muharish

DATA MINING: TRACKING SUSPICIOUS LOGGING ACTIVITY USING HADOOP , Bir Apaar Singh Sodhi

Theses/Projects/Dissertations from 2015 2015

APPLY DATA CLUSTERING TO GENE EXPRESSION DATA , Abdullah Jameel Abualhamayl Mr.

Density Based Data Clustering , Rayan Albarakati

Developing Java Programs on Android Mobile Phones Using Speech Recognition , Santhrushna Gande

THE DESIGN AND IMPLEMENTATION OF AN ADAPTIVE CHESS GAME , Mehdi Peiravi

CALIFORNIA STATE UNIVERSITY SAN BERNARDINO WiN GPS , Francisco A. Ron

ESTIMATION ON GIBBS ENTROPY FOR AN ENSEMBLE , Lekhya Sai Sake

A WEB-BASED TEMPERATURE MONITORING SYSTEM FOR THE COLLEGE OF ARTS AND LETTERS , Rigoberto Solorio

ANTICS: A CROSS-PLATFORM MOBILE GAME , Gerren D. Willis

Theses/Projects/Dissertations from 2014 2014

Introducing Non-Determinism to the Parallel C Compiler , Rowen Concepcion

THE I: A CLIENT-BASED POINT-AND-CLICK PUZZLE GAME , Aldo Lewis

Interactive Student Planner Application , NII TETTEH TACKIE YARBOI

ANDROID MOBILE APPLICATION FOR CREST COMMUNITY CHURCH IN RIVERSIDE , Ran Wei

Proton Computed Tomography: Matrix Data Generation Through General Purpose Graphics Processing Unit Reconstruction , micah witt

Advanced Search

  • Notify me via email or RSS
  • Department, Program, or Office
  • Disciplines

Author Corner

  • School of Computer Science and Engineering Website

A service of the John M. Pfau Library

Digital Commons Network

Home | About | FAQ | My Account | Accessibility Statement

Privacy Copyright Acrobat Reader

Offered MSc Thesis topics

See also our current list of projects on the Research page to get an idea of what is topical in our research. Another list of all our projects is also available in Tuhat, with responsible persons listed (you can ask them about potential thesis topics).

A more exhaustive list of topics from the department is available at CSM Master thesis topics (moodle).

General writing Instructions

We have written some instructions to help the students write their Master's theses, seminar papers and B.Sc. theses. Please, read the guide before starting your thesis work: Scientific Writing – Guide of the Empirical Software Engineering Research Group .

Master's Thesis Topics

Software engineering and technology are prevalent areas for thesis at the department, and many candidates ask for thesis topics every academic year. We do our best to accommodate the requests, but the applicants can smoothen the process by taking an active role in thinking about potential topics based on the themes presented below.

We provide guidance for selecting a suitable topic and the supervision and support needed to complete the work. Please contact Antti-Pekka Tuovinen or Tomi Männistö if you are interested. You can also contact the group members to ask about the subject areas they are working on.

Suppose you, as a student, are working in software development, processes, architecture or something related. In that case, there is a good chance of finding an interesting thesis topic that closely relates to your work. In such a case, the actual work often provides an excellent problem to investigate, propose or try out potential solutions for, or the case can act as a rich source of data about the practice of software development.

We also welcome companies to suggest potential topics for Master's thesis. The topics can be general, based on existing research, or they may require original research and problem-solving. We will help to evaluate and fine-tune the proposals. Depending on the topic, you may also need to be prepared to provide guidance and assistance during the thesis project.

Please contact Antti-Pekka Tuovinen or Tomi Männistö if you have an idea for an industrial thesis and need further information.

The listing below introduces our current research areas and potential topics for the thesis. Each topic has a short description and the names of the researchers working on the topic. Please contact them for more details about the research and thesis work. Note that you can also suggest and discuss other topics within the general area of software engineering research. We encourage creativity and student-centred insight in selecting and defining the topic.

Earlier theses

Some earlier MSc thesis titles below give some idea about the topics. You can try looking up more info from E-thesis , but note that it is up to the author if the actual thesis pdf is available online. Just search using the title (or part of it) in quotation marks. You can also go to the library in person and read all theses (even those without a public pdf) on a kiosk workstation (ask the staff if you need help).

  • Exploring study paths and study success in undergraduate Computer Science studies
  • EU:n tietosuoja-asetuksen GDPR:n vaikutus suomalaisissa pk-yrityksissä 2018-2020
  • Industrial Surveys on Software Testing Practices: A Literature Review
  • Laskennallisesti raskaan simulointiohjelmistokomponentin korvaaminen reaaliaikasovelluksessa koneoppimismenetelmällä
  • Web service monitoring tool development
  • Case study: identifying developer oriented features and capabilities of API developer portals
  • Documenting software architecture design decisions in continuous software development – a multivocal literature review
  • Elinikäinen oppiminen ohjelmistotuotannon ammattilaisen keskeisenä
  • Miten huoltovarmuus toteutuu Ylen verkkouutisissa?
  • Utilizing Clustering to Create New Industrial Classifications of Finnish Businesses: Design Science Approach
  • Smoke Testing Display Viewer 5
  • Modernizing usability and development with microservices
  • On the affect of psychological safety, team leader’s behaviour and team’s gender diversity on software team performance: A literature review
  • Lean software development and remote working during COVID-19 - a case study
  • Julkaisusyklin tihentämisen odotukset, haasteet ja ratkaisut
  • Software Development in the Fintech Industry: A Literature Review
  • Design of an automated pipeline to improve the process of cross-platform mobile building and deployment
  • Haasteet toimijamallin käytössä ohjelmistokehityksessä, systemaattinen kirjallisuuskatsaus
  • Light-weight method for detecting API breakages in microservice architectures
  • Kirjallisuuskatsaus ja tapaustutkimus API-hallinnasta mikropalveluarkkitehtuurissa
  • In-depth comparison of BDD testing frameworks for Java
  • Itseohjautuvan auton moraalikoneen kehittämisen haasteet
  • Towards secure software development at Neste - a case study
  • Etuuspohjaisen eläkejärjestelyn laskennan optimointi vakuutustenhallintajärjestelmässä
  • Internal software startup within a university – producing industry-ready graduates
  • Applying global software development approaches to building high-performing software teams
  • Systemaattinen kirjallisuuskatsaus lääkinnällisistä ohjelmistoista ja ketterästä ohjelmistokehityksestä
  • Matalan kynnyksen ohjelmointialustan hyödyntäminen projektinhalinnassa
  • Uncertainty Estimation with Calibrated Confidence Scores
  • Tool for grouping test log failures using string similarity algorithms
  • Design, Implementation, and Validation of a Uniform Control Interface for Drawing Robots with ROS2
  • Assuring Model Documentation in Continuous Machine Learning System Development
  • Verkkopalvelun saavutettavuuden arviointi ja kehittäminen ohjelmistotuoteyrityksessä
  • Methods for API Governance automation: managing interfaces in a microservice system
  • Improving Web Performance by Optimizing Cascading Style Sheets (CSS): Literature Review and Empirical Findings
  • Implementing continuous delivery for legacy software
  • Using ISO/IEC 29110 to Improve Software Testing in an Agile VSE
  • An Open-Source and Portable MLOps Pipeline for Continuous Training and Continuous Deployment
  • System-level testing with microservice architecture
  • Green in software engineering: tools, methods and practices for reducing the environmental impacts of software use – a literature review
  • Machine Learning Monitoring and Maintenance: A Multivocal Literature Review
  • Green in Software Engineering: A Systematic Literature Review
  • Comparison of Two Open Source Feature Stores for Explainable Machine Learning
  • Open-source tools for automatic generation of game content
  • Verkkosovelluskehysten energiankulutus: vertaileva tutkimus Blazor WebAssembly ja JavaScript
  • Infrastruktuuri koodina -toimintatavan tehostaminen
  • Geospatial DBSCAN Hyperparameter Optimization with a Novel Genetic Algorithm Method
  • Hybrid mobile development using Ionic framework
  • Correlation of Unit Test Code Coverage with Software Quality
  • Factors affecting productivity of software development teams and individual developers: A systematic literature review
  • Case study: Performance of JavaScript on server side
  • Reducing complexity of microservices with API-Saga
  • Organizing software architecture work in a multi-team, multi-project, agile environment
  • Cloud-based visual programming BIM design workflow
  • IT SIAM toimintojen kehitysprojekti
  • PhyloStreamer: A cloud focused application for integrating phylogenetic command-line tools into graphical interfaces
  • Evaluation of WebView Rendering Performance in the Context of React Native
  • A Thematic Review of Preventing Bias in Iterative AI Software Development
  • Adopting Machine Learning Pipeline in Existing Environment

Current topic areas of interest to the research group (see below for the details)

Open source-related topic areas in collaboration with daimler truck.

  • Open Chain: Developing the Journey to Open Chain Compliance at the example of Daimler Truck
  • How should an industrial company (for example, Daimler Truck) leverage open source software: Building a framework with different dimensions, from efficient governance to value in inner source and open source projects
  • How can an organization efficiently incentivize inner-source activities? (on different levels, culture, infrastructure, governance, regulations & commitments.)
  • How can an industrial organization leverage value from actively engaging in FOSS activities (especially on active creation and contribution)
  • How can spillovers help Industrial companies to educate the rare resources but also attract and retain talent? Ref: Gandal, N., Naftaliev, P., & Stettner, U. (2017). Following the code: spillovers and knowledge transfer. Review of Network Economics , 16 (3), 243-267. Abstract: Knowledge spillovers in Open Source Software (OSS) can occur via two channels: In the first channel, programmers take knowledge and experience gained from one OSS project they work on and employ it in another OSS project they work on. In the second channel, programmers reuse software code by taking code from an OSS project and employing it in another. We develop a methodology to measure software reuse in a large OSS network at the micro level and show that projects that reuse code from other projects have higher success. We also demonstrate knowledge spillovers from projects connected via common programmers.

If interested, contact Tomi Männistö for further information

Hybrid software development (TOPIC AREA)

The current pandemic has brought many, even radical, changes to almost all software companies and software development organizations. Especially the sudden moves to working from home (WFH) in March 2020 forced them to adapt and even rethink many software engineering practices in order to continue productive software development under the new constraints.

Now (December 2021), various hybrid ways of working appear to become the new "normal" for the software industry in general. For instance, many companies are offering flexible workplace arrangements (WFX).

This thesis theme aims to explore and possibly explain such changes in contemporary software engineering. Potential research questions include the following:

  • How has the COVID-19 pandemic affected different software engineering activities (negatively or positively)? What are the mechanisms?
  • What adaptations and countermeasures have different software organizations devised to cope with the challenges?
  • What could be learned from them for future hybrid software development processes, practices and tools?

Contact: Petri Kettunen

MLOps -- as a derivative of DevOps -- is about practice and tools for ML-based systems that technically enable iterative software engineering practice. We have several funded positions in the area of MLOps in our research projects (IMLE4 https://itea4.org/project/iml4e.html and AIGA https://ai-governance.eu/ ) that can be tailored to the interest of the applicant. For details, contact Mikko Raatikainen ( [email protected] ).

Digital Twin of Yourself

Digital twins are virtual world dynamic models of real-world physical objects. They originate from manufacturing domains. In such environments, they are utilized, for example, for predictive maintenance of equipment based on real-time machine data.

Recently the application domains of digital twins have broadened to cover living objects – especially human beings, for instance, in medical domains (so-called Human Digital Twins). In this thesis topic, the objective is to design a digital twin of yourself. The choice of the digital twin dynamic model is free, and so are the data inputs. One possibility could be, for instance, your real-life physical exercise data (e.g., from a heart-rate monitor). You could also consider your Citizen Digital Twin, following your study data and yourself as a lifelong learner.

Software engineering and climate change (TOPIC AREA)

Global climate change may have various impacts on future software engineering on the one hand, and software engineering may affect climate change directly or indirectly, positively or negatively on the other hand. All that opens up many potentially important research problems. Specific theses in this topic area could be, for instance, the following themes:

  • Green IT (e.g., engineering new software with energy-efficiency requirements in order to reduce or limit power consumption and consequently the carbon footprint)
  • Carbon neutrality goals of software companies (e.g., software development organizations decreasing physical travelling in order to reduce their greenhouse gas emissions)
  • Developing software products or services for measuring climate change-related factors

The thesis could be a literature review, an empirical case study or a scientific design work.

Life-long learning for the modern software engineering profession

Specific intended learning outcomes for computer science (software engineering) graduates are life-long learning skills. Such skills and capabilities are essential in modern industrial software engineering environments. Workplace learning is a vital part of most professional software development jobs. What are the necessary life-long learning skills exactly? Why are those skills and capabilities essential in different software organizations? How can they be learned and improved? How do software professionals learn in their workplaces? What particular skills will be more critical in the future? Why? This topic could be investigated by case studies in real-life software organizations. The specific research questions could be some of the above or possibly focused on particular skills (e.g., assessing one's own and the works of other software developers). Contact: Petri Kettunen

Software development in non-ICT contexts (TOPIC AREA)

Software technology is increasingly applied in non-ICT domains and environments (e.g., healthcare, financial sector, telecommunications systems, industrial automation). Such conditions bring up many considerations for effective and efficient software engineering, such as: What are the key characteristics of different use domains (e.g., complexity, reliability)? What is the scope of the particular software system? How are the software requirements engineered? What are the specific constraints (e.g., regulations) in different domains to be considered in software engineering? How to measure the success of software projects and products? What software development methods (e.g., agile) are applicable in different domains? Why/why not? What particular software-related competencies are needed (e.g., digitalization, IoT, cyber-physical systems)? This research problem could be investigated theoretically (literature study) and empirically in industrial case studies. The actual research questions could be some of the above or formulated individually. Contact: Petri Kettunen

Creatively self-adaptive software architectures (TOPIC AREA)

We have recently started exciting research in the intersection between the research fields of self-adaptive software and computational creativity, intending to develop novel software architectures that can creatively adapt themselves in unforeseen situations. This initiative is a new research collaboration between the Discovery Group of Prof. Hannu Toivonen and ESE. There are different options for thesis work with either of the groups. To get a better idea of the topic, see Linkola et al. 2017. Aspects of Self-awareness: An Anatomy of Metacreative Systems. http://computationalcreativity.net/iccc2017/ICCC_17_accepted_submissions/ICCC-1… Contact: Tomi Männistö

Continuous Experimentation (TOPIC AREA)

Software product and service companies need capabilities to evaluate their development decisions and customer and user value. Continuous experimentation, as an experiment-driven development approach, may reduce such development risks by iteratively testing product and service assumptions critical to the software's success. Experiment-driven development has been a crucial component of software development, especially in the last decade. Companies such as Microsoft, Facebook, Google, Amazon and many others often conduct experiments to base their development decisions on data collected from field usage.  Contact: Tomi Männistö

Digitalization and digital transformations: impacts on software engineering and systems development (TOPIC AREA)

Digitalization is nowadays cross-cutting and inherent in most areas of businesses and organizations. Software is increasingly built-in and ubiquitous. Such trends and developments bring up many potential software research problems, such as: What does digitalization entail in different contexts? How should digitalization be taken into account in software development processes? What is the role of customer/user involvement in software-intensive systems development (e.g., digital services)? What are the key quality attributes? What new software engineering skills and competencies may be needed? What is the role of software (and IT) in general in different digital transformations (e.g., vs business process development)? How is digitalization related to traditional software engineering and computer science disciplines in different contexts? What aspects of software development and digital technologies are fundamentally new or different from the past? This research problem could be investigated theoretically (literature study) or empirically in industrial case studies. The actual research questions could be some of the above or formulated individually. Contact: Petri Kettunen

High-performing software teams (TOPIC AREA)

How is (high) performance defined and measured in software development (e.g., productivity)? Which factors affect it - positively or negatively - and how strongly (e.g., development tools, team composition)? Can we "build" high-performing software teams systematically, or do they merely emerge under certain favourable conditions? What are suitable organizational designs and environments for hosting and supporting such teams? See this link and this link for more info. Contact: Petri Kettunen

Software innovation (TOPIC AREA)

How are innovation and creativity taken into account in software development processes and methods (e.g., Agile)? What role do customer/user input and feedback play in software(-intensive) product creation (e.g., open innovation)? How to define and measure 'innovativeness' in software development? What makes software development organizations (more) innovative? See here for more about the topic. How can Open Data Software help innovation? Contact: Petri Kettunen

Thesis projects

Finding a thesis project.

For students participating in the TU Delft computer science and embedded systems master’s programs we have several openings for research thesis projects. Usually these topics can also be adjusted to fit in the scope of a BSc research project.

All MSc projects are aligned with our research. They often are connected to one of our ongoing research projects , but we also frequently use MSc projects to explore new research directions. Projects can be conducted at:

  • TU Delft in our own research labs, in close collaboration with our postdocs and PhD students
  • Industry (as part of an internship), usually with companies (in The Netherlands or abroad) with which we have an ongoing research collaboration (e.g. ING, SIG, Adyen, ATOS, XWiki, Microsoft, Google, Facebook, Infotron, JetBrains, …)
  • Other (international) universities – we have a rich network of academic friends around the world.

If you study at a different university and you would like to write a research master thesis in the context of one of the SERG projects, you should ask your own university supervisor to contact us. We have limited places available, but are always interested in new research opportunities.

SERG Supervisors

You can make an appointment with one of the SERG group members to see what projects are currently open, or you can propose your own project, provided there is a clear connection with the research we conduct at our labs. You can contact the following persons for more information:

Composing your Study Program

If you plan to conduct your MSc project at SERG, you will need to include at least two of the CS MSc courses SERG teaches in your IEP (Individual Exam Program). We strongly recommend you to follow our software architecture, software analytics, or software testing and reverse engineering courses. Besides our own software engineering related courses, when choosing the electives in your program you can consider including courses in such areas as machine learning, computational intelligence, data science, compiler construction, distributed systems, or security.

Optionally, you can start your research with a 7-8 week literature survey (IN4306, 10EC). This assignment is concluded with a report containing an overview of the state-of-the-art in a particular branch of research.

Proposing your Own Project

Under certain conditions it can also be possible to propose your own project. In those cases it is important to

  • Study a number of existing MSc theses .
  • Identify an ongoing research project to which your proposal is connected.

In particular you need to carefully think about the research component of your proposal, and have a clear idea on why your proposal is novel – it should advance the world’s knowledge in software engineering. If you wish to pursue this route it is advisable to select and contact a possible supervisor as early as possible.

Writing your Thesis

Once you’ve found your project and your supervisor, we recommend that you start writing as soon as possible: Devise a table of content, and fill in details as you go.

To write your thesis you need to make use of our MSc Thesis Template .

DigitalCommons@Kennesaw State University

Home > CCSE > SWEGD > MSSE

Master of Science in Software Engineering Theses

Software engineering represents the fastest growing segment of software professionals, men and women who solve problems and issues in the development of mission-critical software to meet the needs of business and industry. The MS in Software Engineering at Kennesaw State University prepares students for careers in this field by exposing them to real-time strategies and procedures that will give them a competitive edge in the market. All courses in the program are available both face-to-face and online, and students can decide which delivery more is best for them for a particular course.

The program consists of 7 required courses and a number of electives. Students can either take the project option, under which they complete 4 elective courses and a software engineering capstone project, or the thesis option, under which they complete 3 elective courses as well as a thesis. This program is available completely online as well as in the traditional face-to-face mode, or any combination of the two.

Students entering the program must have at least a bachelor's degree. Students who have an undergraduate degree in an area outside of computing can transition into software engineering by completing our foundation courses. Such students may be assigned up to a maximum of 5 foundation courses. Students with a degree in a computing discipline other than software engineering may also be assigned one or two foundation courses based on a review of the student's credentials.

This collection was started with the graduates of the Fall 2015 semester, after the consolidation between Kennesaw State University and Southern Polytechnic State University was final (July 2015).

Need to Submit Your Thesis? Submit Here!

Theses/dissertations from 2022 2022.

The Stakeholder-Profile Framework for Tacit Knowledge Acquisition in Requirements Elicitation Interviews , Rasha Eltigani

A Comparative Study on Blockchain-based Electronic Health Record Systems: Performance, Privacy, and Security Between Hyperledger Fabric and Ethereum Frameworks , Md Jobair Hossain Faruk, Hossain Shahriar, Maria Valero, and Xia Li

Theses/Dissertations from 2021 2021

Decentralized Aggregation Design and Study of Federated Learning , Venkata Naga Surya Sameeraja Malladi

Federated Learning for Secure Sensor Cloud , Viraaji Mothukuri

Theses/Dissertations from 2020 2020

A Preliminary Analysis of how a Software Organization’s Maturity and Size Affect its Intellectual Property Portfolio , Daniel Gifford

Theses/Dissertations from 2019 2019

PUBLIC BLOCKCHAIN SCALABILITY: ADVANCEMENTS, CHALLENGES AND THE FUTURE , Amritraj .

Theses/Dissertations from 2017 2017

Feasibility of Using Virtual Reality in Requirements Elicitation Process , Aman Bhimani

Advanced Search

  • Notify me via email or RSS
  • All Collections
  • Disciplines
  • Conferences
  • Faculty Works
  • Open Access
  • Research Support
  • Student Works
  • MSSE Homepage

Useful Links

  • Training Materials

Home | About | FAQ | My Account | Accessibility Statement

Privacy Copyright DigitalCommons@Kennesaw State University ISSN: 2576-6805

  • Advisory Board
  • Biological Sciences
  • Computing & Software Systems
  • Engineering & Mathematics
  • Physical Sciences
  • STEM Inclusivity Awards
  • School of STEM contact
  • School of STEM Employment
  • Student Forms & Resources
  • Investigative Biology
  • Research & Internships
  • Student Organizations
  • Friday Harbor Laboratories
  • Earth System Science
  • Student Projects
  • Actuarial Science
  • Computer Science & Software Engineering (CSSE)
  • Data Science
  • Information Technology (IT)
  • Marine Biology
  • Mathematics
  • Neuroscience
  • Capstone & Symposium Event
  • Undergraduate Policies & Procedures
  • CSS Registration & Waitlists
  • Getting Started with Computer Science
  • Excellence in Cybersecurity Education
  • How to Apply
  • Core Courses
  • Elective Courses
  • Project or Thesis
  • Computer Engineering
  • Power & Energy
  • Signal Processing
  • Biomedical Systems and Devices
  • Microelectronics and Devices
  • Wireless, RF/Microwave, and Telecommunications
  • Prerequisites guide
  • Frequently Asked Questions
  • Career Resources
  • Previous Quarters
  • Division of Biological Sciences Faculty
  • Division of Computing & Software Systems Faculty
  • Division of Engineering & Mathematics Faculty
  • Faculty in Chemistry
  • Faculty in Earth System Science
  • Faculty in Physics
  • Associate Professor with Tenure
  • Full Professor
  • Teaching Track Faculty
  • Promotion and Tenure Public Statement
  • Teaching Effectiveness
  • Capstones & internships
  • Center for Biotechnology Innovation & Training
  • National Center of Academic Excellence in Cybersecurity
  • Research Experiences for Undergraduates (REU)
  • Faculty Research Projects
  • Research Experiences for Undergraduates (REU) from Heritage University
  • Ocean Engineering
  • Safety and Security Studies and Modeling in Fluids
  • Instrumentation
  • Room Access
  • Support Services
  • Quick Links & Forms
  • EE Open lab schedule

Quick Links

  • Information Technology
  • Commuter Services
  • Human Resources
  • Campus Safety

Thesis/Project Student Process

The following process applies to all Division of Computing & Software Systems (CSS) graduate students, regardless of degree program (CSSE or CSE) or thesis/project goals.

In general, a thesis is a scholarly written document aimed at an academic audience as a contribution to an existing body of knowledge. A project is aimed at building a connection between academic concepts and the application of those concepts into real-world context.

Before students determine which option to pursue, they should discuss how each option applies to their own individual goals for their degree program with their faculty advisor and the CSS Graduate Advisor.

Step 1: Form a Supervisory Committee

Students who desire to register for their thesis/project credit(s) must first form a committee of faculty who will supervise and grade their efforts and results of their work. A supervisory committee will consist of a student’s Faculty Advisor (who will serve as Committee Chair) and at least 2-3 additional faculty members. At least two of the committee members must be faculty whose primary appointment is in the Computing & Software Systems Division. The Chair of the Committee and at least one-half of the total membership must be members of the graduate faculty.

Students must submit a signed Request to Form a Supervisory Committee to the CSS Graduate Advisor to obtain an entry code to register for the class. Included with the signed form should be a proposal (minimally 3 pages) addressing the questions asked in section 2 of the form. Please follow the proposal guidelines detailed in the link below:

  • Proposal Guidelines
  • Proposal Rubric

Before submitting the form, students are expected to attend another students CSS master’s project or thesis final examination & defense. View the Thesis/Project Final Exam Schedule .

The deadline for all committee requests is the first day of the seventh week of the quarter PRECEDING the start of a student’s project or thesis coursework . Students should request for specific faculty to staff their Supervisory Committee; however, final staffing assignments of the Supervisory Committee resides with the CSS Division’s Graduate Program Coordinator. Once a supervisory request has been granted, students will receive an email from the CSS Graduate Advisor notifying them of the approved committee and an entry code to register for their thesis/project credit(s). Students are encouraged to submit their request early, to avoid any registration late fees.

Submission Deadlines

  • Winter 2024: November 6, 2023
  • Spring 2024: February 12, 2024
  • Summer 2024: May 6, 2024
  • Autumn 2024: July 29, 2024

Step 2: File a Thesis or Project Plan

By the end of the second week of the quarter in which a student is registered for their first capstone credits, the student must submit to their Supervisory Committee a detailed project or thesis plan. The plan should include an updated proposal of the work to be done, a time table listing key milestones and associated deliverables, the quality criteria and specific metrics by which student expects to measure the quality of their result, and the software development lifecycle and processes planned to complete the work. There are no penalties for deviations in the approved plan or failure to meet the estimates in the timetable or failure to achieve the quality goals. The plan simply provides a well-defined start for the remainder of the capstone work. A PDF copy of the approved plan must be submitted by the student to the STEM Graduate Advising Office.

  • Winter 2024: January 16, 2024
  • Spring 2024: April 8, 2024
  • Summer 2024: July 1, 2024

To submit your plan to the STEM Graduate Office, please send your PDF document to [email protected] , with the subject line “Project Plan” or “Thesis Plan”.

Register for CSSSKL 594

A substantial working draft of the capstone research project paper or thesis should be completed by the beginning of the quarter in which you expect to graduate. For this reason, generally, you will enroll in CSSSKL 594 “Scientific Writing for Thesis/Project” during the quarter before you expect to graduate. (For example, to graduate in the spring, you should enroll in 594 in the Winter). Please consult with your supervisory committee chair as to the best timing of this class for the most benefit to you.

Step 3: Communicate Regular Progress Reports with the Supervisory Committee

Throughout the period of enrollment in the thesis/project credit(s), students are expected to lead the effort to regularly update their Supervisory Committee members on their work progress. Students should plan on meeting with their Committee Chair frequently based on the advice from the committee chair (minimally three times in each quarter that they are enrolled for thesis/project credits).

To register for second and subsequent quarters, students should work with their Chair to determine the workload for the upcoming quarter and the number of credits to enroll for. Once the Committee Chair grants permission and confirms the number of credits for the next quarter, the student forwards that permission to the CSS Graduate Advisor, who will issue a new entry code to use for registration. In cases where satisfactory progress is made, the student will be issued of a grade of N (in progress) until the project/thesis is complete.

Students who fail to make appropriate progress in their project/thesis during a quarter may receive a notification from their Chair warning them of lack of progress. If students continue failing to achieve satisfactory progress, Chairs may also choose to issue a grade of NC (No Credit) and move to dissolve the Committee. For full information regarding the project/thesis continuation policy, please see the Academic Progress Policy .

  • Guidelines for Status Reports
  • Rubric for Status Reports

Step 4: Schedule Final Defense

By 5PM on Thursday of the third week of the quarter that a student is registered for their final thesis/project credits, the student must consult with their supervisory committee members to schedule a defense of their culminating work. Students should work closely with their committee chair to ensure that they are ready for their final examination and defense. The STEM Graduate Advising Office will send students the link to the online scheduling system each quarter to select a time/date for their defense. View details about defense format options and attendance requirements in the Defense Attendance Policy .

Step 5: Apply to Graduate

By 5:00 p.m. on Thursday of the third week of the quarter that a student is registered for their final degree credits the student must apply to graduate by filing a master’s degree request online . Students should work with the CSS Graduate Advisor and Committee Chair to plan their degree curriculum accordingly, so that their final capstone requirements serve as the culmination of their degree coursework. Students must be registered for credits during the quarter they want to graduate.

Step 6: Submit Draft of Final Paper/Thesis

Writing the final paper/thesis is a time intensive process. Students should plan ahead to schedule substantial time to compose and proofread their paper/thesis. A low-quality paper/thesis may lead to the delay of their defense. Early in the quarter that a student is registered for their final thesis/project credits, the student must review the following sample templates and discuss with their committee chair on the preference for the organization of their final project or thesis report:

  • Guidelines from the UW Graduate School for thesis document
  • Word template for thesis and project papers
  • Latex template for thesis and project papers

Two weeks before the defense , submit the title and abstract to the School of STEM Office of Graduate Studies to post on the Final Examination & Defense schedule.

At least seven days before the defense, the student must submit a final draft of their project paper or thesis to their committee for a preliminary reading. The purpose of this draft is to demonstrate to the Supervisory Committee that the student has achieved a Master’s level competency in computer science and software engineering, and that the student is ready to defend their work.

Step 7: Final Examination and Defense

The Final Examination and Defense consists of (a) a public student presentation, (b) a public questions and answers session, (c) a closed-door question and answer session between the student and the Supervisory Committee, (d) a brief private discussion among the Supervisory Committee, and (e) the Supervisory Committee announcing to the student the result of the Final Examination and Defense. A typical defense will last close to two hours. If a student does not pass the Final Examination and Defense, the Supervisory Committee will work with the student to decide upon the necessary additional work required for obtaining their Master’s degree. The final examination and defense must take place no later than the third day of the last week of the quarter (final exam week).

  • Presentation Guidelines
  • Presentation Rubric

Step 8: File your Thesis or Project Paper

After passing their final examination/defense, students must submit an electronic copy (PDF) of their final project paper or thesis, incorporating any post examination/defense revisions required by their Committee to the following entities in the order listed:

  • Supervisory Committee members, by the time/date given to students by their Chairs. This deadline will vary, based on the date of the student’s defense and scope of requested changes. Students must receive approval of final document from their Committee before submitting the paper to the STEM Graduate Office (all students) and the UW Graduate School (thesis students only).
  • STEM Graduate Office by 11:59 p.m. on the final day of the quarter in which the student intends to graduate. See submission instructions below.
  • Thesis Students only: UW Graduate School by 11:59 p.m. on the last day of the quarter in which the student intends to graduate. This step applies to thesis students only. See “Special Notes for Thesis Students” section below.

Failure to complete any of the above steps by the appropriate time/date will result in a delay of graduation.

Students submit their final document to the STEM Graduate Office ( [email protected] ) with their supervisory committee members copied on the email, and the email subject as “Final Thesis”, or “Final Project Report.”

Special Notes for Thesis Students

  • Formatting and process : Thesis students must meet formatting requirements, and follow a specific submission process. Students are urged to read the UW thesis formatting guidelines well in advance of their final examination, and to set up their ProQuest account early in the quarter they intend to graduate.
  • Master’s Supervisory Committee Form : Thesis students must submit a signed Master’s Supervisory Committee Form as part of the ETD submission process.

Additional Information

  • Summary of Master’s Guidelines & Rubrics Documents
  • Video Overview and Guideline

Campus-System

  • Research Information System
  • Staff Search

Employees-Portal

  • Organization handbook
  • Operational messages
  • Internal messages
  • Personal messages
  • University bulletin
  • Bulletin Board
  • IT Services (ZID)
  • eLearning Service
  • OEH Klagenfurt

Information for

  • Alumni & Career
  • Prospective Students
  • Continuing Education
  • Researchers
  • Partners & Sponsors
  • International

Gütesiegel evalag

SOFTWARE ENGINEERING

Master Theses

The Software Engineering Research Group offers a number of thesis projects for Master students in various research areas. The goal of a Master’s thesis project is to provide an answer to a relevant research question in software engineering. This typically involves the construction or extension of a prototype tool used to evaluate your research hypotheses and a written thesis to report, interpret, and discuss the results. A thesis project is typically taking 6-9 months full-time work. More information on the procedure for performing a Master’s Thesis project at the University of Klagenfurt and all forms are available at Wissenschaftliche Arbeiten (in German).

Available Projects

List of topics in which we are offering a number of Master Thesis projects:

  • Automating Software Engineering Tasks
  • Change Extraction and Change Impact Analysis
  • Program Analysis
  • Software Visualization

We also offer a number of Master Thesis projects in collaboration with our industrial partners. Please contact Martin Pinzger  for more information.

Thesis proposal

The first step of any MSc thesis project is to write a thesis proposal. This document serves as a guide during and as a reference for your thesis project.

A thesis proposal should contain

  • Brief introduction into the subject field
  • Scientific motivation for the project (why is it relevant?)
  • Research goal and list of (initial) research question(s) that will be addressed
  • Initial planning and staging of the project – what are the expected deliverables and milestones to reach them, when will you start/end. Deliverables are a prototype of a piece of software, an algorithm, an advice on how to treat a particular problem, a documented architecture, etc.
  • Risk analysis, or those (external) events that could have an impact on your planning
  • Contact details for the participants (student, supervisor, and when appropriate also the company supervisor)
  • Supervision details: generally an n-weekly schedule for meetings to discuss findings and progress that you’ve established togerther with your university (and company) supervisor(s).
  • When appropriate details regarding intellectual property and allowance (sometimes these are arranged in a separate legal contract)
  • List of courses that still need to be followed and/or final exams that need to be taken (not so much as guard for entering the thesis phase but to document a potential impact on the planning)

The proposal is written in English so international students can read, and build on, your work. It is important to note that the details and planning are not cast in stone for the complete duration of the thesis project. If initial results show that there are good reasons to improve on the initial ideas, then plans can be changed. In such a case, the proposal can be updated and serve as a track record that documents and motivates such changes.

How to write a Thesis?

Concering structure and contents you might follow the guideline by Prof. John W. Chinneck’s web site.

Regarding the style of writing a Diploma Thesis we refer the student to the books:

  • “The Elements of Style”, Strunk and White.
  • “Writing for Computer Science” of Justin Zobel.

The web site of Prof. Henning Schulzrinne contains further useful hints that should be considered.

  • Campus-­System
  • Employees-­Portal

Siegel der Alpen-Adria-Universität Klagenfurt

Your privacy is important to us!

Cookie and Privacy Settings

We use cookies to optimally redesign our website and to improve it continuously for you. Click on the different category headings to view further information and to change the default settings. Please note that refusing some cookies may affect the way our website works. Web pages may not be displayed correctly and may not function properly.

Reference to processing of your data collected on this website in countries without an adequate level of data protection:

By clicking on "Accept all cookies", you also consent to your data being processed by Google, Facebook, LinkedIn, Twitter and YouTube, including the USA in accordance with Art. 49 (1) sentence 1 lit. a DSGVO. The European Court of Justice considers the USA to be a country with an insufficient level of data protection according to EU standards.

Essential cookies

These cookies are strictly necessary for the functioning of the website. Essential cookies enable basic functions and are necessary for the proper functioning of the website. You can set your browser to block these cookies or to notify you about these cookies. However, some parts of the website may not work as expected. These cookies do not store any personal data.

Hiding the cookie notice Select this option to permanently hide the cookie notice and reject all cookies that have not been accepted.

Two cookies are required for this setting to be saved. Otherwise this hint will be displayed again every time the page is loaded.

We use tracking and analysis tools to ensure continuous optimisation and needs-based design of our website. Tracking measures also enable us to record statistics regarding the use of our website by visitors and to develop our website further on the basis of these findings. If you do not want Google and Facebook to track your use of our website and transmit your visits, you can disable tracking in your browser here:

We also use different external services including Google Webfonts, Google Maps, and external video providers. Since these providers may collect personal data such as your IP address we allow you to block them here. Please be aware that this might significantly limit the functionality and appearance of our site. Changes will take effect once you reload the page. Google Webfont Settings: Click here to activate/deactivate the use of Google Webfonts.

Google Maps Settings: Click here to activate/deactivate the use of Google Maps.

Google reCaptcha Settings: Click here to activate/deactivate the use of Google reCaptcha.

Vimeo and Youtube video embeds: Click here to activate/deactivate the use of embedded videos.

For further information on the cookies used, please refer to our

Chair of Software Engineering Logo

Chair of Software Engineering

ETH Logo

  • Publications
  • Student Projects

Completed student projects

Supporting multiple proof engines by translating between intermediate verification languages [details] Master's thesis, March 2015 — September 2015 Author: Michael Ameri Supervisor: Carlo A. Furia

Implementation of a hint system for solving Java programming exercises [details] Bachelor's thesis, January 2015 — August 2015 Author: Baumann Cedric Supervisor: urica Nikoli and Marco Piccioni

First steps towards a web framework for an automated Eiffel code teaching assistant [details] Bachelor's thesis, February 2015 — July 2015 Author: Christian Vonrüti Supervisor: Marco Piccioni

The impact of requirements in distributed software development: an empirical study [details] Master's Thesis, December 1st, 2014 - June 1st, 2015 Author: Marc Egg Supervisor: Martin Nordio and Christian Estler

Real-time Conflict Awareness for Distributed Version Control Systems [details] Master's Thesis, November 2014 - April 2015 Author: Fabian Gremper Supervisor: Martin Nordio and Christian Estler

Modelling and Verifying an Object-Oriented Concurrency Model in GROOVE [details] Master's Thesis, October 2014 — April 2015 Author: Claudio Corrodi Supervisor: Chris Poskitt and Alexander Heußner (University of Bamberg)

Eiffel Inspector Improvements [details] Bachelor's Thesis, September 2014 — March 2015 Author: Samuel Schmid Supervisor: Julian Tschannen

Robot control by user tracking with a laser range scanner [details] Master's Thesis, August 2014 — February 2015 Author: Ivo Steinmann Supervisor: Jiwon Shin

AutoTeach: incremental hints for programming exercises [details] Master's thesis, March 2014 — September 2014 Author: Paolo Antonucci Supervisor: Marco Piccioni

Parallelism visualizer for SCOOP [details] Master's Thesis, July 2014 — December 2014 Author: Dominic Meier Supervisor: Mischael Schill

Mantra: Eiffel as a web service [details] Internship, May 2014 — July 2014 Author: Manav Kedia Supervisor: Martin Nordio and Christian Estler

Graphical user interface for Roboscoop applications [details] Bachelor's Thesis, April 2014 — October 2014 Author: Jonas Stulz Supervisor: Andrey Rusakov

Gesture-based user interface [details] Master's Thesis, April 2014 — October 2014 Author: David Itten Supervisor: Jiwon Shin, Andrey Rusakov

Concurrency patterns in SCOOP [details] Master's Thesis, March 2014 — September 2014 Author: Roman Schmocker Supervisor: Alexey Kolesnichenko

Distributed testing sessions for AutoTest [details] Master's Thesis at the University of Lorraine (France), March 2014 — September 2014 Author: Victorien Elvinger Supervisor: Chris Poskitt, Alexey Kolesnichenko, and Max (Yu) Pei

A constraint-based layout manager for Eiffel [details] Master's thesis, November 2013 — May 2014 Author: Emanuele Rudel Supervisor: Đurica Nikolić

Rule-based code analysis [details] Master's thesis, October 2013 — April 2014 Author: Stefan Zurfluh Supervisor: Julian Tschannen

Application of SCOOP to Mission Control in Robotics [details] Research in Computer Science project, September 2013 — February 2014 Author: Ganesh Ramanathan Supervisors: Benjamin Morandi, Sebastian Nanz, Stéphane Magnenat

Implementing and evaluating an exception mechanism for SCOOP [details] Master's thesis, March 2013 — September 2013 Author: Florian Besser Supervisor: Benjamin Morandi

Loop invariant inference from postconditions in EVE [details] Bachelor's thesis, November 2012 — June 2013 Author: Michael Ameri Supervisors: Carlo A. Furia and Julian Tschannen

Model-based contracts for Java / C# collections [details] Bachelor's thesis and EiffelStudio Lab, May 2012 — June 2013 Author: Tobias Kiefer Supervisor: Nadia Polikarpova

Spell checker [report] Software Engineering Laboratory, September 2012 — January 2013 Author: Benjamin Fischer Supervisor: Julian Tschannen

Syntax Highlighting for Eiffel on the web Software Engineering Laboratory, September 2012 — January 2013 Author: Trisha Kothari Supervisor: Julian Tschannen

Diff library in Eiffel (Diffeif) [details] Bachelor's Thesis, September 2012 — January 2013 Author: Rafael Wampfler Supervisor: Max Pei

Extending CloudStudio with a collaborative remote debugger [details] Master's Thesis at Politecnico di Milano, January 2012 — December 2012 Author: Rand Nezha and Mert Tufekci Supervisor: Elisabetta Di Nitto, Martin Nordio and Christian Estler

Refinements and Git Integration with Notifications and Monitoring [details] Software Engineering Laboratory: Open Source Eiffel Studio — November 2012 Author: Christopher Dentel Supervisor: Martin Nordio and Christian Estler

News and Notification: Propagating Relevant Changes to Developers [details] Software Engineering Laboratory: Open Source Eiffel Studio — February 2012 Author: Christopher Dentel Supervisor: Martin Nordio and Christian Estler

Monitors: Keeping Informed on Code Changes [details] Independent Research Study — November 2012 Author: Christopher Dentel Supervisor: Martin Nordio and Christian Estler

Automatic Version Control System for Distributed Software Development [details] Master's Thesis, March 2012 — September 2012 Author: Sandra Weber Supervisor: Martin Nordio and Christian Estler

Awareness in CloudStudio [details] Internship, May 2012 — July 2012 Author: Brian Bullins Supervisor: Martin Nordio and Christian Estler

A Comparative Study of Programming Models for Concurrency [details] Bachelor's Thesis at UFRGS (Brazil), November 2011 — Juli 2012 Author: Kaue Soares da Silveira Supervisor: Sebastian Nanz

An executable structural operational semantics for SCOOP [details] Master's Thesis, October 2011 — April 2012 Author: Mischael Schill Supervisor: Benjamin Morandi

A Mac OS X EiffelVision port based on a generated Cocoa wrapper [details] Bachelor's Thesis, October 2011 — February 2012 Author: Emanuele Rudel Supervisor: Benjamin Morandi

Purity Checker [details] --> Software Engineering Laboratory, September — December 2011 Authors: Antoine Kaufmann, Reto Wyss Supervisors: Nadia Polikarpova, Scott West

Successful outsourcing: Necessary conditions and best practices [details] Master's Thesis at MTEC (ETH), October 2011 — December 2011 Author: Johannes Schneider Supervisor: Martin Nordio and Christian Estler

A web-based IDE for Java [details] Software Engineering Laboratory, September — December 2011 Author: Marcel Bertsch Supervisor: Martin Nordio and Christian Estler

Revision control support for a web-based IDE [details] Software Engineering Laboratory, September — December 2011 Author: Roland Meyer Supervisor: Martin Nordio and Christian Estler

Fine-grained aspects of automatic refactoring in C2Eiffel [details] Master Thesis, April 2011 — September 2011 Author: Adrian Friedli Supervisor: Marco Trudel

Implementing an IRC Server Using an Object-Oriented Programming Model for Concurrency [details] Bachelor Thesis, April 2011 — July 2011 Author: Fabian Gremper Supervisor: Scott West

Version control in Eve [details] Software Engineering Laboratory, March 2011 — August 2011 Author: Emanuele Rudel Supervisor: Nadia Polikarpova

Eiffel HTTP Server [details] Bachelor's Thesis, February 2011 — May 2011 Author: Florian Besser Supervisor: Scott West

Developing JavaScript applications in Eiffel [details] Master's Thesis, December 2010 — May 2011 Author: Alexandru Dima Supervisor: Martin Nordio and Christian Estler

Model-based contracts for C# collections [details] Master's Thesis, Tver State University (Russia), February 2011 — April 2011 Author: Elena Mokhon Supervisor: Nadia Polikarpova

Objective-C Frameworks to Eiffel Converter [details] Master's Thesis, May 2009 — November 2010 Author: Matteo Cortonesi Supervisor: Benjamin Morandi

Capture and Replay Framework for Eiffel [details] Master's Thesis, April 2010 — September 2010 Author: Arno Fiva Supervisor: Yi Wei

Applying Data Mining to Contract Inference [details] Master's Thesis, March 2010 — August 2010 Author: Nikolay Kazmin Supervisor: Yi Wei

Reproducible executions of SCOOP programs [details] Research Project, June 2010 — September 2010 Authors: Andrey Nikonov and Andrey Rusakov Supervisors : Sebastian Nanz, Benjamin Morandi, Scott West

Proof transforming compilation for Separation logic [details] Master's Thesis at Wuhan University - China, December 2009 — June 2010 Author: Tang Mei Supervisor: Martin Nordio

Integrating an Automatic Version Control System into EiffelStudio [details] Engineer Thesis at Hanoi University of Technology, December 2009 — April 2010 Author: Do Le Minh Supervisor: Martin Nordio

An integrated development environment (IDE) for Distributed Software Engineering [details] Engineer Thesis at Hanoi University of Technology, December 2009 — April 2010 Author: Le Minh Duc Supervisor: Martin Nordio

Mutation Tool for Eiffel Code Transformation [details] Master's Thesis, December 2009 — May 2010 Author: Stefan Buchholz Supervisor: Yi Wei

Automated Object-Oriented Software Testing using Genetic Algorithms and Static Analysis [details] Master's Thesis, September 2009 — March 2010 Author: Lucas S. Silva Supervisor: Yi Wei

Profiling SCOOP Programs [details] Master's Thesis, November 2009 — April 2010 Author: Martino Trosi Supervisor: Benjamin Morandi

Implementation of Advanced SCOOP Aspects [details] Master's Thesis, October 2009 — April 2010 Author: Damien Müllhaupt Supervisor: Benjamin Morandi

Application of SCOOP in Robotic Control [details] Research Project, September 2009 — December 2009 Author: Ganesh Ramanathan Supervisors : Sebastian Nanz, Benjamin Morandi, Scott West

SCOOP in Practice [details] Research in Computer Science II, June 2009 — December 2009 Author: Mohammad Seyed Alavi Supervisor: Sebastian Nanz

Eclipse Eiffel Development Toolkit - EDT [details] Master's Thesis, June 2009 — November 2009 Author: Reto Ohnsorg Supervisor: Marco Trudel

TrucStudio [details] Master's Thesis, April 2009 — October 2009 Author: Gerry Kammerer Supervisor: Michela Pedroni

Object State Exploration [details] Master's Thesis, March 2009 — September 2009 Author: Serge Gebhardt Supervisor: Yi Wei

Relation between Quality of an OO System and Multiple Inheritance — An Exploration Master's Thesis, October 2008 — April 2009 Author: David Stokar Supervisor: Yi Wei

EiffelVision for Mac OS X [details] Master Thesis, March 2009 — September 2009 Author: Daniel Furrer Supervisor: Benjamin Morandi

Integrating SCOOP into EVE [details] Master Thesis, March 2009 — September 2009 Author: Patrick Huber Supervisor: Benjamin Morandi

Improving relevancy of dynamically-inferred contracts in Eiffel [details] Diploma Thesis, February 2009 — June 2009 Author: Flaviu Roman Supervisor: Nadia Polikarpova

A system to support the faculty hiring process [details] Master Thesis, November 2008 — May 2009 Author: Matthias Loeu Supervisor: Marco Piccioni

Multi-Format, EiffelStudio-integrated Object Browser and Writer [details] Master Thesis, November 2008 — May 2009 Author: Lucien Hansen Supervisor: Marco Piccioni

Automatic Verification of Eiffel Agents [details] Master Thesis, October 2008 — April 2009 Author: Julian Tschannen Supervisor: Martin Nordio

Embedding Proof-Carrying Components into Isabelle [details] Master Thesis, September 2008 — March 2009 Author: Bruno Hauser Supervisor: Martin Nordio

Metrics Calculation for Object-oriented language Software Engineering Lab, Summer 2008 Author: Tobias Heinzen Supervisor: Yi Wei

From Research Prototype to Field Test: Lessons Learned Master thesis Author: Stefan Mori Supervisor: Andreas Leitner

Capture and Replay for Eiffel Master Thesis Author: Stefan Sieber Supervisor: Andreas Leitner

TrucStudio - Bug fixing and graph refactoring [details] Semester thesis, Summer 2008 Author: Damien Mullhaupt Supervisor: Michela Pedroni

Dynamic assertion inference in a programming language with Design by Contract support (Eiffel case study) Master Thesis, May 2007 — June 2008 Author: Nadia Polikarpova Supervisor: Ilinca Ciupa

TrucStudio - Automatic modeling of courses [details] Master thesis, 18 February 2008 — 17 August 2008 Author: Adrian Muller Supervisor: Michela Pedroni

TrucStudio - Refactoring clusters [details] Master thesis, 18 February 2008 — 17 August 2008 Author: Florian Geldmacher Supervisor: Michela Pedroni

Comparing Courses in TrucStudio [details] Software Engineering Lab, Summer 2008 Author: Peter von Rohr Supervisor: Michela Pedroni

Integrating Proof-Transforming Compilation into EiffelStudio [details] Master Thesis, February 2008 — August 2008 Author: Manuel Hess Supervisor: Martin Nordio

Proof-Transforming Compilation of Eiffel Contracts [details] Diploma Thesis, January 2008 — May 2008 Author: Hasan Karahan Supervisor: Martin Nordio

DEFCON - Development of a Db4o-Eiffel Connector [details] Master thesis, October 2007 — April 2008 Author: Ruihua Jin Supervisor: Marco Piccioni

TrucStudio - Course Management [details] Master thesis, August 2007 — February 2008 Author: Lukas Angerer Supervisor: Michela Pedroni

TrucStudio - Output Generation [details] Master thesis, August 2007 — February 2008 Author: Enrico Albonico Supervisor: Michela Pedroni

OWL Importer for TrucStudio [details] Semester thesis, Fall 2007 Author: Pascal Goffin Supervisor: Michela Pedroni

Examples for Touch of Class [details] Software Engineering Lab, Fall 2007 Author: Corinne Muller and Damien Mullhaupt Supervisor: Michela Pedroni

ESCHER: Eiffel Schema Evolution Support [details] Research in Computer Science, Fall 2007 Author: Matthias Loeu Supervisor: Marco Piccioni

JXTA implementation for Eiffel [details] Master thesis, September 2006 — March 2007 Author: Beat Strasser

Single Sign-On for Origo [details] Master thesis, September 2006 — March 2007 Author: Samuele Lucchini

Origo Core [details] Master thesis, SS 2007 Author: Patrick Ruckstuhl Supervisor: Till Bay

TrucStudio - A course management tool [details] Master thesis, March 2007 — September 2007 Author: Michele Croci Supervisor: Michela Pedroni

Complete Contracts for EiffelBase [details] Semester Thesis, SS2007 Author: Marco Zietzling Supervisor: Bernd Schoeller

Guided Random-Based Testing Strategies [details] Diploma thesis, February 2007 — June 2007 Author: Cosmin Mitran Supervisor: Ilinca Ciupa

TrucStudio - A prototype [details] Master thesis, October 2006 — April 2007 Author: Leo Widmer Supervisor: Michela Pedroni

Traffic 3.2 - Improving Random Building Placement [details] Semester thesis, WS 2006/2007 Author: Florian Hotz Supervisor: Michela Pedroni

Traffic 3.2 - Finding Suitable Examples to Assist Students' Learning [details] Semester thesis, WS 2006/2007 Author: Franziska Fritschi Supervisor: Michela Pedroni

Implementing a Proof-Transforming Compiler from Eiffel to CIL [details] Semester thesis, July 2006 — February 2007 Author: Michel Guex Supervisor: Martin Nordio

Traffic 3.1 - Examples for Eiffel beginners [details] Semester thesis, July 2006 — February 2007 Author: Roger Imbach Supervisor: Michela Pedroni

Traffic 3.1 - Getting started [details] Semester thesis, July 2006 — February 2007 Author: Matthias Loeu Supervisor: Michela Pedroni

Vision2 Cocoa backend [details] Semester thesis, July 2006 — December 2006 Author: Jann Roder, Ueli Peter, Roland Hausler

EiffelMedia [details] Semester thesis, SS 2006 Author: Kaspar Rohrer, Urs Doenni, Matthias Buhlmann, Philipp Krahenbuhl, Dominik Kaser

Traffic 3.1 - Getting Started [details] Semester thesis, July2006 — December 2006 Author: Matthias Loeu Supervisor: Michela Pedroni

SMIL Editor for EiffelMedia [details] Semester thesis, SS 2006 Author: David Huber and Stefan Mori

Field study and clasiffication of faults in Eiffel [details] Diploma thesis, SS 2006 Author: Raluca Borca-Muresan

Visualizing graphs with Vision2 [details] Semester thesis, SS 2006 Author: Lukas Angerer

Traffic 3.1 - Enhancing Visualization and Performance of Traffic [details] Master thesis, SS 2006 Author: Alan Fehr

Traffic 3.1 - Introducing roads [details] Semester thesis, SS 2006 Author: Michele Croci

Transations in SCOOP [details] Master thesis, SS 2006 Author: Daniel Moser

Traffic 3.1 - Designing Suitable Examples [details] Semester thesis, SS 2006 Author: Sarah Hauser

Traffic 3.0 - Extracting Software Examples for Pedagogical Effectiveness [details] Semester thesis, WS 2005/2006 Author: Susanne Kasper

Designing a User Interface for the Innovative E-mail Client Framework [details] Semester thesis, WS 2005/2006 Author: Alexandra Burns

AutoTest - Automated fault localization in external C code of Eiffel programs [details] Semester thesis, WS 2005/2006 Author: Reto Ghioldi

EiffelMedia [details] Semester thesis, WS 2005/2006 Author: Rafael Bischof, Peter Wyss

Traffic 3.0 - Introducing time into a city model [details] Semester thesis, WS 2005/2006 Author: Florian Geldmacher

Traffic 3.0 ? Realistic buildings and performance [details] Semester thesis, WS 2005/2006 Author: Fabian Wuest

Designing an Innovative E-mail Client [details] Master thesis, SS 2005 Author: Andrea Rezzonico

Wrapping a complex C++ library for Eiffel [details] Semester thesis, SS 2005 Author: Simon Reinhard

Resolving Name-Clashes in Eiffel [details] Semester thesis, SS 2005 Author: Alan Fehr

Object-Oriented Numerical Interpolation Component in Eiffel [details] Bachelor thesis, SS 2005 Author: Benjamin W|thrich

Proving the Deutsch-Schorr-Waite Algorithm using Path Properties [details] Semester thesis, SS 2005 Author: Ronny Zakhejm

Survey of Persistence Approaches [details] Master thesis, SS 2005 Author: Shinji Takasaka

Round-trip Engineering of .NET assemblies [details] Semester thesis, SS 2005 Author: Matthias Konrad

EiffelMedia [details] Semester thesis, SS 2005 Authors: Martin Seiler, Marco Stoeckli, Robert Weiser, Ueli Weiss, Lukas Naef, Yves Alter, Urs Doenni, Jonas Rutishauser, Julian Tschannen, Marco Senn, Pascal Rota

City 3D - A frontend for Traffic [details] Semester thesis, SS 2005 Author: Stefan Daniel & Valentin Wustholz

FLAT_HUNT redesign and ESDL extensions [details] Semester thesis, SS 2005 Author: Ursina Caluori

Touch redesign [details] Semester thesis, SS 2005 Author: Roger Kung

Design and implementation of a run-time mechanism for deadlock detection in SCOOP [details] Semester project, SS 2005 Author: Daniel Moser

Steps to Automatic Component Certification [details] Master thesis, SS 2005 Author: Sibylle Aregger

Eiffel to Java Compiler [details] Diploma thesis, SS 2005 Author: Benno Baumgartner

Contract Prover [details] Semester thesis, WS 2004/2005 Author: Daniel Kistler

ESDL [details] Semester thesis, WS 2004/2005 Author: Patrick Ruckstuhl

Component Assessment Server [details] Master thesis, WS 2004/2005 Author: Samuele Milani

Object-Oriented Framework for Teaching Introductory Programming [details] Master thesis, WS 2004/2005 Author: Rolf Bruderer

Redesign of the TRAFFIC library [details] Semesterarbeit, WS 2004/2005 Author: Sibylle Aregger

Exercise Design for Introductory Programming - "Learn-by-doing" basic OO-concepts using Inverted Curriculum [details] Master thesis, SS 2004, March 2004 — September 2004 Author: Marcel Kessler

ESDL - Sound API Extensions and Antialiasing [details] Semesterarbeit, SS 2004 Author: Yann Muller

Code Crawler [details] Semesterarbeit, SS 2004 Author: Andri Toggenburger

Component Server [details] Semesterarbeit, SS 2004 Author: Samuele Milani

Extending the Eiffel library for data structures and algorithms: EiffelBase [details] Master thesis, SS 2004 Author: Olivier Jeger

Precondition Enforcement Analysis for Quality Assurance [details] Master thesis, SS 2004 Author: Nadja Beeli

Contract Wizard II: Developing a GUI [details] Diplomarbeit, SS 2004 Author: Petra Marty

Reflection Library for Eiffel [details] Master thesis, SS 2004 Author: Beat Fluri

Further development of the Test Wizard (An automatic test tool based on Design by Contract) [details] Student project, SS 2004, March 2004 — July 2004 Author: Ilinca Ciupa (guest at Chair of Software Engineering)

Formal Semantic Specification of a Core Object-Oriented Language [details] Diplomarbeit SS 2004 Author: Thomas Bietenhader

Reusable Mathematical Models [details] Master thesis, January 2004 — July 2004 Author: Tobias Widmer

Exception Handling in SCOOP [details] Diplomarbeit WS 2003/2004, January 2004 — March 2004 Author: Christopher Nenning

Reimplementation of Elevator control application using EiffelVision [details] Semesterarbeit WS 2003/2004 Author: Erwin Betschart

Distance Vector Routing using SCOOP [details] Semesterarbeit WS 2003/2004 Author: Emmanuel Python

ESDL - Eiffel Simple Direct Media Library [details] Semesterarbeit WS 2003/2004 Author: Benno Baumgartner

Test Wizard: Automatic test generation based on Design by Contract [details] Master project WS 2003/2004, July 2003 — January 2004 Author: Nicole Greber

Contract Wizard II [details] Diplomarbeit SS 2003, June 2003 — October 2003 Author: Dominik Wotruba

Eiffel SDL multimedia library (ESDL) [details] Diplomarbeit SS 2003, May 2003 — September 2003 Author: Till Bay

Eiffel library to generate Java bytecodes [details] Diplomarbeit SS 2003, May 2003 — September 2003 Author: Daniel Gisel

Automatic Contract Extraction: Developing a CIL Parser [details] Diplomarbeit SS 2003, May 2003 — September 2003 Author: Christoph Marti

Teaching introductory programming with the Inverted Curriculum approach [details] Diplomarbeit SS 2003, May 2003 — September 2003 Author: Michela Pedroni

Catching CATs - Towards a fully typesafe Eiffel [details] Diplomarbeit SS 2003, March 2003 — July 2003 Author: Markus Keller

Comparison of .NET and Java threading [details] Semesterarbiet WS 2002/2003 Author: Axel Wathne

Turning design patterns into reusable components [details] Semesterarbeit WS 2002/2003 Author: Anders Haugeto

GUI for student management [details] Semesterarbeit WS 2002/2003 Author: Dominik Wotruba

Exploration of the Suitability of O-O Techniques for the Design and Implementation of a Numeric Math Library using Eiffel [details] Diplomarbeit, October 2002 — February 2003 Author: Peter Hafliger

EiffelUnits [details] Semesterarbeit SS 2002 Author: Markus Keller

Eiffel conformant Wrapper Classes for the .NET Threading Library [details] Semesterarbeit SS 2002 Author: Judith Zimmermann

Google Custom Search

Wir verwenden Google für unsere Suche. Mit Klick auf „Suche aktivieren“ aktivieren Sie das Suchfeld und akzeptieren die Nutzungsbedingungen.

Hinweise zum Einsatz der Google Suche

Technical University of Munich

  • Chair of Software and Systems Engineering
  • TUM School of Computation, Information and Technology
  • Technical University of Munich

Technical University of Munich

Theses and Projects

We are always looking for enthusiastic students willing to work on our research projects. We are also open for your own ideas. Just fill out this form . We are going to contact you as soon as possible.

Open Topics

We don't necessarily advertise all current research topics. Use the websites of our scientific staff to obtain information about their research.

Or propose your own topic: application

  • Bibliography
  • More Referencing guides Blog Automated transliteration Relevant bibliographies by topics
  • Automated transliteration
  • Relevant bibliographies by topics
  • Referencing guides

Dissertations / Theses on the topic 'Software engineering'

Create a spot-on reference in apa, mla, chicago, harvard, and other styles.

Consult the top 50 dissertations / theses for your research on the topic 'Software engineering.'

Next to every source in the list of references, there is an 'Add to bibliography' button. Press on it, and we will generate automatically the bibliographic reference to the chosen work in the citation style you need: APA, MLA, Harvard, Chicago, Vancouver, etc.

You can also download the full text of the academic publication as pdf and read online its abstract whenever available in the metadata.

Browse dissertations / theses on a wide variety of disciplines and organise your bibliography correctly.

Le, Gal Thierry. "Re-engineering software for integration using computer aided software engineering." Thesis, This resource online, 1992. http://scholar.lib.vt.edu/theses/available/etd-06232009-063016/.

CHRISTOPH, ROBERTO DE HOLANDA. "SOFTWARE ENGINEERING FOR OPEN SOURCE SOFTWARE." PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE JANEIRO, 2004. http://www.maxwell.vrac.puc-rio.br/Busca_etds.php?strSecao=resultado&nrSeq=4854@1.

Bondesson, Tobias. "Software Engineering Education Improvement : An Assessment of a Software Engineering Programme." Thesis, Blekinge Tekniska Högskola, Avdelningen för programvarusystem, 2004. http://urn.kb.se/resolve?urn=urn:nbn:se:bth-5891.

Riehle, Richard D. "An engineering context for software engineering." Monterey, Calif. : Naval Postgraduate School, 2008. http://edocs.nps.edu/npspubs/scholarly/theses/2008/Sept/08Sep%5FRiehle%5FPhD.pdf.

Lim, Edwin C. "Software metrics for monitoring software engineering projects." Thesis, Edith Cowan University, Research Online, Perth, Western Australia, 1994. https://ro.ecu.edu.au/theses/1100.

Sezer, Bulent. "Software Engineering Process Improvement." Master's thesis, METU, 2007. http://etd.lib.metu.edu.tr/upload/12608338/index.pdf.

Boriani, Dario V. "Software engineering for control." Thesis, University of Oxford, 1989. http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.253293.

Arciniegas-Mendez, Maryi. "Regulation in Software Engineering." Thesis, Proceedings of the Eighth International Workshop on Cooperative and Human Aspects of Software Engineering, 2015. http://hdl.handle.net/1828/7524.

Loomes, Martin James. "Software engineering curriculum design." Thesis, University of Surrey, 1991. http://epubs.surrey.ac.uk/844417/.

Alrabghi, Leenah O. "QFD IN SOFTWARE ENGINEERING." Kent State University / OhioLINK, 2014. http://rave.ohiolink.edu/etdc/view?acc_num=kent1385046526.

Zamli, Kamal Zuhairi. "Supporting software processes for distributed software engineering teams." Thesis, University of Newcastle Upon Tyne, 2003. http://hdl.handle.net/10443/2118.

Karvonen, T. (Teemu). "Continuous software engineering in the development of software-intensive products:towards a reference model for continuous software engineering." Doctoral thesis, Oulun yliopisto, 2017. http://urn.fi/urn:isbn:9789526216560.

Pawar, Sourabh A. "A Common Software Development Framework For Coordinating Usability Engineering and Software Engineering Activities." Thesis, Virginia Tech, 2004. http://hdl.handle.net/10919/33023.

Hanssen, Geir Kjetil. "From Agile Software Product Line Engineering Towards Software Ecosystems." Doctoral thesis, Norges teknisk-naturvitenskapelige universitet, Institutt for datateknikk og informasjonsvitenskap, 2010. http://urn.kb.se/resolve?urn=urn:nbn:no:ntnu:diva-11890.

OLIVEIRA, GLORIA MARIA DE PAULA. "USING SOFTWARE ENGINEERING CONCEPTS TO DEFINE SOFTWARE DEVELOPMENT PROCESSES." PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE JANEIRO, 2007. http://www.maxwell.vrac.puc-rio.br/Busca_etds.php?strSecao=resultado&nrSeq=12112@1.

Ahmad, M. O. (Muhammad Ovais). "Exploring Kanban in software engineering." Doctoral thesis, Oulun yliopisto, 2016. http://urn.fi/urn:isbn:9789526214085.

Chennamsetty, Harish. "Experimentation in Global Software Engineering." Thesis, Blekinge Tekniska Högskola, Institutionen för programvaruteknik, 2015. http://urn.kb.se/resolve?urn=urn:nbn:se:bth-5791.

Masoud, F. A. "Quality metrics in software engineering." Thesis, University of Liverpool, 1987. http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.381358.

Geyer-Schulz, Andreas, and Michael Hahsler. "Software engineering with analysis patterns." Institut für Informationsverarbeitung und Informationswirtschaft, WU Vienna University of Economics and Business, 2001. http://epub.wu.ac.at/592/1/document.pdf.

Wang, Yingxu. "Software engineering process modelling analysis." Thesis, Southampton Solent University, 1998. http://ssudl.solent.ac.uk/2429/.

Cunningham, Hamish. "Software architecture for language engineering." Thesis, University of Sheffield, 2000. http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.324440.

Gabriel, Pedro Hugo do Nascimento. "Software languages engineering: experimental evaluation." Master's thesis, Faculdade de Ciências e Tecnologia, 2010. http://hdl.handle.net/10362/4854.

Bull, Christopher Neil. "Studios in software engineering education." Thesis, Lancaster University, 2016. http://eprints.lancs.ac.uk/79064/.

Watson, Cody. "Deep Learning In Software Engineering." W&M ScholarWorks, 2020. https://scholarworks.wm.edu/etd/1616444371.

Burge, Janet E. "Software Engineering Using design RATionale." Link to electronic thesis, 2005. http://www.wpi.edu/Pubs/ETD/Available/etd-050205-085625/.

Rönkkö, Kari. "Software Practice from the Inside : Ethnography Applied to Software Engineering." Licentiate thesis, Karlskrona : Blekinge Institute of Technology, 2002. http://urn.kb.se/resolve?urn=urn:nbn:se:bth-00234.

Meridji, Kenza. "Analysis of software engineering principles from an engineering perspective." Mémoire, École de technologie supérieure, 2010. http://espace.etsmtl.ca/278/1/MERIDJI_Kenza.pdf.

Brophy, Dennis J. O'Leary James D. "Software evaluation for developing software reliability engineering and metrics models /." Monterey, Calif. : Springfield, Va. : Naval Postgraduate School ; Available from National Technical Information Service, 1999. http://handle.dtic.mil/100.2/ADA361889.

Brophy, Dennis J., and James D. O'Leary. "Software evaluation for developing software reliability engineering and metrics models." Thesis, Monterey, California ; Naval Postgraduate School, 1999. http://hdl.handle.net/10945/13581.

Lin, Chia-en. "Performance Engineering of Software Web Services and Distributed Software Systems." Thesis, University of North Texas, 2014. https://digital.library.unt.edu/ark:/67531/metadc500103/.

Delorey, Daniel Pierce. "Observational Studies of Software Engineering Using Data from Software Repositories." Diss., CLICK HERE for online access, 2007. http://contentdm.lib.byu.edu/ETD/image/etd1716.pdf.

McMeekin, David Andrew. "A software inspection methodology for cognitive improvement in software engineering." Thesis, Curtin University, 2010. http://hdl.handle.net/20.500.11937/400.

Kinnula, A. (Atte). "Software process engineering in a multi-site environment:an architectural design of a software process engineering system." Doctoral thesis, University of Oulu, 1999. http://urn.fi/urn:isbn:9514253035.

Jennings, Charles A. "Re-engineering software systems in the Department of Defense using integrated computer aided software engineering tools." Thesis, Monterey, California. Naval Postgraduate School, 1992. http://hdl.handle.net/10945/23761.

Addy, Edward A. "Verification and validation in software product line engineering." Morgantown, W. Va. : [West Virginia University Libraries], 1999. http://etd.wvu.edu/templates/showETD.cfm?recnum=1068.

Freund, Tessen. "Software Engineering durch Modellierung wissensintensiver Entwicklungsprozesse /." Berlin : GITO, 2007. http://deposit.d-nb.de/cgi-bin/dokserv?id=3040491&prov=M&dok_var=1&dok_ext=htm.

Schroeder, Andreas. "Software engineering perspectives on physiological computing." Diss., lmu, 2011. http://nbn-resolving.de/urn:nbn:de:bvb:19-139294.

Nojoumian, Mehrdad. "Document engineering of complex software specifications." Thesis, University of Ottawa (Canada), 2007. http://hdl.handle.net/10393/27479.

Freund, Tessen. "Software Engineering durch Modellierung wissensintensiver Entwicklungsprozesse." Berlin GITO, 2006. http://d-nb.info/986549339/04.

Rodden, Thomas. "Supporting cooperation in software engineering environments." Thesis, Lancaster University, 1990. http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.304516.

Mannering, D. P. "Problem Oriented Engineering for Software Safety." Thesis, Open University, 2010. http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.520738.

Cook, Carl Leslie Raymond. "Towards Computer-Supported Collaborative Software Engineering." Thesis, University of Canterbury. Computer Science and Software Engineering, 2007. http://hdl.handle.net/10092/1140.

Heineman, Judie A. "A software reliability engineering case study." Thesis, Monterey, California. Naval Postgraduate School, 1996. http://hdl.handle.net/10945/8975.

Unterkalmsteiner, Michael. "Coordinating requirements engineering and software testing." Doctoral thesis, Blekinge Tekniska Högskola, Institutionen för programvaruteknik, 2015. http://urn.kb.se/resolve?urn=urn:nbn:se:bth-663.

Karatasios, Labros G. "Software engineering with database management systems." Thesis, Monterey, California. Naval Postgraduate School, 1989. http://hdl.handle.net/10945/27272.

Greer, Desmond. "Software engineering risk : understanding and management." Thesis, University of Ulster, 2000. http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.326127.

Martin, W. J. "App Store Analysis for software engineering." Thesis, University College London (University of London), 2017. http://discovery.ucl.ac.uk/1537482/.

Yang, Bob 1976. "Managing a distributed software engineering team." Thesis, Massachusetts Institute of Technology, 1998. http://hdl.handle.net/1721.1/50394.

Rantanen, E. (Eetu). "Requirements engineering in agile software projects." Bachelor's thesis, University of Oulu, 2017. http://urn.fi/URN:NBN:fi:oulu-201705091721.

Zabardast, Ehsan. "Towards Understanding Assets in Software Engineering." Licentiate thesis, Blekinge Tekniska Högskola, Institutionen för programvaruteknik, 2021. http://urn.kb.se/resolve?urn=urn:nbn:se:bth-21270.

Department of Computer Science

Doing a Master's Thesis in Software Engineering

(Last updated 24.8.2021)

Important: Read these instructions before the first meeting with the supervisor.

The purpose of these instructions is to help you in starting with and working on your thesis project. As each thesis project involves some common characteristics as well as some unique ones, the idea is not to follow all the instructions given here literarily. Instead, it is assumed that you have read and tried to understand the instructions in the context of your thesis project before a meeting with the supervisor. Any unclear issues are then discussed and clarified in the meetings.

Regarding the writing of your thesis, please see the instructions from the ESE sesearch group's web site: Scientific Writing – Guide of the Empirical Software Engineering Research Group

Summary of important action points

Here is a list of the main action points related to doing your thesis project. They are presented in the order that may differ from the order you do them.

  • Familiarise yourself with the relevant instructions
  • Summarise your idea(s) about the topic and problem on one page
  • Gain basic understanding on the research methods potentially relevant to your thesis
  • Refresh your knowledge on technical scientific writing
  • Discuss your research approach with the supervisor
  • Outline your study design
  • Do the actual research work and write the thesis
  • Keep the supervisor and instructor(s) up to date with your progress
  • Do all things officially required following the instructions (not repeated here)

Supervisor / Instructor(s)

For the guidelines on selecting the instructor for your thesis, please visit the web pages of the department.

The instruction process can have different roles, as one instructor may come from or be related to the organisation you are doing your thesis for. Then there is someone to ensure that the thesis complies to the requirements from the university point of view, including the theoretical and research methodological basis, quality and style of technical reporting, etc.

Master's Thesis is not a job for life, but when well planned and implemented just a somewhat larger and more demanding than a typical exercise. That is, you simply need to set your thesis clear (sub)goals, turn those to action items, schedule them and keep the schedule!

Making progress and keeping the schedule is your responsibility. Well, in addition to also doing the actual work and writing the thesis.

It is also your responsibility to maintain the status of the project clear and communicate the status with your supervisor. Therefore, it makes sense to follow the required practice of making notes and writing a short memorandum on each meeting with the supervisor summarising what was discussed and agreed upon.

Starting your thesis project

First of all, familiarise yourself with the relevant instructions. In particular the instructions of the study programme and the official forms required in the process.

Think about the topic you would like to address in your thesis project. If you already know your instructor, discuss with her or him the topic, schedule, goal and general conditions for the project from perspective of the target organisation if there is such. Summarise your idea(s) about the topic and problem on one page.

Arrange the first appointment with the supervisor .

In the first meeting with the supervisor, you will then discuss the topic and its suitability for a thesis project, go through the first steps in starting the work, agree on a kick-off meeting with the instructor(s), if needed, and any other practical matters relevant at that point.

In the kick-off meeting with the instructor the following topics can be addressed: the goals from the point of view of the target organisation, the schedule and milestones for the project, instruction and guiding practices to be followed, the criteria for judging the success of the project, the required paperwork, and any other business related to the thesis project.

Meetings with supervisor and instructors

Instructor(s) and the student agree on the practices for the thesis project, for example, regular status meetings and such.

The meetings with the supervisor are organised as needed. Typical meetings in the beginning are the first discussion on the topic and the kick-off meeting with the instructor(s).

During the project there can be a meeting, for example, one after the theory (literature) and research methods and a second one when the results are there and it is the time to start analysing them in detail. These are just examples, and sometimes no meeting is required as email may be sufficient.

Typically a meeting is in place when the manuscript is ready; and the instructor agrees this is the case. Before this meeting the manuscript is delivered to the supervisor and the purpose of the meeting is to go through the supervisor's comments.

In each meeting, next steps are discussed and agreed upon. The student writes a short memo on each meeting, most importantly the action points, and emails the memo to the supervisor.

Working on your thesis project

In the following, the phases of a thesis project are roughly described and some general good practices and potential pitfalls are addressed. Read through all the instructions, as they are not necessarily in the order you might apply them.

Basics for doing a thesis project

In the beginning you need to gain basic understanding on relevant research methods you're going to apply. This is important to have as a solid background for the later phases of the project, as it is impossible, for example, to correct the research methods after the actual work has been done and while writing the thesis, if you then realise that something should have been done differently.

It is also highly recommended to visit the library or do some online searching, e.g., in E-thesis , and find some good theses on a related topic or similar research setting, read them and try to understand how they have been done, what makes them good and on what aspects you could improve.

At the same time find out some material and refresh your knowledge on technical scientific writing. This includes the general style and language of writing, typical structural issues as well as guidelines and conventions, e.g., for literature references and such. For some guidelines, read: Scientific Writing – Guide of the Empirical Software Engineering Research Group

Selecting the research approach

Selecting the research approach for your thesis requires some attention. You should familiarise yourself with the typical choices of research approach for a software engineering thesis project (e.g., design science / constructive research, case study, action / participatory research, or perhaps a literature survey). The good preparation is to take a course on research methods in software engineering before or close to starting your thesis project.

Then you discuss your research approach with the supervisor before starting the actual work. Before the discussion, outline your study design , i.e., the particular instantiation of the research approach in you thesis project.

Doing and reporting

The actual work in your thesis project may consist of building a prototype, testing a particular method in a company or gaining understanding of something relevant by means of interviewing people, for example. The work is mainly independent work of the student. With the supervisor, the student can have separate discussions about research methods, writing the thesis, and such.

It is advisable to start writing the thesis already in early phases of the project.

According to your study design, you do your work. Iteratively, adjusting the research questions and fine tuning the study design as needed.

As a result, you get your results. It is important that you follow the advice for your research approach so that you that your results stand on a solid methodological foundation, maintaining the chain of evidence from any data you collect to the conclusions your make. In most cases, it is a good practice to keep a research diary and write reflective memos during the research. Furthermore, if you interview people, whether it is for example, for understanding the problem, collecting data as a part of your main research activity or validating your results within the company, it is important to record the sessions. On the other hand, if your approach is more constructive, it is good to make notes on the rationale for your design decisions.

Big picture of research process

The figure below gives a general idea of a process for research in software engineering, which you can use as a backbone for your research project.

SE research pic picture

You need to familiarise yourself with the previous work on the topic or close to it. In scientific research, the role of the previous work is to give background for the work and especially explicate the scientific novelty of the work. However, in a Master's thesis scientific novelty is not required. Therefore, the purpose of previous work is often somewhat different. It may be the source of existing methods for addressing a particular problem, used as a means to show what is reported in different sources and analysed here and used as a basis for this work. And, to make sure you are not repeating exactly what someone already has done.

So you need to understand the problem both from the perspective of the company and the perspective of the previous work. On this basis you then conceptualise the problem and express it in the form of your research questions.

Research questions

Coming up with good research questions is demanding. It is also typical that the research questions evolve towards the final form during the thesis project, and that is ok. However, that does not mean that you should start without any research questions and only write them afterwards, as by doing so you would most probably have a poor focus during your work and your results would be more accidental than anything else. The research questions define what exactly you are looking for in your thesis project. More about formulating your research questions can be found from Scientific Writing – Guide of the Empirical Software Engineering Research Group

To answer your research questions, you need to select a suitable research approach from the literature on research methods. Before committing to any particular research method, discuss the potential approaches with the supervisor.

Be careful with your wording of the research questions, because your results are judged against them. In fact, you are in a good position, as you can yourself set the exact criteria for judging your work. Of course, you the research questions need to be interesting and relevant, not just easy to fulfil. The whole point in your thesis is to build a consistent line of thought from the problem to the results and conclusions you make.

The goals of your research can also be set in the form of hypotheses. However, the research questions are used in these instructions, as it is generally very hard to prove much anything right or wrong in software engineering. Nevertheless, if you are, for example, planning to conduct a controlled experiment, the use of hypotheses would be natural. Nevertheless, many issues with exactly wording and accuracy are similar to those with research questions. In both cases, it is about clearly stating what your research is about.

Study design

Once you know your research approach, you need to design the details of your research. This is called here the study design . In short, the study design is your instantiation of the research approach describing the details of what you do in your research project in order to answer the research questions.

When describing your study design in your thesis be concrete. That is, describe what you did, how did you collect the data, e.g., you can mention the sources of information and number of informants, give an overview of their roles, show the artefact created etc. The idea is to describe your instance of the research approach and methods you use as the basis. A common mistake is to leave the description at the high level of abstraction, which only summarises the research methods from the literature and does not to actually describe your own study at all.

Mon - Sat 9:00am - 12:00am

  • Get a quote

Latest Thesis and Research Topics in Software Engineering

Unique software engineering research topics for students.

more software engineers are needed as a result of the growing reliance on technology in both personal and professional spheres of life. Software engineering research topics are essential for solving complicated issues, increasing productivity, and fostering innovation. While software engineering is so important, it is equally difficult for students to get their degree in Software engineering.

Being said that many students struggle to keep up academically because software engineering is one of the most desired degrees. The final year thesis or dissertation is the most challenging assignment; many students are on the edge of losing their minds over it. While writing a thesis is one duty, coming up with an original and creative software engineering research topic is the first and most challenging step. Students with their assignments and activities don’t have enough time or energy to build a topic that is exactly right for them, finding a topic that is feasible and corresponds with your interests requires a lot of effort.

However this issue can be resolved as our PhD experts can provide you with well researched software engineering dissertation topics . We have plenty of topics for you to choose from mentioned below, and even if you don’t find anything according to your interests here you can simply contact us and request your topics according to your requirements and our experts will get you a tailored software engineering thesis topic.

Get an Immediate Response

Discuss your requirments with our writers

Get 3 Customize Research Topic within 24 Hours

Undergraduate Masters PhD Others

List of Free Software Engineering Research Topics

An analysis of the undertaking of good outcome factors and difficulties in software engineering projects:, how “the research guardian” can help you a lot.

Our top thesis writing experts are available 24/7 to assist you the right university projects. Whether its critical literature reviews to complete your PhD. or Master Levels thesis.

Automated software testing and quality control:

The study aims to improve programming testing and quality control through the execution of mechanized testing methods.

Objectives:

  • To efficiently detect software defeat and ensure complete test coverage, create an automated testing framework.
  • To determine which automated testing frameworks and tools are best suited to software development.
  • To analyze key metrics, and contrast them with the manual testing method to investigate the effects.

Impact of DevOps practices on software development:

The study aims to examine how DevOps practices affect software development productivity and efficiency.

  • To encourage cross-functional teams to collaborate, share information, and jointly advanced the development process.
  • To automate testing procedures like unit root tests, integration tests, and regression tests.
  • To change the activities for quality assurance and testing in the development process.

Get Help from Expert Thesis Writers!

TheresearchGuardian.com providing expert thesis assistance for university students at any sort of level. Our thesis writing service has been serving students since 2011.

Role of upgrading software security to enhance protection:

The aim of upgrading programming security through weakness identification and enhancing protection from possible breach

  • To find security flaws and weaknesses early on, employ, methods like vulnerability scanning, code reviews, and penetration testing.
  • To reduce the likelihood of being exploited, establish a procedure for resolving vulnerabilities as soon as possible.
  • To provide extensive security awareness and training programs, an organization can foster a security-conscious culture.

Adoption and effectiveness of continuous development:

The study aims to identify how effectively software engineering can be used for continuous development along with integration practices

  • To determine the benefit of implementing continuous deployment practices in numbers.
  • To evaluate the effect of computerizing the arrangement cycle, including code joining, testing, and delivery to the executive.
  • To analyze the impact of continuous integration practices on software development lifecycle enhancement.
  • To analyze how team communication and collaboration are affected by adopting software engineering practices and continuous development.

Looking For Customize Thesis Topics?

Take a review of different varieties of thesis topics and samples from our website TheResearchGuardian.com on multiple subjects for every educational level.

Planning and assess client-driven approaches in software programming:

The study aims to plan and assess client driven approaches to programing necessities and designing.

  • To identify the beneficial client-driven approaches necessary for programming and designing.
  • To ensure the successful implementation of these approaches in an organization.
  • To investigate the outcomes of these approaches in the success or failure of an organization.

Analyzing software metrics and their applications:

The study aims to analyze software metrics and their application to predictive software quality assurance.

  • To evaluate a comprehensive set of software metrics that can shed light on software product quality.
  • To create predictive models that make use of the software metrics that have been identified to predict potential risk and quality issues.
  • To compare the predictions made by the predictive models to actual software quality outcomes.

Applying Block chain Innovation:

The study aims to investigate how the distinctive characteristics of Block chain technology can be used to enhance software development and deployment process

  • To assess the potential use cases and advantages of coordinating block chain innovation into the product advancement lifecycle.
  • To investigate the application of block chain for transparent deployment histories, and decentralized package management.
  • To influence block chain’s straightforwardness to work with reviewing and consistence process in programming advancement.

Investigation of augmented and Virtual Reality into Software Engineering Methods and Tools:

The study aims to deeply analyse the integration of Augmented and Virtual Reality into Software Engineering Methods and tools to enhance the efficiency

  • To measure the impact of the integration of AR and VR technologies on software engineering
  • To examine the practical and technical obstacles to incorporate to incorporating augmented reality and virtual reality into existing software engineering techniques and tools.
  • To analyze existing frameworks and solution that make it possible to integrate AR and VR Software.

Complete Solution of All Your Hectic Thesis Papers

Our Expert online thesis writers are qualified and have expertise in almost all subject areas. This gives us an edge and we can help a lot of students who are struggling. Having a PhD expert in Software engineering gives us an advantage as we can help students looking for research topics in software engineering for masters, and then further help them with their research proposals and complete thesis.

Meet Our Professionals Ranging From Renowned Universities

Related topics.

  • Sports Management Research Topics
  • Special Education Research Topics
  • Software Engineering Research Topics
  • Primary Education Research Topics
  • Microbiology Research Topics
  • Luxury Brand Research Topics
  • Cyber Security Research Topics
  • Commercial Law Research Topics
  • Change Management Research Topics
  • Artificial intelligence Research Topics

M.Tech/Ph.D Thesis Help in Chandigarh | Thesis Guidance in Chandigarh

thesis project for software engineering

[email protected]

thesis project for software engineering

+91-9465330425

thesis project for software engineering

Introduction

Software Engineering is a branch that deals with the development and evolution of software products by employing certain methodologies and well-defined scientific principles. For developing a software product certain processes need to be followed and outcome of which is an efficient and authentic software product. The software is a group of executable program code with associated libraries. Software designed to satisfy a specific need is known as Software Product. It is a very good topic for master’s thesis, project, and research. There are various topics in Software Engineering which will be helpful for M.Tech and other masters students write their software project thesis.

Latest thesis topics in software engineering for research scholars:

  • Fault detection in software using biological techniques
  • Enhancement in MOOD metrics for software maintainability and reliability
  • To enhance effort estimation using Function point analysis in Cocomo model
  • To evaluate and improve model based mutation technique to detect test cases error in product line testing
  • To propose improvement in genetic algorithm to calculate function dependency in test case prioritization in regression testing
  • To propose dynamic technique with static metrics to check coupling between software modules
  • To propose improvement TYPE 4 clone detection in clone testing

Find the link at the end to download the latest thesis and research topics in software engineering

Software Evolution

Software Evolution is the process of developing software product using underlying techniques and methodologies. It consists of all the steps right from the initial requirements up to its maintenance. In the initial stage, software requirements are gathered. After this, a prototype of the actual software product is created which is shown to the end users for feedback. Users give their suggestions regarding the product and suggest changes if required. This process is repeated until the time desired software product is developed.  There are certain Software Evolution laws according to which software is divided into following three types:

  • S-Type (static-type) – This type of software works according to specifications and solutions. It is the simplest of all the three types of software.
  • P-Type (practical-type) – This software is a collection of procedures. Gaming software is an example of this type of software.
  • E-Type (embedded-type) – This software works according to the real-world requirements. It has a high degree of evolution.

The methods and steps taken to design a software product are referred to as software paradigms .

Why is Software Engineering required?

Software Engineering is required due to frequent changes in user requirements and the environment. Through your thesis and research work, you can get to know more about the importance of Software Engineering. Following are the other things for which software engineering is required:

  • Large Software – The large size of software make it essential for the requirement of software engineering.
  • Scalability – Software Engineering makes it possible to scale the existing software rather than creating a new software.
  • Cost – Software Engineering also cut down the excess manufacturing cost in software development.
  • Dynamic Nature of Software – Software Engineering plays an important role if new enhancements are to be done in the existing software provided that the nature of software is dynamic.
  • Better Quality Management – Software Engineering provides better software development processes for better quality services.

Software Development Lifecycle (SDLC)

SDLC is a sequence of steps and stages in Software Engineering for the development of Software product. It is an important topic for project and thesis in software engineering. Following are the phases of SDLC:

Thesis in software engineering

  • Requirement Gathering and Analysis – It is the initial stage of software development in which the requirements for the software product to be made is collected. In this phase, the engineering team studies existing systems, take the opinion of stakeholders, and conduct user interviews. The types of requirements include user requirements, functional requirements and non-functional requirements. After the requirements are collected, these are examined and analyzed for validation i.e. whether these requirements can be incorporated into the system or not.
  • Feasibility Study – After requirement gathering, the next step is the feasibility study i.e. to check whether the desired software system can be made or not. The software development team comes up with an outline of the whole process and discusses whether the system will be able to meet the user requirements or not. In this phase, all the aspects like financial, practical, and technical are considered. If these aspects are found to be feasible only then the further processes are taken up.
  • Software Design – After confirming the feasibility of the software system, the designing of the software product is done. The designing of the software is done based on the requirements collected in the initial stage. An outline of the whole process is created in this phase which will define the overall system architecture. There are two types of designs – physical design and logical design.
  • Coding – This phase is also known as implementation phase as the actual implementation of the software system takes place here. An executable programming code is written in any suitable programming language for implementation. The work is divided into different modules and coding is done in each of these modules. This process is undertaken by a developer expert in programming.
  • Testing – Testing phase follows the coding phase in which testing of the code is done to check whether the system meets the user requirements or not. The types of testing include unit testing, system testing, integration testing and acceptance testing. Testing is required to find out any underlying errors and bugs in the product. Testing helps in creating a reliable software product.
  • Deployment – After successful testing, the software product is delivered to the end users. Customers perform Beta Testing to find out if there are changes required in the system or not. If changes are needed, then they can suggest them to the engineering team.
  • Maintenance – A special team is appointed to look after the maintenance of the software product. This team will provide timely software updates and give notifications based on that. The code is updated in accordance with the changes taking place in the real world environment.

Software Development Process Models

There are certain software development models as defined by Software Paradigms. Some of these are explained below:

Waterfall Model

It is a simple model for software development which defines that all the phases of SDLC take place in a linear manner. Simple meaning that if one phase is finished then only the next phase is started. According to this model, all the phases are executed in sequence with the planning of next phase in the previous phase. Also, this model will not function properly if there are certain issues left in the previous phase.

thesis project for software engineering

Iterative Model

It is another model for software development in which the whole process takes place in iterations. Iteration simply means repeating steps after a cycle is over. On the first iteration, the software is developed on a small scale and then the subsequent steps are followed.  During the next iteration, more features and modules are added. On completion of each iteration cycle, software is produced which have their own features and capabilities. The management team works on the risk management and prepare for next iteration.

thesis project for software engineering

Spiral Model

Spiral Model is a combination of iterative model and any one of the other SDLC model. The most important feature of this model is the consideration of risk factor which left unnoticed by other models. Initially, the objectives and constraints of the software product are determined. During next iteration, the prototype of the software is created. This process also includes risk analysis. In the fourth phase, next iteration is prepared.

thesis project for software engineering

In the waterfall model, we can go to next step only if the previous step is completed. Also, we cannot go back to the previous stage if some change is required. This drawback of waterfall model is fulfilled by the V-Shaped Model which provides testing of each phase in a reverse manner. In this model, test plans and test cases are created according to the requirements of that stage to verify and validate the software product. Thus verification and validation go in parallel in this case.

thesis project for software engineering

Software Metrics and Measures

Software Metrics and Measures are essential components in Software Engineering to understand the attributes and aspects of a software. These also help in maintaining the better quality of the software products. Following are some of the Software Metrics:

  • Size Metrics – It is measured in terms of Lines of Code (LOC) and Function Point Code. Lines of Code mean the number of lines of the programming code whereas Function Point Code is the Functional capacity of the software.
  • Complexity Metrics – It is measured in terms of number of independent paths in a program.
  • Quality Metrics – It is determined by the number of defects encountered while developing the software and after the product is delivered.
  • Process Metrics – Methods, tools, and standards used in software development come under process metrics.
  • Resource Metrics – It includes effort, time and resources used in development process.

Modularization in Software Engineering

Modularization is a technique in Software Engineering in which software system is divided into multiple modules and each module carries out its individual task independently. Modularization is more or less based on ‘Divide and Conquer’ approach. Each module is compiled and executed separately.

Advantages of Modularization are:

  • Smaller modules are easier to process.
  • Modularization offers a level of abstraction to the program.
  • High Cohesion components can be used again.
  • Concurrent execution is also possible.
  • It is also more secure.

Software Testing

It is the process of verifying and validating the software product to check whether it meets the user requirements or not as expected. Moreover, it also detects underlying defects, errors, and bugs that left unnoticed during the process of software development. As a whole, software testing detects software failures. Software Testing itself is a sub-field in software engineering and a trending topic for project, thesis, and research in software engineering.

Purpose of Software Testing

Following are the main purposes of software testing:

  • Verification – Verification is a process to find out whether the developed software product meets the business requirements or not. Verification ensures that whether the product being created satisfies the design specifications or not.
  • Validation – Validation is the process that examines whether or not the system meets the user requirements. The validation process is carried out at the end of SDLC.
  • Defect Finding – Defect finding simply means the difference between the actual output and the expected output. Software Testing tends to find this defect in the software product.

Types of Testing

Following are the main types of testing in software systems:

  • Alpha Testing – It is the most common type of testing carried out by a developer team at the developer end. It is conducted before the product is released.
  • Beta Testing – It is a type of software testing carried out by end users at the user end. This type of testing is performed in a real-world environment.
  • Acceptance Testing – It is a type of testing to find out whether the software system meets the user requirements or not.
  • Unit Testing – It is a type of testing in which an individual unit of the software product is tested.
  • Integration Testing – In this, two or more modules are combined and tested together as a group.
  • System Testing – Here all the individual modules are combined and then tested as a single group.

UML and Software Engineering

UML or Unified Modeling Language is language in software engineering for visualizing and documenting the components of a software system and is created by Object Management Group (OMG). It is different from programming languages. UML implements object-oriented concepts for analysis and design.

Building Blocks of UML

Following are the three main building blocks of UML:

Relationships

Things can be any one of the following:

Structural – Static Components of a system

Behavioral – Dynamic Components of a system

Grouping – Group elements of a UML model like package

Annotational – Comments of a UML model

The relationship describes how individual elements are associated with each other in a system. Following kinds of relationships are there:

  • Association
  • Generalization
  • Realization

The output of the entire process is UML diagrams. Following are the main UML diagrams:

  • Class Diagram
  • Object Diagram
  • Use Case Diagram
  • Sequence Diagram
  • Collaboration Diagram
  • Activity Diagram
  • Statechart Diagram
  • Deployment Diagram
  • Component Diagram

Software Maintenance

After the Software product is successfully launched in the market, timely updations and modifications needed to be done. This all comes under Software Maintenance. It includes all those measures taken after the delivery to correct errors and to enhance the performance. Software Maintenance does not merely means fixing defects but also providing time to time updations.

Types of Software Maintenance

The types of Software Maintenance depends upon the size and nature of the software product. Following are the main types of software maintenance:

  • Corrective Maintenance –  Fixing and correcting a problem identified by the user comes under corrective maintenance.
  • Adaptive Maintenance –  In adaptive maintenance, the software is kept up-to-date to meet the ever-changing environment and technology.
  • Perfective Maintenance –  To keep the software durable, perfective maintenance is done. This includes the addition of new features and new user requirements.
  • Preventive Maintenance –  To prevent any future problems in the software, preventive maintenance is done so that there are not any serious issues in near future.

Activities in Software Maintenance

Following activities are performed in Software Maintenance as given by IEEE:

  • Identification and Tracing
  • Implementation
  • System Testing
  • Acceptance Testing
  • Maintenance Management

Reverse Engineering

Reverse Engineering is a process in which an existing system is thoroughly analyzed to extract some information from that system and reproduce that system or product using that extracted information.  The whole process is a reverse SDLC. Reverse Engineering for software is done to extract the source code of the program which can be implemented in a new software product.

Case Tools for Software Engineering

Case or Computer-aided Software Engineering are computer-based automated tools for development and maintenance of software products. Just as the CAD (Computer-aided design) is used for designing of hardware products, Case is used for designing of software products. Case tools develop high-quality and easily maintainable software products.

Elements of Case Tools

Following are the main components of Case Tools:

  • Central Repository –  Central Repository or Data Dictionary is a central storage for product specifications, documents, reports, and diagrams.
  • Upper Case Tools – These are used in planning, analysis, and design phases of SDLC.
  • Lower Case Tools – These are used in the implementation, testing, and maintenance.
  • Integrated Case Tools – These tools can be used in all the stages of SDLC.

Project, Thesis, and Research topics in Software Engineering

Following is the list of Software Engineering topics for project, thesis, and research for masters and other postgraduate students:

  • Data Modeling

Software Models

Software Quality

Verification and Validation

Software Project Management

Data Modeling 

The process of structuring and organizing data is known as Data Modeling. After structuring of data, it is implemented in the database system. While organizing data, certain constraints and limitations are also applied to data. The main function of Data Modeling is to manage a large amount of both structured and unstructured data. In data modeling, initially, a conceptual data model is created which is later translated to the physical data model.

UML(Unified Modeling Language)

This was all about Software Engineering. You can explore and research more of this topic while working on your project and thesis. It is a standard language to visualize software systems. This language is used by software developers, business analysts, software architects, and other individuals to study the artifacts of a software system. It is a very good topic for a thesis in Software Engineering.

SDLC or Software Development Lifecycle is a set of stages followed for the development of a software product. For building a software product steps are followed beginning from data collection to software maintenance. It also includes software testing in which a software goes through various types of testing before giving a final nod to the software product.

Masters students can work on software models for their thesis work. Various types of software models are there like waterfall model, V-Shaped model, spiral model, prototype model, agile model, Iterative model etc. These models give step by step implementation of various phases of software development.

The concept of ontology is used in Software Engineering to represent the domain knowledge in a formal way. Certain knowledge-based applications use the ontology to share knowledge. Ontology is used in software engineering to collaborate the use of AI techniques in software engineering. UML diagrams are also being used in the development of Ontology.

Software Quality refers to the study of software features both external and internal taking into consideration certain attributes. External features mean how software is performing in a real-world environment while internal features refer to the quality of code written for the software. External quality is dependent on the internal in the sense that software works in the real-world environment with respect to the code written by the coder.

After the software product is implemented, it goes through the testing phase to find any underlying error or bug. The most common type of software testing is the alpha testing. In this type of testing, the software is tested to detect any issue before it is released. Students can find a number of topics under software testing for thesis, research, and project.

Software Maintenance is necessary as some errors or bugs can be detected in future in the software product. Students can study and research on the types of software maintenance done by the team. Software Maintenace does not solely means fixing errors in the software. It includes a number of tasks done so that the software product keeps on working perfectly with advancements.

Verification and Validation are the two most important steps in software engineering. Verification and Validation are not as easy as it seems. There are a number of steps under it which can be an interesting research work for your thesis. Verification is done before validation.

It is another interesting topic for the thesis in software engineering. It refers to the management of the software project through proper planning and execution. It includes time, cost, quality, and scope of the project. A team is appointed for this purpose.

These were the topics in software engineering for project, thesis, and research. Contact us for any kind of thesis help in software engineering for M.Tech and Ph.D.

Click the following link to download Latest Thesis and Research Topics in Software Engineering

Latest Thesis and Research Topics in Software Engineering(PdF)

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Save my name, email, and website in this browser for the next time I comment.

Quick Enquiry

Get a quote, share your details to get free.

  • Executive Committee
  • Distinguished Service
  • Outstanding Research
  • Influential Educator
  • Distinguished Paper
  • Frank Anger Memorial
  • Impact Paper
  • Doctoral Dissertation
  • Early Career Researcher

Dissertations

  • Research Highlights
  • Student Assistance
  • Improving Paper and Peer Review Quality
  • Impact Project

PhD Dissertations in the Area of Software Engineering

This list is provided as a resource for PhD candidates, researchers, scientists, and engineers who are actively pursuing advanced research in Software Engineering.

If you are a PhD graduate, we invite you to submit information about your dissertation using this form . The information you provide will be evaluated by our committee before being added to the list below.

Finally, note that SIGSOFT is making this information available without warranty and assumes no responsibility for its accuracy. All information was provided on a voluntary basis. Any issues of copyright are the sole responsibility of the person submitting the information to SIGSOFT.

Those interested in PhD dissertations in the area of software engineering may also be want to review Tao Xie's Software Engineering Academic Genealogy .

Miguel Olivero . A Framework For Security Assessment Of Systems Of Systems . Universidad de Sevilla (Nov 19, 2020, advisor: Maria José Escalona. Abstract .

Roberto Casadei . Engineering Self-Adaptive Collective Processes for Cyber-Physical Ecosystems . Alma Mater Studiorum - Universitá di Bologna (Feb 4, 2020, advisor: Mirko Viroli). Abstract .

Faiz Ali Shah . Extracting Information from App Reviews to Facilitate Software Development Activities . University of Tartu, Estonia (Feb 21, 2020, advisor: Dietmar Pfahl). Abstract .

Tiago Boldt Sousa . Engineering Software for the Cloud: A Pattern Language . Faculty of Engineering, University of Porto (May 8, 2020, advisor: Hugo Sereno Ferreira). Abstract .

Yannic Noller . Hybrid Differential Software Testing . Humboldt-Universität zu Berlin (Oct 16, 2020, advisor: Lars Grunske). Abstract .

Toni Taipalus . Persistent Errors in Query Formulation . University of Jyvaskyla (Nov 29, 2020, advisor: Mikko Siponen). Abstract .

Théo Zimmermann . Challenges in the collaborative evolution of a proof language and its ecosystem . Université de Paris (December 12, 2019, advisor: Hugo Herbelin). Abstract .

Tushar Sharma . Extending Maintainability Analysis Beyond Code Smells . Athens University of Economics and Business (May 2, 2019, advisor: Diomidis Spinellis). Abstract .

Christian Macho . Preventing and Repairing Build Breakage . University of Klagenfurt (May 8, 2019, advisor: Martin Pinzger). Abstract .

Akond Rahman . Anti-patterns in Infrastructure as Code . North Carolina State University (Jun 13, 2019, advisor: Laurie Williams). Abstract .

Denae Ford . Identity-Based Signals and E-Mentorship to Support Engagement in Online Programming Communities . North Carolina State University (Jul 30, 2019, advisor: Christopher Parnin). Abstract .

Sebastian Baltes . Software Developers' Work Habits and Expertise: Empirical Studies on Sketching, Code Plagiarism, and Expertise Development . University of Trier (Oct 4, 2019, advisor: Stephan Diehl). Abstract .

Huishi Yin . Using a Kano-like Model to Facilitate Open Innovation in Requirements Engineering . University of Tartu, Estonia (Dec 17, 2019, advisor: Dietmar Pfahl). Abstract .

Martina De Sanctis . Dynamic Adaptation of Service-Based Systems: a Design for Adaptation Framework . University of Trento (May 152018, advisor: Marco Pistore). Abstract .

Chaiyong Ragkhitwetsagul . Code similarity and clone search in large-scale source code data . University College London, United Kingdom (Oct 10, 2018, advisor: Jens Krinke). Abstract .

Thomas Vogel . Model-Driven Engineering of Self-Adaptive Software . Hasso Plattner Institute, University of Potsdam, Germany (Mar 19, 2018, advisor: Holger Giese ). Abstract .

Siba Mishra . Efficient Cost Estimation And Testing Approaches For Soa Systems . Indian Institute of Technology (Indian School of Mines) Dhanbad (Mar 23, 2018, advisor: Prof. Chiranjeev Kumar ). Abstract .

Titus Barik . Error Messages As Rational Reconstructions . North Carolina State University (Mar 29, 2018, advisor: Emerson Murphy-Hill ). Abstract .

Austin Henley . Human-Centric Tools For Navigating Code . University of Memphis (Aug 11 2018, advisor: Scott Fleming ). Abstract .

Xavier Devroey . Behavioural model-based testing of software product lines . University of Namur (Aug 30 2017, advisor: Pierre-Yves Schobbens and Patrick Heymans ). Abstract .

Sridhar Chimalakonda . A Software Engineering Approach For Design Of Educational Technologies . International Institute of Information Technology Hyderabad (Feb 3 2017, advisor: Kesav V. Nori ). Abstract .

Amin Milani Fard . Directed test generation and analysis for web applications . University of British Columbia (Jan 27 2017, advisor: Ali Mesbah ). Abstract .

Asim Abdulkhaleq . A System-Theoretic Safety Engineering Approach For Software-Intensive Systems . University of Stuttgart, Institute of Software Technology (Jun 2, 2017, advisor: Stefan Wagner ). Abstract .

Sami Alajrami . Software Development In The Post-Pc Era: Towards Software Development As A Service . Newcastle University (May 4, 2017, advisor: Alexander Romanovsky ). Abstract .

Catarina Costa . Recommending Developers For Collaborative Merge Sessions . Fluminense Federal University (Jun 28, 2017, advisor: Leonardo Gresta Paulino Murta ). Abstract .

Ahmad Nauman Ghazi . Structuring Exploratory Testing Through Test Charter Design And Decision Support . Blekinge Institute of Technology, Sweden (Jun 1, 2017, advisor: Kai Petersen ). Abstract .

Fabio Palomba . Code Smells: Relevance Of The Problem And Novel Detection Techniques . University of Salerno (Apr 20, 2017, advisor: Andrea De Lucia ). Abstract .

Alireza Rouhi . Presenting A Process For Generating A Pattern Language Verifier . University of Isfahan (Sep 2, 2017, advisor: Bahman Zamani ). Abstract .

Jonas Westman . Specifying Safety-Critical Heterogeneous Systems Using Contracts Theory . ITM/Machine Design (Feb 22, 2017, advisor: Mattias Nyberg ). Abstract .

Andrea Stocco . Automatic Page Object Generation To Support E2E Testing Of Web Applications . University of Genoa, Italy (Apr 12, 2017, advisor: Filippo Ricca ). Abstract .

Jean Melo . Variability Bugs: Program And Programmer Perspective . IT University of Copenhagen (Aug 31, 2017, advisor: Claus Brabrand ). Abstract .

Rubén Saborido . Assisting Developers And Users In Developing And Choosing Efficient Mobile Device Apps . École Polytechnique de Montréal (December 7, 2017, advisor: Foutse Khomh ). Abstract .

Santosh Singh Rathore . Predicting Number Of Faults In Software Systems . Indian Institute of Technology Roorkee (Sep 2017, advisor: Dr. Sandeep Kumar ). Abstract .

Kuldeep Kumar . Formalization and Detection of Collaborative Patterns in Software . National University of Singapore (NUS), Singapore (Jan 31, 2016, advisor: Stanislaw Jarzabek). Abstract .

Michail Famelis . Managing Design-Time Uncertainty In Software Models . University of Toronto (Jan 15, 2016, advisor: Marsha Chechik ). Abstract .

Ahmad Jbara . Regularity Of Code: A New Structural Property And Its Effect On Code Complexity And Comprehension . Hebrew University (Jul 2016, advisor: Dror Feitelson ). Abstract .

Jan Kurs . Parsing For Agile Modeling . University of Bern (Oct 25, 2016, advisor: Oscar Nierstrasz ). Abstract .

Breno Miranda . Redefining And Evaluating Coverage Criteria Based On The Testing Scope . University of Pisa (Oct 6, 2016, advisor: Antonia Bertolino ). Abstract .

Andrea Caracciolo . A Unified Approach To Architecture Conformance Checking . University of Bern (Mar 2016, advisor: Oscar Nierstrasz ). Abstract .

Niko Mäkitalo . On Programmable Interactions: Principles, Concepts And Challenges Of Co-Located And Social Interplay . Tampere University of Technology (Jun 15, 2016, advisor: Tommi Mikkonen ). Abstract .

Saurabh Tiwari . Evaluating Usability Aspects Of Use Cases For Software Specification Problems . Indian Institute of Information Technology, Design and Manufacturing, Jabalpur, India (June 29, 2016, advisor: Dr Atul Gupta ). Abstract .

Mohamed Wiem Mkaouer . Balancing Competing Needs Of Machine And Human In Search-Based Software Refactoring . University of Michigan-Dearborn (April 4, 2016, advisor: Marouane Kessentini ). Abstract .

Nariman Mirzaei . Automated Input Generation For Testing Android Applications . George Mason University (Jun 6, 2016, advisor: Sam Malek ). Abstract .

Maria Christakis . Narrowing the Gap between Verification and Systematic Testing . ETH Zurich (Sep 21 2015, advisor: Peter Muller ). Abstract .

Yepang Liu . Automated Analysis of Energy Efficiency and Execution Performance for Mobile Applications . The Hong Kong University of Science and Technology (Nov 20 2015, advisor: Shing-Chi Cheung ). Abstract .

Markus Borg . From Bugs to Decision Support - Leveraging Historical Issue Reports in Software Evolution . Lund University (May 8, 2015, advisor: Per Runeson ). Abstract .

Marcelo Schots de Oliveira . On The Use Of Visualization For Supporting Software Reuse . Federal University of Rio de Janeiro (Dec 15, 2015, advisor: Cláudia Maria Lima Werner ). Abstract .

Nauman bin Ali . Operationalization Of Lean Thinking Through Value Stream Mapping With Simulation And Flow . Blekinge Institute of Technology (Jun 5, 2015, advisor: Claes Wohlin ). Abstract .

Phu H. Nguyen . Model-Driven Security With Modularity And Reusability For Engineering Secure Software Systems . University of Luxembourg (Sep 10, 2015, advisor: Yves Le Traon ). Abstract .

Gustavo Pinto . A Refactoring Approach To Improve Energy Consumption Of Parallel Software Systems . UFPE (Feb 24, 2015, advisor: Fernando José Castor de Lima Filho ). Abstract .

Anas Shatnawi . Supporting Reuse By Reverse Engineering Software Architecture And Component From Object-Oriented Product Variants And Apis . LIRMM/University of Montpellier (Jun 29, 2015, advisor: Abdelhak Djamel Seriai ). Abstract .

Rodrigo Souza . Inappropriate Software Changes: Rejection And Rework . Federal University of Bahia (UFBA) (Jul 17, 2015, advisor: Christina von Flach Garcia Chavez ). Abstract .

Mohd Hafeez Osman . Interactive Scalable Condensation Of Reverse Engineered Uml Class Diagrams For Software Comprehension . Leiden University (March 10, 2015, advisor: Michel R.V. Chaudron ). Abstract .

Igor Steinmacher . Supporting Newcomers To Overcome The Barriers To Contribute To Open Source Projects . University of São Paulo (February 26, 2015, advisor: Igor Steinmacher ). Abstract .

Ivan Machado . Fault model-based variability testing . Federal University of Bahia (Jul 21 2014, advisor: Eduardo Santana de Almeida ). Abstract .

Xusheng Xiao . Cooperative Testing and Analysis via Informed Decision Making . North Carolina State University (Jun 13 2014, advisor: Tao Xie and Laurie Williams). Abstract .

Muddassar Sindhu . Algorithms and Tools for Learning-based Testing of Reactive Systems . Royal Institute of Technology (KTH), Stockholm, Sweden (Apr 16, 2013, advisor: Karl Meinke). Abstract .

Joshua Sunshine . Protocol Programmability . Carnegie Mellon University (Dec 2013, advisor: Jonathan Aldrich ). Abstract .

Jeff Huang . Effective Methods for Debugging Concurrent Software . Hong Kong University of Science and Technology (May 31 2013, advisor: Charles Zhang ). Abstract .

Baishakhi Ray . Analysis of Cross-System Porting and Porting Errors in Software Projects . University of Texas at Austin (Aug 19 2013, advisor: Miryung Kim ). Abstract .

Tristan Ravitch . Inferred Interface Glue: Supporting Language Interoperability with Static Analysis . University of Wisconsin-Madison (Aug 20 2013, advisor: Ben Liblit ). Abstract .

Kathryn Stolee . Solving the Search for Source Code . University of Nebraska-Lincoln (Jan 1 2013, advisor: Sebastian Elbaum ). Abstract .

Norbert Siegmund . Measuring and Predicting Non-Functional Properties of Customizable Programs . University of Magdeburg (Nov 27 2012, advisor: Gunter Saake ). Abstract .

Janet Siegmund . Framework for Measuring Program Comprehension . University of Magdeburg (Nov 27 2012, advisor: Gunter Saake ). Abstract .

Kai Pan . Constraint-based generation of database states for testing database applications . University of North Carolina at Charlotte (Dec 2012, advisor: Xintao Wu ). Abstract .

Domenico Bianculli . Open-world software: Specification, verification, and beyond . Università della Svizzera italiana (Jul 18 2012, advisor: Carlo Ghezzi ). Abstract .

Taneja Kunal . Quality Assurance of Database Centric Applications . North Carolina State University (Nov 7 2012, advisor: Tao Xie ). Abstract .

Iman Saleh . The Formal Specification and Verification of Data-Centric Web Services . Virginia Tech (Feb 10 2012, advisor: Gregory W. Kulczycki ). Abstract .

Michael Würsch . A Query Framework for Software Evolution Data . University of Zurich (Sep 2012, advisor: Harald C. Gall ). Abstract .

Michael Pradel . Program Analyses for Automatic and Precise Error Detection . ETH Zurich, Department of Computer Science (Dec 2012, advisor: Thomas R. Gross ). Abstract .

Cindy Rubio González . Finding Error-Propagation Bugs in Large Software Systems Using Static Analysis . University of Wisconsin Madison (Aug 2012, advisor: Ben Liblit ). Abstract .

Piramanayagam Arumuga Nainar . Applications of Static Analysis and Program Structure in Statistical Debugging . University of Wisconsin - Madison (Aug 24 2012, advisor: Ben Liblit ). Abstract .

Aldeida Aleti . An Adaptive Approach to Controlling Parameters of Evolutionary Algorithms . Swinburne University of Technology (Jul 23 2012, advisor: Lars Grunske ). Abstract .

Pamela Bhattacharya . Quantitative decision-making in software engineering . University of California, Riverside (Jun 15 2012, advisor: Iulian Neamtiu ). Abstract .

Matthias Hert . RDF-based Read and Write Access to Relational Databases . University of Zurich (Apr 2012, advisor: Harald C. Gall ). Abstract .

Ekwa Duala-Ekoko . Using Structure-Based Recommendations to Facilitate API Learnability . McGill University (May 2012, advisor: Martin Robillard ). Abstract .

Indika Meedeniya . Architecture Optimisation of Embedded Systems under Uncertainty in Probabilistic Reliability Evaluation Model Parameters . Swinburne University of Technology (Jul 17 2012, advisor: Lars Grunske and Irene Moser). Abstract .

Mark Gabel . Inferring Programmer Intent and Related Errors from Software . University of California at Davis (Sep 2011, advisor: Zhendong Su ). Abstract .

Eugene Syriani . A Multi-Paradigm Foundation for Model Transformation Language Engineering . McGill University (Feb 4 2011, advisor: Hans Vangheluwe ). Abstract .

Mohammad AL Asswad . Semantic Information Systems Engineering: A Query-based Approach for Semi-automatic Annotation of Web Services . Brunel University (Jul 19 2011, advisor: Mark Lycett ). Abstract .

Catia Trubiani . Automated generation of architectural feedback from software performance analysis results . University of L'Aquila (Apr 18 2011, advisor: Vittorio Cortellessa ). Abstract .

Amine Chigani . Campus Situational Awareness and Emergency Response Management System . Virginia Polytechnic Institute & State University (May 14 2011, advisor: Osman Balci ). Abstract .

Anne Koziolek . Automated Improvement of Software Architecture Models for Performance and Other Quality Attributes . Karlsruhe Institute of Technology (Jul 14 2011, advisor: Ralf Reussner ). Abstract .

Ridi Ferdiana . An extreme programming approach for global software development . Universitas Gadjah Mada (Oct 26 2011, advisor: Lukito Edi Nughroho and Paulus Insap Santosa and Ahmad Ashari). Abstract .

Yi Huang . Contract-based Synchronization of Multi-threaded Java Programs . Michigan State University (Dec 16 2011, advisor: Laura Dillon ). Abstract .

Rahul Purandare . Exploiting Program and Property Structure for Efficient Runtime Monitoring . University of Nebraska (May 6 2011, advisor: Matthew B. Dwyer ). Abstract .

Jiangfan Shi . Use of constraint solving for testing software product lines . University of Nebraska (Dec 2011, advisor: Matthew B. Dwyer and Myra B. Cohen). Abstract .

Neil Harrison . Improving quality attributes of software systems through software architecture patterns . University of Groningen (Apr 18 2011, advisor: Paris Avgeriou ). Abstract .

Trosky Boris Callo Arias . Execution architecture views for evolving software-intensive systems . University of Groningen (Jun 17 2011, advisor: Paris Avgeriou and Pierre America). Abstract .

Philip Langer . Adaptable Model Versioning based on Model Transformation By Demonstration . Vienna University of Technology (Dec 21 2011, advisor: Gerti Kappel ). Abstract .

Klaas-Jan Stol . Supporting Product Development with Software from the Bazaar . University of Limerick (Dec 1 2011, advisor: Muhammad Ali Babar and Paris Avgeriou and Brian Fitzgerald). Abstract .

Ziyad Alshaikh . Notes on the Synthesis of Context: a novel approach to model context in software engineering . Australian National University (Feb 2011, advisor: Clive Boughton ). Abstract .

Kiev Gama . Towards Dependable Dynamic Component-based Application . Universite de Grenoble (Oct 6 2011, advisor: Didier Donsez ). Abstract .

Arif Raza . A Usability Maturity Model for Open Source Software . University of Western Ontario (Jun 15 2011, advisor: Luiz Fernando Capretz ). Abstract .

Hugo Sereno Ferreira . Adaptive Object-Modeling: Patterns, Tools and Applications . University of Porto, Faculty of Engineering (May 27 2011, advisor: Ademar Aguiar ). Abstract .

Varun Gupta . Object-Oriented Static and Dynamic Software Metrics for Design and Complexity . National Institute of Technology, Kurukshetra, India (Mar 31 2011, advisor: Jitender Kumar Chhabra ). Abstract .

Soo Ling Lim . Social Networks and Collaborative Filtering for Large-Scale Requirements Elicitation . University of New South Wales (Feb 3 2011, advisor: Anthony Finkelstein ). Abstract .

William Tribbey . Construction and analysis of vector space models for use in aspect mining . Nova Southeastern University (Apr 2011, advisor: Frank Mitropoulos ). Abstract .

Andrew Forward . The Convergence of Modeling and Programming: Facilitating the Representation of Attributes and Associations in the Umple Model-Oriented Programming Language . University of Ottawa (Oct 25 2010, advisor: Timothy C. Lethbridge ). Abstract .

Paul Ralph . Fundamentals of Software Design Science . University of British Columbia (Oct 2010, advisor: Yair Wand ). Abstract .

Antonio Miguel Rosado da Cruz . Automatic Generation of User Interfaces from Rigorous Domain and Use Case Models . Universidade do Porto (Sep 17 2010, advisor: Joao Pascoal Faria ). Abstract .

Vinicius Garcia . RiSE Reference Model for Software Reuse Adoption in Brazilian Companies . Federal University of Pernambuco (Feb 26 2010, advisor: Silvio Romero de Lemos Meira and Eduardo Santana de Almeida). Abstract .

Foutse Khomh . Patterns and Quality of Object-oriented Software Systems . University of Montreal (Aug 31 2010, advisor: Yann-Gael Gueheneuc ). Abstract .

Marco D'Ambros . On the Evolution of Source Code and Software Defects . University of Lugano (Oct 19 2010, advisor: Michele Lanza ). Abstract .

Suresh Thummalapenta . Improving Software Productivity and Quality via Mining Source Code . North Carolina State University (Nov 23 2010, advisor: Tao Xie ). Abstract .

Juncao Li . An Automata-Theoretic Approach to Hardware/Software Co-verification . Portland State University (Dec 10 2010, advisor: Fei Xie ). Abstract .

Paolo Di Benedetto . A Framework For Context Aware Adaptable Software Applications And Services . Università degli Studi di L'Aquila (Jul 9 2010, advisor: Paola Inverardi ). Abstract .

Toby Myers . The Foundations for a Scaleable Methodology for Systems Design . Griffith University (Nov 26 2010, advisor: R. Geoff Dromey ). Abstract .

Lukas Renggli . Dynamic Language Embedding With Homogeneous Tool Support . University of Bern (Oct 20 2010, advisor: Oscar Nierstrasz ). Abstract .

Rubén Mondéjar . Distributed AOP Middleware for Large-Scale Scenarios . Universitat Rovira i Virgili (Apr 29 2010, advisor: Pedro García-López ). Abstract .

David Röthlisberger . Augmenting IDEs with Runtime Information for Software Maintenance . University of Bern (Jun 4 2010, advisor: Oscar Nierstrasz ). Abstract .

Rangaswamy Selvarani . Design Quality Metrics in Object Oriented Software System . Jawaharlal Nehru Technological University, Hyderabad (Feb 8 2010, advisor: T.R. Gopalakrishnan Nair ). Abstract .

Bonita Sharif . Empirical Assessment of UML Class Diagram Layouts based on Architectural Importance . Kent State University (May 13 2010, advisor: Jonathan I. Maletic ). Abstract .

Michel dos Santos Soares . Architecture-Driven Integration of Modeling Languages for the Design of Software-Intensive Systems . Delft University of Technology (Feb 2010, advisor: Alexander Verbraeck ). Abstract .

Angshu Maan Sen . Multiple Perspectives of Elicitation of Requirements in Goal Oriented Requirements Engineering: An Agile Technique of Elicitation . Assam University, Silchar (May 13 2010, advisor: K. Hemachandran ). Abstract .

Patricia Deshane . Managing the Copy-and-Paste Programming Practice . Clarkson University (Apr 30, 2010, advisor: Daqing Hou ). Abstract .

Christian Murphy . Metamorphic Testing Techniques to Detect Defects in Applications without Test Oracles . Columbia University (May 2010, advisor: Gail Kaiser ). Abstract .

Remco de Boer . Architectural Knowledge Management: Supporting Architects and Auditors . VU University Amsterdam (Oct 5 2009, advisor: Hans van Vliet and Patricia Lago). Abstract .

Laura-Cecilia Rodriguez-Martinez . Design and Evaluation of a Software Systems Life Cycle Process Model in the Service-oriented Software Engineering Paradigm . Autonomous University of Aguascalientes (Nov 12 2009, advisor: Manuel Mora ). Abstract .

Angela Lozano . Assessing the effect of source code characteristics on changeability . Open University (Dec 17 2009, advisor: Michel Wermelinger and Bashar Nuseibeh). Abstract .

Mircea Lungu . Reverse Engineering Software Ecosystems . University of Lugano (Oct 2009, advisor: Michele Lanza ). Abstract .

Jochen Quante . Dynamic Object Process Graphs . University of Bremen, Germany (Jan 30, 2009, advisor: Rainer Koschke ). Abstract .

Rui Abreu . Spectrum-based Fault Localization in Embedded Software . Delft University of Technology (2009, advisor: Arjan van Gemund ). Abstract .

Bruno Cabral . A Transactional Model for Automatic Exception Handling . University of Coimbra (Nov 26 2009, advisor: Paulo Marques ). Abstract .

Mohammad Raunak . Resource Management In Complex and Dynamic Environments . University of Massachusetts Amherst (Sep 2009, advisor: Leon J. Osterweil ). Abstract .

Joerg Rech . Context-sensitive Diagnosis of Quality Defects in Object-oriented Software Systems . University of Hildesheim (2009, advisor: Klaus-Dieter Althoff ). Abstract .

Yingfei Xiong . A Language-based Approach to Model Synchronization in Software Engineering . The University of Tokyo (Sep 2009, advisor: Zhenjiang Hu and Masato Takeichi). Abstract .

Justin Erenkrantz . Computational REST: A New Model for Decentralized, Internet-Scale Applications . University of California, Irvine (Sep 2009, advisor: Richard N. Taylor ). Abstract .

Donna Malayeri . Coding Without Your Crystal Ball: Unanticipated Object-Oriented Reuse . Carnegie Mellon University (Dec 2009, advisor: Jonathan Aldrich ). Abstract .

Georgios Gousios . Tools and Methods for Large Scale Software Engineering Research . Athens University of Economics and Business (Apr 7 2009, advisor: Diomidis Spinellis ). Abstract .

Eduardo Figueiredo . Concern-Oriented Heuristic Assessment of Design Stability . Lancaster University (Oct 23 2009, advisor: Jon Whittle and Alessandro Garcia). Abstract .

Lingxiao Jiang . Scalable Detection of Similar Code: Techniques and Applications . University of California, Davis (2009, advisor: Zhendong Su ). Abstract .

Travis Breaux . Legal Requirements Acquisition for the Specification of Legally Compliant Information Systems . North Carolina State University (Apr 2009, advisor: Annie Anton ). Abstract .

Eric Bodden . Verifying finite-state properties of large-scale programs . McGill University (Dec 28 2009, advisor: Laurie Hendren ). Abstract .

Sayyed Maisikeli . Aspect Mining Using Self-Organizing Maps With Method Level Dynamic Software Metrics as Input Vectors . Nova Southeastern University (Jun 2009, advisor: Frank Mitropoulos ). Abstract .

Adam Kiezun . Effective Software Testing with a String-Constraint Solver . MIT (2009, advisor: Michael D. Ernst ). Abstract .

Dennis Jeffrey . Dynamic State Alteration Techniques for Automatically Locating Software Errors . The University of California, Riverside (Aug 2009, advisor: Rajiv Gupta ). Abstract .

Chanchal Roy . Detection and Analysis of Near-Miss Software Clones . Queen's University at Kingston (Aug 31 2009, advisor: James R. Cordy ). Abstract .

Roberto Silva Filho . An Empirical Study of Publish/Subscribe Middleware Versatility . University of California, Irvine (Aug 2009, advisor: David F. Redmiles ). Abstract .

Suzette Person . Differential Symbolic Execution . University of Nebraska - Lincoln (Aug 2009, advisor: Matthew B. Dwyer ). Abstract .

Eugen Nistor . Concern-Driven Software Evolution . University of California, Irvine (2009, advisor: Andre van der Hoek ). Abstract .

Maria Karen Cortes-Verdin . AOPLA: Aspect-Oriented Product Line Architecture . CIMAT A.C. (Center for Research in Mathematics), Mexico (Jun 5 2009, advisor: Cuauhtemoc Lemus Olalde ). Abstract .

Kevin Bierhoff . API Protocol Compliance in Object-Oriented Software . Carnegie Mellon University (May 17 2009, advisor: Jonathan Aldrich ). Abstract .

Abbas Heydarnoori . Supporting Framework Use via Automatically Extracted Concept-Implementation Templates . University of Waterloo (Apr 27 2009, advisor: Krzysztof Czarnecki ). Abstract .

Mithun Acharya . Mining API Specifications from Source Code for Improving Software Reliability . North Carolina State University (Apr 27 2009, advisor: Tao Xie ). Abstract .

Khanh Hoa Dam . Supporting Software Evolution in Agent Systems . RMIT University (Mar 4 2009, advisor: Michael Winikoff and Lin Padgham). Abstract .

Nelio Cacho . Supporting Maintainable Exception Handling with Explicit Exception Channels . Lancaster University (Jan 15 2009, advisor: Alessandro Garcia ). Abstract .

Anton Jansen . Architectural design decisions . University of Groningen (Sep 19 2008, advisor: Jan Bosch and Dieter Hammer and Paris Avgeriou). Abstract .

Thomas Zimmermann . Changes and Bugs Mining and Predicting Development Activities . Saarland University (May 26 2008, advisor: Andreas Zeller ). Abstract .

Chithralekha Thanasekaran . Agents with Two-Dimensional Language Autonomy for Task Delegation . Pondicherry University (Aug 12 2008, advisor: S. Kuppuswami ). Abstract .

Lukasz Radlinski . Improved Software Project Risk Assessment Using Bayesian Nets . Queen Mary, University of London (Nov 30 2008, advisor: Norman Fenton ). Abstract .

Till Bay . Hosting distributed software projects: concepts, framework, and the Origo experience . ETH Zurich (Jan 16 2008, advisor: Bertrand Meyer ). Abstract .

Venkatasamy Prasanna Venkatesan . ARMMS- AN Architectural Reference Model for Multilingual Software . Pondicherry University (Aug 12 2008, advisor: S. Kuppuswami ). Abstract .

Oksana Tkachuk . Domain-Specific Environment Generation for Modular Software Model Checking . Kansas State University (Dec 12 2008, advisor: Matthew B. Dwyer ). Abstract .

Israel Herraiz . A statistical examination of the properties and evolution of libre software . Universidad Rey Juan Carlos (Oct 2008, advisor: Jesus M. Gonzalez Barahona and Gregorio Robles). Abstract .

Marc Fisher II . Probing Analysis of Closed Components . University of Nebraska - Lincoln (Aug 2008, advisor: Gregg Rothermel and Sebastian Elbaum). Abstract .

Marco Autili . Synthesis Of Distributed Adaptors To Enforce Temporal Properties Specified Through Graphical Scenarios . Universit� degli Studi dell'Aquila (Apr 2008, advisor: Paola Inverardi ). Abstract .

Romain Robbes . Of Change and Software . University of Lugano (Jan 12 2008, advisor: Michele Lanza ). Abstract .

Miryung Kim . Analyzing and Inferring the Structure of Code Changes . University of Washington (2008, advisor: David Notkin ). Abstract .

Atul Gupta . Unit Testing of Object-Oriented Programs . IIT Kanpur, INDIA (Mar 17 2008, advisor: Dr. Pankaj Jalote ). Abstract .

Haroon Tarawneh . A Proposed Software Process Framework for Internet Development in Small Software Firms . The Arab Academy for Banking and Financial Sciences (2008, advisor: Asim El Sheikh ). Abstract .

Adrian Lienhard . Dynamic Object Flow Analysis . University of Bern, Switzerland (Dec 16 2008, advisor: Oscar Nierstrasz ). Abstract .

Claudio Sant'Anna . On the Modularity of Aspect-Oriented Design: A Concern-Driven Measurement Approach . Pontifical Catholic University of Rio de Janeiro (PUC-Rio) (Apr 2008, advisor: Carlos Lucena and Alessandro Garcia). Abstract .

Faizan Javed . Techniques for Context-Free Grammar Induction and Applications . University of Alabama at Birmingham (May 3 2008, advisor: Barrett R. Bryant ). Abstract .

Beat Fluri . Change Distilling - Enriching software evolution analysis with fine-grained source code change histories . University of Zurich (Oct 2008, advisor: Harald C. Gall ). Abstract .

Suman Roychoudhury . Genaweave: A Generic Aspect Weaver Framework Based On Model-Driven Program Transformation . University of Alabama at Birmingham (Aug 9 2008, advisor: Jeff Gray ). Abstract .

Sebastian Gonzalez . Programming in Ambience: Gearing Up for Dynamic Adaptation to Context . Universit� catholique de Louvain (Oct 24 2008, advisor: Prof. Kim Mens ). Abstract .

Annabella Loconsole . Definition and validation of requirements management measures . Ume� University (Jan 25 2008, advisor: Jurgen Borstler ). Abstract .

Bram Adams . Co-Evolution of Source Code and the Build System: Impact on the Introduction of AOSD in Legacy Systems . Ghent University (May 15 2008, advisor: Herman Tromp ). Abstract .

Tom Van Custem . Ambient References: Object Designation in Mobile ad hoc Networks . Vrije Universiteit Brussel (May 23 2008, advisor: Wolfgang De Meuter ). Abstract .

K.C. Shashidhar . Efficient Automatic Verification of Loop and Data-flow Transformations by Functional Equivalence Checking . Katholieke Universiteit Leuven (May 23 2008, advisor: Maurice Bruynooghe and Francky Catthoor). Abstract .

Christoph Csallner . Combining over- and under-approximating program analyses for automatic software testing . Georgia Tech (Aug 1 2008, advisor: Yannis Smaragdakis ). Abstract .

Michal Antkiewicz . Framework-Specific Modeling Languages . University of Waterloo (Sep 12 2008, advisor: Krzysztof Czarnecki ). Abstract .

Dennis Wagelaar . Platform Ontologies for the Model-Driven Architecture . Vrije Universiteit Brussel (Apr 18 2008, advisor: Viviane Jonckers ). Abstract .

Eugenio Capra . Software Design Quality and Development Effort: an Empirical Study on the Role of Governance in Open Source Projects . Politecnico di Milano (May 14 2008, advisor: Chiara Francalanci ). Abstract .

Oliver Hummel . Semantic Component Retrieval in Software Engineering . University of Mannheim (Mar 11 2008, advisor: Colin Atkinson and Ivica Crnkovic). Abstract .

Vahe Poladian . Tailoring Configuration to User's Tasks under Uncertainty . Carnegie Mellon University (May 2008, advisor: David Garland and Mary Shaw). Abstract .

Jie Hu . Realistic Models for Scheduling Tasks on Network Nodes . University of California, Irvine (Mar 1 2008, advisor: Raymond Klefstad ). Abstract .

Scott McMaster . A Context-Sensitive Coverage Criterion for Test Suite Reduction . University of Maryland, College Park (May 23 2008, advisor: Atif Memon ). Abstract .

Shang-Wen Cheng . Cost-effective, Software Architecture-based Self-adaptation . Carnegie Mellon University (May 18 2008, advisor: David Garlan ). Abstract .

Dean Sutherland . The Code of Many Colors: Semi-automated Reasoning About Multi-Thread Policy for Java . Carnegie Mellon University (May 2008, advisor: William L. Scherlis ). Abstract .

Yuriy Brun . Self-Assembly for Discreet, Fault-Tolerant, and Scalable Computation on Internet-Sized Distributed Networks . University of Southern California (May 2008, advisor: Nenad Medvidovic ). Abstract .

Erkki Laitila . Symbolic Analysis and Atomistic Model as a Basis for a Program Comprehension Methodology . Jyv�skyl� University, Finland (Aug 5 2008, advisor: Pekka Neittaanmaki ). Abstract .

Genaina Nunes Rodrigues . A Model Driven Approach for Software Reliability Prediction . University College London (Feb 8 2008, advisor: David S. Rosenblum ). Abstract .

Tiago Massoni . A Model-Driven Approach to Formal Refactoring . Federal University of Pernambuco (Mar 07 2008, advisor: Paulo Borba ). Abstract .

Charles B. Haley . Arguing Security: A Framework for Analyzing Security Requirements . The Open University (Mar 2007, advisor: Bashar Nuseibeh ). Abstract .

Diego Garbervetsky . Parametric specifications of dynamic memory utilization . Universidad de Buenos Aires (Nov 15 2007, advisor: Victor Braberman and Sergio Yovine). Abstract .

Davide Di Ruscio . Specification of Model Transformation and Weaving in Model Driven Engineering . University of L'Aquila (2007, advisor: Alfonso Pierantonio ). Abstract .

Jim Steel . Typage de Modèles . Université de Rennes 1 (Apr 23 2007, advisor: Jean-Marc Jézéquel ). Abstract .

Gerardo Padilla . A Test Profile Analysis Framework for Assessing the Reliability of Software Component Assemblies . Research Center in Mathematics, Mexico (2007, advisor: Carlos Montes de Oca ). Abstract .

Joel Huselius . Reverse Engineering of Legacy Real-Time Systems: An Automated Approach Based on Execution-Time Recording . M�lardalens University (Jun 14 2007, advisor: Hans Hansson ). Abstract .

Jiang Zheng . In Regression Testing without Code . North Carolina State University (Aug 2007, advisor: Laurie Williams ). Abstract .

Emily Navarro . SimSE: A Software Engineering Simulation Environment for Software Process Education . University of California, Irvine (2007, advisor: Andre van der Hoek ). Abstract .

Charles Pairot . Design And Implementation Of A Wide-Area Middleware Infrastructure For The Development Of Distributed Applications In Structured Peer-To-Peer Environments . Universidad de Murcia (Jul 6 2007, advisor: Pedro Garcia-Lopez ). Abstract .

Anita Sarma . Palant�r: Enhancing Configuration Management Systems with Workspace Awareness to Detect and Resolve Emerging Conflicts . University of California, Irvine (Dec 2007, advisor: Andre van der Hoek ). Abstract .

Xiaoqing Wu . Component-Based Language Implementation With Object-Oriented Syntax and Aspect-Oriented Semantics . University of Alabama at Birmingham (May 2007, advisor: Barrett R. Bryant ). Abstract .

Shih-Hsi Liu . QOSPL: A Quality of Service-Driven Software Product Line Engineering Framework for Design and Analysis of Component-Based Distributed Real-Time and Embedded Systems . University of Alabama at Birmingham (2007, advisor: Barrett R. Bryant ). Abstract .

Yuehua Lin . A Model Transformation Approach to Automated Model Evolution . University of Alabama at Birmingham (Aug 2007, advisor: Jeff Gray ). Abstract .

Andy Kellens . Maintaining causality between design regularities and source code . Vrije Universiteit Brussel (2007, advisor: Theo D'Hondt ). Abstract .

Davide Falessi . A Toolbox for Software Architecture Design . University of Rome TorVergata (Dec 14 2007, advisor: Giovanni Cantone ). Abstract .

Lorenz Froihofer . Middleware Support for Adaptive Dependability through Explicit Runtime Integrity Constraints . Vienna University of Technology (Nov 14 2007, advisor: Mehdi Jazayeri ). Abstract .

Ana Belen Barragans Martinez . Formal Methodology for Specifying Software Systems in Multi-Perspective Environments . University of Vigo (Sep 7 2007, advisor: Jose J. Pazos Arias ). Abstract .

Taweesup Apiwattanapong . Identifying testing requirements for modified software . Georgia Institute of Technology (Aug 2007, advisor: Mary Jean Harrold ). Abstract .

Tallam Sriraman . Fault Location and Avoidance in Long-Running Multithreaded Applications . University of Arizona (Oct 2007, advisor: Rajiv Gupta ). Abstract .

Chris Mattmann . Software Connectors for Highly Distributed and Voluminous Data-Intensive Systems . University of Southern California (Jul 2007, advisor: Nenad Medvidovic ). Abstract .

Jorge Luis Ortega-Arjona . Architectural Patterns for Parallel Programming. Models for Performance Estimation . University College London (May 31 2007, advisor: David S. Rosenblum ). Abstract .

Carla Taciana Lima Lourenco Silva . Separating Crosscutting Concerns in Agent Oriented Detailed Design: The Social Patterns Case . Universidade Federal de Pernambuco (Feb 2007, advisor: Jaelson Castro ). Abstract .

Eduardo Almeida . RiDE: The RiSE Process for Domain Engineering . Federal University of Pernambuco (May 2007, advisor: Silvio Romero de Lemos Meira ). Abstract .

Fernando Schapachnik . Timed Automata Model Checking in Monoprocessor and Multiprocessor Architectures . University of Buenos Aires (Oct 2007, advisor: Victor Braberman ). Abstract .

Hyunsook Do . Accounting for Context and Lifetime Factors: A New Approach for Evaluating Regression Testing Techniques . University of Nebraska, Lincoln (May 2007, advisor: Gregg Rothermel ). Abstract .

Josh Dehlinger . Incorporating product-line engineering techniques into agent-oriented software engineering for efficiently building safety-critical, multi-agent systems . Iowa State University (Aug 2007, advisor: Robyn R. Lutz ). Abstract .

David Shepherd . Natural Language Program Analysis: Combining Natural Language Processing and Program Analysis to Improve Software Maintenance Tools . University of Delaware (Aug 2007, advisor: Lori Pollock and K. Vijay-Shanker). Abstract .

Arun Mukhija . CASA- A Framework for Dynamically Adaptive Applications . University of Zurich (Dec 2007, advisor: Martin Glinz ). Abstract .

Jeremy Bradbury . Using Program Mutation for the Empirical Assessment of Fault Detection Techniques: A Comparison of Concurrency Testing and Model Checking . Queen's University (Oct 2007, advisor: and and Juergen Dingel). Abstract .

James Skene . Language Support for Service-Level Agreements for Application-Service Provision . University of London (Nov 2007, advisor: Wolfgang Emmerich ). Abstract .

Jacek Ratzinger . sPACE - Software Project Assessment in the Course of Evolution . Vienna University of Technology (2007, advisor: Harald Gall ). Abstract .

Nicola Zannone . A Requirements Engineering Methodology for Trust, Security, and Privacy . University of Trento (2007, advisor: Fabio Massacci ). Abstract .

Vander Alves . Implementing Software Product Line Adoption Strategies . Federal University of Pernambuco (Mar 2007, advisor: Paulo Borba ). Abstract .

Christian Lange . Assessing and Improving the Quality of Modeling - A Series of Empirical Studies about the UML . Eindhoven University of Technology (Oct 2007, advisor: Serge Demeyer and Mark van den Brand). Abstract .

Michael Fischer . EvoZilla - Longitudinal Evolution Analysis of Large Scale Software Systems . Technical University of Vienna (May 2007, advisor: Harald Gall ). Abstract .

Nathaniel Nystrom . Programming Languages for Scalable Software Extension and Composition . Cornell University (Jan 2007, advisor: Andrew Myers ). Abstract .

Manish Anand . Collaborative Power Management: Piercing Abstraction Barriers for Fast and Energy-Efficient Pervasive Data Access . University of Michigan (Jul 2007, advisor: Jason Flinn ). Abstract .

George Fairbanks . Design Fragments . Carnegie Mellon University (May 2007, advisor: David Garlan and Bill Scherlis). Abstract .

Sara Sprenkle . Strategies for Automatically Exposing Faults in Web Applications . University of Delaware (Aug 2007, advisor: Lori Pollock ). Abstract .

Stefan Wagner . Cost-Optimisation of Analytical Software Quality Assurance . Technische Universit�t M�nchen (Apr 2007, advisor: Manfred Broy ). Abstract .

Cesar Sanchez . Deadlock Avoidance for Distributed Real-Time and Embedded Systems . Stanford University (Jun 2007, advisor: Zohar Manna ). Abstract .

Teresa Mallardo . The Role Of Software Requirements Inspections In Distributed Development . University of Bari (May 2007, advisor: Filippo Lanubile ). Abstract .

Fabio Calefato . Supporting Synchronous Communication In Distributed Software Teams . University of Bari (May 2007, advisor: Filippo Lanubile ). Abstract .

Ganesh Pai . Probabilistic software quality analysis . University of Virginia (May 2007, advisor: Joanne Bechta Dugan ). Abstract .

Rakeshkumar Shukla . A Framework for Statistical Testing of Software Components . The University of Queensland (May 2007, advisor: Paul Strooper ). Abstract .

Andrew Phillips . Specifying and Implementing Secure Mobile Applications in the Channel Ambient System . Imperial College (Oct 2006, advisor: Bashar Nuseibeh ). Abstract .

Venkatesh-Prasad Ranganath . Scalable and Accurate Approaches to Program Dependence Analysis, Slicing, and Verification of Concurrent Object Oriented Programs . Kansas State University (Dec 2006, advisor: John Hatcliff ). Abstract .

Wei Zhao . Model-Driven Integration of Software and Service Components . University of Alabama at Birmingham (Dec 15 2006, advisor: Barret R. Bryant ). Abstract .

Naveed Arshad . A Planning-Based Approach to Failure Recovery in Distributed Systems . University of Colorado at Boulder (May 2006, advisor: Alexander L. Wolf and Dennis M. Heimbigner). Abstract .

Ingo Stuermer . Systematic Testing of Code Generation Tools - A Test Suite-oriented Approach for Safeguarding Model-based Code Generation . Technical University of Berlin (Germany) (Feb 16 2006, advisor: Prof. Dr. Peter Pepper ). Abstract .

Matthew Rutherford . Adequate System-Level Testing of Distributed Systems . University of Colorado at Boulder (Aug 2006, advisor: Alexander L. Wolf ). Abstract .

Leonardo Murta . Configuration Management Applied to Component Based Development . Federal University of Rio de Janeiro (Oct 2006, advisor: Claudia Maria Lima Werner ). Abstract .

John Fiskio-Lasseter . Specification and Solution of Multisource Data Flow Problems . University of Oregon (Dec 2006, advisor: Michal Young ). Abstract .

Davor Svetinovic . Increasing the Semantic Similarity of Object-Oriented Domain Models by Performing Behavioral Analysis First . University of Waterloo, BC, Canada (2006, advisor: Daniel M. Berry and Michael W. Godfrey). Abstract .

Konrad Sascha . Model-driven Development and Analysis of High Assurance Systems . Michigan State University (Sep 2006, advisor: Betty H.C. Cheng ). Abstract .

Dirk Deridder . A Concept-Centric Environment for Software Evolution in an Agile Context . Vrije Universiteit Brussel (Jun 2006, advisor: Theo D'Hondt ). Abstract .

Vahid Garousi . Traffic-aware Stress Testing of Distributed Real-Time Systems based on UML Models using Genetic Algorithms . Carleton University, Canada (Sep 2006, advisor: Prof. Lionel Briand and Prof. Yvan Labiche). Abstract .

Yanyan Wang . Automating Experimentation with Distributed Systems Using Generative Techniques . University of Colorado at Boulder (Aug 2006, advisor: Antonio Carzaniga and Alexander L. Wolf). Abstract .

Roshanak Roshandel . Calculating Architectural Reliability via Modeling and Analysis . University of Southern California (2006, advisor: Nenad Medvidovic ). Abstract .

David Janzen . An Empirical Evaluation of the Impact of Test-Driven Development on Software Quality . University of Kansas (Dec 2006, advisor: Hossein Saiedian ). Abstract .

Holger Kienle . Building reverse engineering tools with software components . University of Victoria, BC, Canada (Nov 2006, advisor: Hausi Muller ). Abstract .

Benjamin Livshits . Improving Software Security with Precise Static and Runtime Analysis . Stanford University (Dec 2006, advisor: Monica Lam ). Abstract .

Andy Zaidman . Scalability Solutions for Program Comprehension Through Dynamic Analysis . University of Antwerp (Sep 6 2006, advisor: Serge Demeyer ). Abstract .

Danny Weyns . An Architecture-Centric Approach for Software Engineering with Situated Multiagent Systems . Katholieke Universiteit Leuven, Belgium (Oct 11 2006, advisor: Tom Holvoet ). Abstract .

Sunghun Kim . Adaptive Bug Prediction By Analyzing Software History . University of California, Santa Cruz (Sep 1 2006, advisor: Jim Whitehead ). Abstract .

Xiangyu Zhang . Fault Location Via Precise Dynamic Slicing . University of Arizona (Sep 30 2006, advisor: Rajiv Gupta ). Abstract .

Qing Xie . Developing Cost-Effective Model-Based Techniques for GUI Testing . University of Maryland (Aug 28 2006, advisor: Atif Memon ). Abstract .

Lorin Hochstein . Development of an Empirical Approach to Building Domain-Specific Knowledge Applied to High-End Computing . University of Maryland (Jul 2006, advisor: Vic Basili ). Abstract .

Marvin Early . Improving the success rate of software development projects . Northcentral University (2006, advisor: Amiram Neiman ). Abstract .

Benjamin Tyler . Specification and Runtime Monitoring of Object-Oriented Systems . The Ohio State University (Jun 11 2006, advisor: Neelam Soundarajan ). Abstract .

Alexandre Bergel . Classboxes: Controlling Visibility of Class Extensions . Software Composition Group, University of Bern (Nov 21 2006, advisor: Staphane Ducasse ). Abstract .

Mauro Caporuscio . Design, Development and Analysis of Distributed Event-Based Systems . University of LAquila (2006, advisor: Paola Inverardi ). Abstract .

Leonardo Mostarda . Distributed Intrusion Detection Systems for Secure Software Architectures . university of LAquila (2006, advisor: Paola Inverardi ). Abstract .

Hans Sassenburg . Design of a Methodology to Support Software Release Decisions: Do the Numbers Really Matter? . University of Groningen (Jun 1 2006, advisor: Egon Berghout ). Abstract .

Curtis Clifton . A design discipline and language features for modular reasoning in aspect-oriented programs . Iowa State University (Jul 2005, advisor: Gary T. Leavens ). Abstract .

Eli Tilevich . Software Tools for Separating Distribution Concerns . Georgia Tech (Dec 17 2005, advisor: Dr. Yannis Smaragdakis ). Abstract .

Qingfeng He . Requirements-Based Access Control Analysis and Policy Specification . North Carolina State University (Dec 14 2005, advisor: Annie I. Anton ). Abstract .

Christian Nentwich . Managing the Consistency of Distributed Documents . University of London (2005, advisor: Wolfgang Emmerich ). Abstract .

James Law . Path-Based Dynamic Impact Analysis . Oregon State University (Jul 13 2005, advisor: Gregg Rothermel ). Abstract .

Ilya Shlyakhter . Declarative Symbolic Pure-Logic Model Checking . Massachusetts Institute of Technology (Feb 2005, advisor: Daniel Jackson ). Abstract .

John Clements . Portable and High-level Access to the Stack with Continuation Marks . Northeastern University (2005, advisor: Matthias Felleisen ). Abstract .

Joao Pedro Sousa . Scaling Task Management in Space and Time: Reducing User Overhead in Ubiquitous-Computing Environments . Carnegie Mellon University (May 2005, advisor: David Garlan ). Abstract .

Aysu Betin Can . Design for Verification for Concurrent and Distributed Programs . University of California Santa Barbara (2005, advisor: Tevfik Bultan ). Abstract .

Gabriela Arevalo . High Level Views in Object-Oriented Systems using Formal Concept Analysis . University of Bern (Jan 14 2005, advisor: Oscar Nierstrasz ). Abstract .

Vibha Sazawal . Connecting Software Design Principles to Source Code for Improved Ease of Change . University of Washington (Dec 2005, advisor: David Notkin ). Abstract .

Paul Williams . CuPIDS: Increasing Information System Security Through the Use of Dedicated Co-processing . Purdue University (Aug 2005, advisor: Eugene Spafford ). Abstract .

Di Marco Antinisca . Model-based Performance Analysis of Software Architectures . University dell Aquila (Jun 2005, advisor: Paola Inverardi ). Abstract .

Tivoli Massimo . An architectural approach to the automatic composition and adaptation of software components . Universita dell Aquila (Jun 6 2005, advisor: Paola Inverardi ). Abstract .

Pelliccione Patrizio . Charmy: A framework for Software Architecture Specification and Analysis . Univesita dell Aquila, Italy (2005, advisor: Paola Inverardi ). Abstract .

Tao Xie . Improving Effectiveness of Automated Software Testing in the Absence of Specifications . University of Washington (2005, advisor: David Notkin ). Abstract .

Martin Pinzger . ArchView - Analyzing Evolutionary Aspects of Complex Software Systems . University of Technology, Vienna (2005, advisor: Harald Gall ). Abstract .

Gerald Reif . WEESA - Web Engineering for Semantic Web Applications . University of Technology, Vienna (2005, advisor: Harald Gall ). Abstract .

Martin Robillard . Representing Concerns in Source Code . University of British Columbia (2004, advisor: Gail Murphy ). Abstract .

Robby  . Domain-specic Software Model Checking . Kansas State University (Aug 2004, advisor: John Hatcliff and Matthew B. Dwyer). Abstract .

Laura Campbell . Enabling Integrative Analyses and Refinement of Object-Oriented Models with Special Emphasis on High-Assurance Embedded Systems . Michigan State University (2004, advisor: Betty H.C. Cheng ). Abstract .

Jin Dean . Ontological Adaptive Integration of Reverse Engineering Tools . Queen's University (Aug 2004, advisor: James R. Cordy ). Abstract .

Tuba Yavuz-Kahveci Yavuz-Kahveci . Specification and Automated Verification of Concurrent Software Systems . University of California, Santa Barbara (Sep 2004, advisor: Tevfik Bultan ). Abstract .

Michael Collard . Meta-Differencing: An Infrastructure for Source Code Difference Analysis . Kent State University (Aug 21 2004, advisor: Jonathan I. Maletic ). Abstract .

Joerg P. Wadsack . Data-oriented Reengineering . University of Paderborn (Jul 07 2004, advisor: Wilhelm Schafer ). Abstract .

Nathan Ryan . Using Event-Based Translation to Support Dynamic Protocol Evolution . University of Colorado, Boulder (2004, advisor: Alexander L. Wolf ). Abstract .

Christine Julien . Supporting Context-Aware Application Development in Ad Hoc Mobile Networks . Washington University in Saint Louis (2004, advisor: Gruia-Catalin Roman ). Abstract .

Marija Mikic-Rakic . Software Architectural Support for Disconnected Operation in Distributed Environments . University of Southern California (2004, advisor: Nenad Medvidovic ). Abstract .

Nigamanth Sridhar . Dynamically Reconfigurable Parameterized Components . The Ohio State University (2004, advisor: Paolo A.G. Sivilotti and Bruce W. Weide). Abstract .

Tuba Yavuz-Kahveci . Specification and Automated Verification of Concurrent Software Systems . University of California, Santa Barbara (Sep 2004, advisor: Tevfik Bultan ). Abstract .

Ranjit Jhala . Program Verification by Lazy Abstraction . UC Berkeley (Dec 12 2004, advisor: Thomas A. Henzinger ). Abstract .

Sergio Soares . An Aspect-Oriented Implementation Method . Centro de Informatica, UFPE Brazil (Oct 2004, advisor: Paulo Borba ). Abstract .

Suan Hsi Yong . Runtime Monitoring of C Programs for Security and Correctness . University of Wisconsin-Madison (Aug 2004, advisor: Susan Horwitz ). Abstract .

Christian Luer . User-Centric Deployment Support in a Component Platform . University of California, Irvine (Aug 2004, advisor: Andre van der Hoek ). Abstract .

Ben Liblit . Cooperative Bug Isolation . University of California, Berkeley (2004, advisor: Alex Aiken ). Abstract .

Gregory Kulczycki . Direct Reasoning . Clemson University (2004, advisor: Murali Sitaraman ). Abstract .

Nikunj Mehta . Composing Style-Based Software Architectures From Architectural Primitives . University of Southern California (2004, advisor: Nenad Medvidovic ). Abstract .

Scott Pike . Distributed Resource Allocation with Scalable Crash Containment . The Ohio State University (2004, advisor: Paul Sivilotti ). Abstract .

Daqing Hou . FCL: Automatically Detecting Structural Errors in Framework-Based Development . University of Alberta (Dec 19 2003, advisor: H. James Hoover ). Abstract .

Yoonsik Cheon . A Runtime Assertion Checker for the Java Modeling Language . Iowa State University (Apr 2003, advisor: Gary T. Leavens ). Abstract .

Jeffrey Carver . The Impact of Background and Experience on Software Inspections . University of Maryland (2003, advisor: Victor R. Basili ). Abstract .

Aaron Greenhouse . A Programmer-Oriented Approach to Safe Concurrency . Carnegie Mellon University (2003, advisor: William L. Scherlis ). Abstract .

Rohit Khare . Extending the Representational State Transfer (REST) Architectural Style for Decentralized Systems . University of California, Irvine (2003, advisor: Richard N. Taylor ). Abstract .

Joost Visser . Generic Traversal over Typed Source Code Representations . University of Amsterdam (Feb 2003, advisor: Paul Klint ). Abstract .

Johannes Mayer . On Quality Improvement of Scientific Software Theory, Methods, and Application in the GeoStoch Development . Ulm University (Jul 2003, advisor: Franz Schweiggert ). Abstract .

Raghavan Komondoor . Automated Duplicated-Code Detection and Procedure Extraction . University of Wisconsin (Aug 2003 and Susan Horwitz). Abstract .

Tahvildari Ladan . Quality-Driven Object-Oriented Software Reengineering Framework . University of Waterloo (Aug 2003, advisor: Kostas Kontogiannis ). Abstract .

Yvonne Coady . Exploring an Aspect-Oriented Approach to Operating System Code . University of British Columbia (Aug 2003, advisor: Gregor Kiczales ). Abstract .

Jonathan Aldrich . Using Types to Enforce Architectural Structure . University of Washington (Aug 22 2003, advisor: Craig Chambers and David Notkin). Abstract .

Michele Lanza . Object-Oriented Reverse Engineering Coarse-grained, Fine-grained, and Evolutionary Software Visualization . University of Berne (May 2003, advisor: Oscar Nierstrasz ). Abstract .

Andrian Marcus . Semantic Driven Program Analysis . Kent State University (Aug 15 2003, advisor: Jonathan Maletic ). Abstract .

Licia Capra . Reflective Mobile Middleware for Context-Aware Applications . University College London (2003, advisor: Wolfgang Emmerich ). Abstract .

Clemens Kerer . XGuide - Concurrent Web Development with Contracts . University of Technology, Vienna (2003, advisor: Mehdi Jazayeri ). Abstract .

Sebastian Uchitel . Incremental Elaboration of Scenario-Based Specifications Using Implied Scenarios . Imperial College, London (2003, advisor: Jeff Kramer ). Abstract .

Atanas Rountev . Dataflow Analysis of Software Fragments . Rutgers University (2002, advisor: Barbara G. Ryder ). Abstract .

Thomas Alspaugh . Scenario Networks and Formalization for Scenario Management . North Carolina State University (2002, advisor: Annie I. Anton ). Abstract .

Tamar Richner-Hanna . Recovering Behavioral Design Views: a Query-Based Approach . University Of Berne, Switzerland (May 17 2002, advisor: Prof. Dr. O. Nierstrasz and Dr. S. Ducasse). Abstract .

Andrew Walenstein . Cognitive Support in Software Engineering Tools: A Distributed Cognition Framework . Simon Fraser University (May 7 2002, advisor: Robert D. Cameron ). Abstract .

Henry Muccini . Software Architecture for Testing, Coordination and Views Model Checking . University of Rome (La Sapienza) (2002, advisor: Paola Inverardi and Antonia Bertolino). Abstract .

Tamar Richner-Hanna . Recovering Behavioral Design Views: a Query-Based Approach . University Of Berne, Switzerland (May 2002, advisor: O. Nierstrasz and S. Ducasse). Abstract .

Irfan Pyarali . Patterns For Providing Real-Time Guarantees In Doc Middleware . Washington University (2002, advisor: Douglas Schmidt ). Abstract .

Radu Marinescu . Measurement and Quality in Object-Oriented Design . Politehnica University of Timisoara (2002, advisor: Gerhard Goos ). Abstract .

Jeff Foster . Type Qualifiers: Lightweight Specifications to Improve Software Quality . University of California, Berkeley (2002, advisor: Alex Aiken ). Abstract .

Gschwind Thomas . Adaptation and Composition Techniques for Component-Based Software Engineering . Technische Universitat Wien (2002, advisor: Mehdi Jazayeri ). Abstract .

Jeff Gray . Aspect-Oriented Domain-Specific Modeling: A Generative Approach Using a Metaweaver Framework . Vanderbilt University (2002, advisor: Stephen Schach ). Abstract .

Engin Kirda . Engineering Device-Independent Web Services: An XML/XSL-based approach to creating flexible and extensible multi-device . Technical University of Vienna, Austria (2002, advisor: Mehdi Jazayeri ). Abstract .

Dietmar Pfahl . An Integrated Approach to Simulation-Based Learning in Support of Strategic and Project Management in Software Organisations . University of Kaiserslautern (Jan 10 2001, advisor: Dieter Rombach ). Abstract .

Isabel Ramos . The Construction of Work Realities Assisted by the Adoption of Computer-Based Systems . University of Minho, Portugal (2001, advisor: Daniel M. Berry ). Abstract .

Sander Tichelaar . Modeling Object-Oriented Software for Reverse Engineering and Refactoring . University of Berne (Dec 14 2001, advisor: Oscar Nierstrasz ). Abstract .

Jurgen Munch . Pattern-based Development of Software Project Plans . University of Kaiserslautern (Nov 2001, advisor: Dieter Rombach ). Abstract .

Atif Memon . A Comprehensive Framework for Testing Graphical User Interfaces . University of Pittsburg (Jul 27 2001, advisor: Mary Lou Soffa ). Abstract .

Corina Pasareanu . Abstraction and Modular Reasoning for the Verification of Software . Kansas State University (Sep 2001, advisor: Matthew Dwyer ). Abstract .

Cecilia Mascolo . Specification, Analysis and Prototyping of Mobile Code Systems . Universita di Bologna (2001, advisor: Paolo Ciancarini ). Abstract .

Oliver Laitenberger . Cost-effective Detection of Software Defects through Perspective-based Inspections . University of Kaiserslautern (2000, advisor: Dieter Rombach and Victor Basili). Abstract .

Kim Mens . Automating architectural conformance checking by means of logic meta programming . Vrije Universiteit Brussel (Oct 23 2000, advisor: Theo D'Hondt ). Abstract .

William McUmber . A Generic Framework for Formalizing Object-Oriented Modeling Notations for Embedded Systems Development . Michigan State University (Feb 2000, advisor: Betty H. C. Cheng ). Abstract .

William Chan . Symbolic model checking for large software specifications . University of Washington (2000, advisor: David Notkin and Richard Anderson). Abstract .

Peyman Oreizy . Open Architecture Software: A Flexible Approach to Decentralized Software Evolution . University of California, Irvine (2000, advisor: Richard N. Taylor ). Abstract .

Roy Fielding . Architectural Styles and the Design of Network-based Software Architectures . University of California, Irvine (2000, advisor: Richard N. Taylor ). Abstract .

Judith Stafford . A Formal, Language-Independent, and Compositional Approach to Interprocedural Control Dependence Analysis . University of Colorado at Boulder (2000, advisor: Alexander L. Wolf ). Abstract .

Jim Whitehead . An Analysis of the Hypertext Versioning Domain . University of California, Irvine (2000, advisor: Richard N. Taylor ). Abstract .

Mario Kupries . Interagent Conntectors in Multiagent System . University of Potsdam (Nov 20 2000, advisor: Prof. Dr. Erika Horn ). Abstract .

Andre van der Hoek . A Reusable, Distributed Repository for Configuration Management Policy Programming . University of California, Irvine (2000, advisor: Alexander L. Wolf ). Abstract .

Ines Jaramillo Clara . Source Level Debugging Techniques and Tools for Optimized Code . University of Pittsburgh (2000, advisor: Rajiv Gupta and Mary Lou Soffa). Abstract .

Zhenyi Jin . A Software Architecture-based Testing Technique . George Mason University (2000, advisor: Jeff Offutt ). Abstract .

Michael Ernst . Dynamically Discovering Likely Program Invariants . University of Washington (Aug 2000, advisor: David Notkin ). Abstract .

Darren Atkinson . The Design and Implementation of Practical and Task-Oriented Whole-Program Analysis Tools . University of California, San Diego (1999, advisor: William G. Griswold ). Abstract .

Richard Hall . Agent-based Software Configuration and Deployment . University of Colorado, Boulder (1999, advisor: Alexander L. Wolf ). Abstract .

Nenad Medvidovic . Architecture-Based Specification-Time Software Evolution . University of California, Irvine (1999, advisor: Richard N. Taylor ). Abstract .

Tom Mens . A Formal Foundation for Object-Oriented Software Evolution . Vrije Universiteit Brussel (Sep 1999, advisor: D'Hondt Theo ). Abstract .

Robert Monroe . Rapid Development of Custom Software Architecture Design Environments . Carnegie Mellon University (1999, advisor: David Garlan ). Abstract .

Michel Wermelinger . Specification of Software Architecture Reconfiguration . New University of Lisbon, Portugal (Dec 16 1999, advisor: Jose Luiz Fiadeiro ). Abstract .

Antonio Carzaniga . Architectures for an Event Notification Service Scalable to Wide-area Networks . Politecnico di Milano, Italy (1999, advisor: Alfonso Fuggetta ). Abstract .

Robert De Line . Resolving packaging mismatch . Carnegie Mellon Univeristy (1999, advisor: Mary Shaw ). Abstract .

Karl Goeschka . Architectures of Web Applications . Vienna University of Technology (1999, advisor: Richard Eier and Mehdi Jazayeri). Abstract .

Manfred Hauswirth . Internet-Scale Push Systems for Information Distribution---Architecture, Components, and Communication . Technical University of Vienna, Austria (1999, advisor: Mehdi Jazayeri ). Abstract .

Goudarzi Kaveh Moazami . Consistency Preserving Dynamic Reconfiguration of Distributed Systems . Imperial College of Science, Technology and Medicine, London (1999, advisor: Jeff Kramer ). Abstract .

Forrest Shull . Developing Techniques for Using Software Documents: A Series of Empirical Studies . University of Maryland, College Park (Dec 1998, advisor: Victor Basili ). Abstract .

Aniruddha Gokhale . Design Principles and Optimizations for High Performance, Real-time CORBA . Washington University in St. Louis (May 1998, advisor: Dr. Douglas C. Schmidt ). Abstract .

Michelle Lee . Change Impact Analysis for Object-Oriented Software . George Mason University (1998, advisor: Jeff Offutt ). Abstract .

Tevfik Bultan . Automated Symbolic Analysis of Reactive Systems . University of Maryland, College Park (1998, advisor: Richard Gerber ). Abstract .

David Fleming . Foundations of Object-Based Specification Design . West Virginia University (1998, advisor: Murali Sitaraman ). Abstract .

William Hefley . Influence In Work Groups A Study of Software Development Teams . Carnegie Mellon University (1998, advisor: Sara Kiesler ). Abstract .

Andrea Zisman . Information Discovery for Interoperable Autonomous Database Systems . University of London, Imperial College of Science, Technology and Medicine (1998, advisor: Jeff Kramer ). Abstract .

Abdelsalam Heddaya . Managing Event-based Replication for Abstract Data Types in Distributed Systems . Harvard University (1988, advisor: Bill Weihl ). Abstract .

Will Tracz . Parameterized Programming in LILEANNA . Stanford University (Jun 1997, advisor: David Luckham ). Abstract .

Manoel Mendonça . An Approach to Improving Existing Measurement Frameworks in Software Development Organizations . University of Maryland (1997, advisor: Victor Basili ). Abstract .

Richard Paige . Formal Method Integration via Heterogeneous Notations . University of Toronto (Nov 1997, advisor: Eric C.R. Hehner ). Abstract .

Jonathan Cook . Process Discovery and Validation through Event Data Analysis . University of Colorado, Boulder (1996, advisor: Alexander L. Wolf ). Abstract .

Kingsum Chow . Supporting Library Interface Changes in Open System Software Evolution . University of Washington (1996, advisor: David Notkin ). Abstract .

Jonathan Maletic . The Software Service Bay: A Knowledge Based Software Maintenance Methodology . Wayne State University (1995, advisor: Robert Reynolds ). Abstract .

Wayne Heym . Computer Program Verification: Improvements for Human Reasoning . The Ohio State University (1995, advisor: Bruce W. Weide ). Abstract .

Matthew Dwyer . FLAVERS: Data Flow Analysis for Verifying Properties of Concurrent Programs . University of Massachusetts - Amherst (1995, advisor: Lori Clarke ). Abstract .

Wolfgang Emmerich . Tool Construction for Process-Centred Software Development Environments based on Object Databases . University of Paderborn (1995, advisor: Wilhelm Schafer ). Abstract .

Tim Wahls . On the execution of high level formal specifications . Iowa State University (1995, advisor: Gary Leavens and Albert Baker). Abstract .

Bashar Nuseibeh . A multi-perspective framework for method integration . Imperial College London (Oct 1994, advisor: Anthony Finkelstein ). Abstract .

Douglas Schmidt . An Object-Oriented Framework for Experimenting with Alternative Process Architectures for Parallelizing Communication Subsystems . University of California, Irvine (1994, advisor: Tatsuya Suda ). Abstract .

Chonchanok Viravan . Enhancing Debugging Technology . Perdue University (1994, advisor: Eugene H. Spafford and Albert Baker). Abstract .

John Grundy . Multiple textual and graphical views for interactive software development environments . University of Auckland, New Zealand (Nov 1993, advisor: John Hosking ). Abstract .

Harald Gall . Object-Mapping and System Transformation for object-oriented Reverse Engineering in COREM . Technical University of Vienna, Austria (1993, advisor: Roland T. Mittermeir ). Abstract .

Earl Waldin . Using multiple representations for efficient communication of abstract values . Massachusetts Institute of Technology, (1992, advisor: William Weihl ). Abstract .

William Griswold . Program Restructuring as an Aid to Software Maintenance . University of Washington (1991, advisor: David Notkin ). Abstract .

Ira Baxter . Transformational Maintenance by Reuse of Design Histories . University of California, Irvine (1990, advisor: Peter Freeman ). Abstract .

Gary Todd Leavens . Verifying Object-Oriented Programs that use Subtypes . Massachusetts Institute of Technology (1989, advisor: William E. Weihl ). Abstract .

Jeff Offutt . Automatic Test Data Generation . Georgia Institute of Technology (1988, advisor: Richard A. DeMillo ). Abstract .

Raymond Klefstad . Maintaining a Uniform User Interface for an Ada Programming Environment . University of California, Irvine (1988, advisor: Richard N. Taylor ). Abstract .

David S. Rosenblum . Design and Verification of Distributed Tasking Supervisors for Concurrent Programming Languages . Stanford University (1988, advisor: David C. Luckham ). Abstract .

Alexander Wolf . Language and Tool Support for Precise Interface Control . University of Massachusetts at Amherst (1985, advisor: Lori A. Clarke and Jack C. Wileden). Abstract .

William Bail . Algorithm Structure Analysis Using Hierarchical Abstract Computers . University of Maryland (1985, advisor: Marvin Zelkowitz ). Abstract .

David Notkin . Interactive Structure-Oriented Computing . Carnegie Mellon University (1984, advisor: Nico Habermann ). Abstract .

Jeanette Wing . A Two-Tiered Approach to Specifying Programs . MIT (1983, advisor: John Guttag ). Abstract .

Richard Taylor . Static Analysis of the Synchronization Structure of Concurrent Programs . University of Colorado, Boulder (1980, advisor: Leon J. Osterweil ). Abstract .

© 2020 ACM SIGSOFT

Home | Sitemap

  • Software Engineering Tutorial
  • Software Development Life Cycle
  • Waterfall Model
  • Software Requirements
  • Software Measurement and Metrics
  • Software Design Process
  • System configuration management
  • Software Maintenance
  • Software Development Tutorial
  • Software Testing Tutorial
  • Product Management Tutorial
  • Project Management Tutorial
  • Agile Methodology
  • Selenium Basics
  • Benefits of Automated Cross-Browser Testing for Online Business
  • Role of a System Analyst - Blog
  • Program Vs Software - Blog
  • Different job roles in Blockchain Technology
  • Characteristics of Good Object Oriented Design
  • What is Technical Debt in Software Development and How to Manage It?
  • Software Customer Rights
  • How Software Is Made?
  • Competitive Programming Vs Software Development for computer science students
  • What are different roles in DevOps ?
  • DevOps Lifecycle
  • 7 Code Refactoring Techniques in Software Engineering
  • Techniques to be an awesome Agile Developer (Part -1)
  • Challenges of Software Developers
  • Top 9 Technologies Transforming the Future of Web Development- Comprehensive Guide
  • Six Sigma and Lean Model of Project Management
  • Characteristics of a good Software Engineer
  • 10 Crucial Team Roles in a Software Development Team
  • Basics of management

Top 15 Software Engineering Projects (2024)

Software Engineering has become the mainstream for IT Industry today. Every year more than 3 Lakh students land software engineering jobs as fresher and the demand for software engineers has been rapidly rising. 

Software Engineering Projects Ideas

With the increase in demand, the competition has been rising every year and it would require you to practice rigorously so that you can easily fit into IT Industry. To begin with this, you are required to analyze which domain (programming language & S.E. stream) to pick, and then only you’ll be able to build projects to gain expertise and confidence .

In this article, we will be sharing the best hand-picked software engineering projects from Beginner – Intermediate – Expert levels that will help you in sharpening your programming skills.

But, before we move ahead, let’s talk about the need for software engineering in today’s world. 

Looking to master software testing and automation? Enroll in the “ Complete Guide to Software Testing and Automation: Master Java, Selenium, and Cucumber ” course. Gain hands-on experience with Java, Selenium, and Cucumber to excel in real-world testing challenges.

Why is Software Engineering Required?

Today, every business (small or medium, or large) wants to keep itself updated. The demand for software engineering has grown 3x – 4x ever since (past 10 years stats) . Software Engineering & Software Development requires developers to keep digging for a better approach and they also help in organizing, managing, and delivering quality output within the timeline.

Besides this, some of the major companies/sectors that are actively hiring Computer Science Engineers are:

  • Technology – 37%
  • Fortune 500 – 21%
  • Telecommunication – 5%
  • Media – 5%
  • Internet – 5%

As of now, there are more than 1,02,000+ (India) jobs available for software engineers & 9,02,000+ (Worldwide) , and the figures are continuously growing every day. In this article, we’re going to talk about how we can achieve certain goals to become good software engineers along, and the ability to deliver high-quality post-service guidance/maintenance. You’ll get some of the best software engineering projects be it a beginner, intermediate or expert level.

Software Engineering Projects For Beginners

1. chess game.

It’s a well-designed game built to play in a very interactive way where pieces get moved from block to block by the system itself. This project is built to predict (human) moves and accordingly, it takes action. This app can be so satisfying and will make you feel like you’re playing in the real world. The best part is that you can even play with friends (remotely) and with the computer as well.

It would require you to set up a MySQL database so that user’s details can be stored (including name, score, ranking, etc.). You can also check out the article based on Chess Game for the best reference.

Key Features

  • The “Moves” section will keep track of all the records of the player’s moves and will proceed accordingly
  • This game will directly start with the main display and that will accelerate processing speed. 
  • A bare minimum system is required for this app – Windows XP or Windows 7

2. Social Networking

This is a beginner-level web-based social networking system that can be built in the software industry (small-scale) for any group, community, college, school, etc. The best part about this app is that it helps in connecting the targeted group and all the necessary details/announcements can be broadcasted seamlessly.

There will be 2 major modules in this project, i.e. Admin & Participants in which participants will be allowed to upload images, post feeds, follow or add people, etc. Besides this, all the feeds can be viewed by participants from the main section and they can even communicate with each other (just like Facebook Messenger) to establish a better connection.

  • This software engineer project can be helpful especially for students to keep track of everything like Placement details, Course Material, Lecture schedules, etc.
  • The admin will have access to remove any user or post.
  • The user will have multiple methods for signing up for their account.

3. Web Scraping

Web Scraping is a fun activity app that can be built for features like customer review analysis, price prediction, lead generation, data collection, etc. It is very useful to build projects by using Beautiful Soup (which is a free, open-source Python Library), and all the necessary data can be crawled back as per the preference.

Companies like Expedia, Amazon, Skyscanner, etc. are actively using this method to offer customers a door for analysis/comparison. This gives an opportunity for users to pick any item or submit a review on any platform (such as Amazon) as per their choice (fully transparent).

  • This tool can be used for performing sentimental analysis.
  • If you want to build any analytic system/app, then it is suggested to use Selenium & smtplib
  • Web scraping is a big tool for providing assistance in scaling up businesses on a mass level.

4. Calculator

One of the best software engineering projects is a simple or scientific calculator that can be used for educational organizations. This tool can be the best solution for solving complex mathematical calculations and it majorly focuses on numbers, arithmetic operations, etc. which are well-suitable for engineering students.

However, a simple calculator can also work well, but to generate powerful calculations, this tool can be the overall solution. Besides this, it’s a beginner-level software engineering project and you can easily find related apps over play/app store.

  • OS: Windows XP or 10
  • Processor: Pentium IV 
  • RAM: 512 MB Hard disk: 2 GB
  • Language: C Programming
  • The calculator will be simple to use & response time will be extremely fast
  • Multiplication
  • Subtraction
  • Square Root 
  • Inverse, etc.

5. To-do List

It’s a fancy way of maintaining records to carry out all your daily tasks. It’s a simple, web-based app that enables users to add, edit, delete, etc. to their list. Besides this, users will have the option to change font, text color, mark pointers, share on any other platform, etc. You may find similar apps on the play store/app store too.

If you want to start building this project, we recommend you check JavaScript Project on your To-do List and start working on it right away.

  • You can start building this project with minimal requirements. However, they can be scaled up on a higher level (depending on the changes you’re looking for).
  • There would be some basic items in this app – Title, Description, Priority, Checklist, etc.
  •  These software engineer projects are highly useful as it provides users to share their To-do lists on any platform.

Software Engineering Projects For Intermediate

6. daily reminder.

The Task reminder app is a useful project to keep track of every necessary task regularly. In this application, users will be allowed to view all of their tasks in the form of a list. You can even set custom reminders for any dedicated tasks along with the Alarm tone so that you never skip any daily/weekly/monthly task.

It’s a simple app that can save a lot of time and can be a useful resource for achieving your goals. You can start working on this project by carrying below-mentioned prerequisites:

  • Android Studio
  • Java or Kotlin
  • This task can be built using Android Studio (Java & XML), SQLite, etc.
  • Users can add, edit or remove any task along with the date & time
  • The user will also be allowed to put notifications on any of the certain tasks 

7. Weather Forecasting

This project is being divided into two modules, Data Gathering & Pre-processing, and Prediction Algorithm. This project would be based on prediction and that’s why data needs to be prepared in a structured way. For this, you can either be parsing or one-hot encoding. It’s best to implement Scikit-Learn (linear regression) model to train the datasets and once they’re trained you can provide inputs (temp, pressure, etc.)

This app is well-capable in predicting 6-7 days (up to) data sets and will fetch weather details on an hourly basis. It will also offer users to change location and measurements as per their choices. 

  • This project would require Linear Regression to predict the amount of Rainfall (in inches).
  • This project will take certain parameters to measure weather i.e. temperature, humidity, wind speed, etc.
  • Software requirement – Jupyter Notebook, Windows/Linux, Python 3, etc. 

8. Local Train Ticketing System

This a simple Java-based ticketing platform by which users can book tickets as per their choices for traveling in local trains. Users will have the option to choose the number of seats, class, and journey date, along with the source and destination.  

The payment system can also be included in this application so that users can add funds (via UPI, Netbanking, debit/credit cards, etc.), and likewise, they won’t be required to print their tickets while traveling. This will allow the user to download their tickets in pdf or other formats (just like a movie ticket), and with the same mode, they can also request to Cancel their tickets within 3 hours of the journey.

Key Features:

  • Booking Panel
  • With the help of this app, users can save a lot of time & users will no longer be required to stand in queues for hours.
The course on Full Stack Development with React & Node JS – Live  is the best choice if you want to become a full-stack web developer. Along with learning, this course also has some MCQ-based learning, and track-based learning methods, and at the end of the course, you’ll also get a course completion certificate which when added to your resume adds value to it. 

9. Patient Tracker

This is an Android-based application that aims to ensure maintain patient information along with the medical condition. In this project, the doctor would be able to fetch all the records of the patient every time he/she visits for a checkup. This will require Eclipse and SQL to build this project.

This system will work in two phases where the first would be for the patient to submit their record and the other one would be for the dedicated doctor who will fetch and check all the necessary details. This system will eliminate all the unnecessary paper works and will eventually reduce human interaction.

  • This project will be beneficial for patients to maintain their medical records and to participate actively to keep themselves aware.
  • Doctors can look into records by just applying a filter for the arrival date, disease, last visit, etc.
  • This project is efficient to deploy in small-mid segment hospitals/dispensaries. 

10. Online Fuel Delivery

The working module of this project is based on a food delivery system (app). You can use Kotlin or Flutter to build this project in which the user can order both Petrol and Diesel. Once the order is placed, users will be notified with their transaction details and delivery will be made at their location. 

However, you may also find apps like Yoshi, Fuelster, etc. are working on the same pattern. It is also one of the best ways of saving time, minimizing expenses, and providing service during emergencies.

  • The app will consist of 3 main modules i.e. Admin, User, and Driver
  • In this, users will also have the option to compare fuel stations (by distance, ratings, availability, etc.)
  • In this project, both user and the fuel station will have the option to modify or cancel the placed order.

Software Engineering Projects For Expert

11. exchanging loyalty points.

Nowadays most companies & banks are offering loyalty points on every purchase they make. But, the major drawback is that more than 60% of points get wasted due to unstable tracking of those points. To boost this, blockchain-based exchange of loyalty points will enable an easy exchange platform for their users.

With this project, a tokenized loyalty point system can be introduced so that perform 3 tasks seamlessly:

  • Track their loyalty points
  • To check no tampering has been done
  • To spend loyalty points on their desired choices
  • This software engineer project aims to provide a decentralized system which means there will be only one ownership i.e. USER
  • This project aims to provide advanced high security which can be achieved using Tomochain , which is a scalable blockchain network.
  • This project can reduce operational costs and will minimize the chances of errors.

12. Fingerprint Voting System

This project focuses on building a finger-print EVM (Electronic Voting Machine) that will lead to conducting successful elections. It’s a solid solution for any small-scale elections and can also be used within organizations for conducting polls during meetings.

Since, this project runs in electronic mode, the manpower, time, and transportation would be relieved if this can be planned to introduce on a bigger scale. It would also require Proteus Design Suite for ARM module operation which will alert when one candidate will try to vote multiple times.

  • This project would require – 1 Voting System, a Fingerprint module, and an ARM (Advanced RISC Machine) controller.
  • Paperless User Identification can be conducted after the introduction of fingerprint EVM which can save lots of time and resources.
  • In this project, both the candidates and the admin can view the results in real-time.

13. Railway Time Tracking & Prediction System

This app is intended to build to fetch details from one end and push it to the user’s end. By using this application, users can easily track their train along with its timing, running status, and expected time to reach (user’s desired) station. It’s a web-based application having two modules i.e. admin and user.

Applications like these use predictive methods and rail tracking applications can also be found nowadays on the play store and app store. The app will be designed to help local commuters and can also be used to use for tracking buses (after applying minor upgradation).

  • This software engineer project entails an admin system (module) that will fetch all the required details of the train including train number, timing, etc. and the same will be passed through the server which can be later tracked by the user.
  • Admin will have permission to add/remove information such as train arrival, expected arrival/departure, and so on.
  • Software Requirements: Windows – SQL – VS 2010

14. Suspicious Activity Tracker

This project will build an automated AI camera system to track any suspicious activity to prevent any unfortunate incidents in Banks, Malls, Airports, etc. The activity tracker will use schematics to work on the behavioral patterns and gestures of a person on the live feed.

If any such activity (fighting, pointing guns, etc.) occurs, an automated alarm will start ringing and nearby Police will get notified about the incident. This would require training cameras and deploying ML models, also customized functions can be added for auto-triggering the message/calls. 

  • Raspberry Pi 4
  • Speaker or Amplifier
  • This software engineer project would require an ML model to teach working on normal modules such as walking, talking, reading, etc. so that the camera can be trained for this project.
  • You can use TensorFlow, Lobe, or Edge Impulse to prepare this model and the method can be aligned with Raspberry Pi to convert the normal camera into a smart one.

15. Emotion-Based Music Player

The introduction of AER (Audio Emotion Recognition) and MIR (Music Information Retrieval) has made it possible to build systems by applying machine learning algorithms. This project entails working on automation to generate playlists for users.

Where the AER technology will evaluate the audio waves depending on the mood and emotions of the user, the MIR will follow a pattern to fetch the desired outputs based on the provided input.

  • The emotion modules included in this project could be sadness, joy-anger, joy-surprise, joy-excitement, joy, sad-anger, and anger.
  • The accuracy may vary between 80% -90% for detecting real-time images.
  • This software engineering project can revolve around three pillars i.e. Audio Feature Extraction Module, Emotion-Audio Recognition Module, and Emotion Extraction Module.

Why is Project-Based Learning Effective? 

It’s always said that practice is better than theory and that’s what coding is all about. The more you will practice, the more you’ll grab concepts. PBL or Project-based learning enables students to implement coding effectively through active participation, joining webinars, sharing thoughts, etc. College students can take a lot of benefits out of it in 5 major ways:

  • Critical Thinking
  • In-depth knowledge of any Live project

In other words, Project-based Learning can provide an opportunity, to build strong relationships, improve test results and create more projects that can provide benefits during placements.

Conclusion 

The objective was to provide a list of software engineer project ideas for all levels i.e. Beginner, Intermediate, and Advanced. Working on projects can be fun, and that’s how you’ll learn and grow in the IT industry. In this article, we have provided a segregated list of different levels of projects and any language can be chosen to start with the project. 

It’s time for you to start creating some cool apps and push them Live for general usage. However, if you wish to check out more apps, you can browse the Internet to find out the resources that might be helpful during your software engineering journey. 

What are the different types of software projects?

There are majorly two classifications of software – Application Software and System Software. Working on a Software Engineering project requires an individual to use the right tools & technology (such as Python, Java, etc.). Some of the major kinds of Software Engineering projects are: Front-end Development Back-end Development Desktop GUI Application Full-stack Development Mobile App Development Database Development Web Development DevOps, etc.

Which project is best for software engineering?

Software engineering is a vast category & caters to many segments, they are responsible for creating games apps, web-based apps, etc. This can be achieved using different programming languages, frameworks, etc. Some of the best software engineering projects include: Chess Game Calculator Fuel Tracker Ticket System Web Scraping, etc.

Which software engineering projects are best for college students?

College students are required to work with beginner’s level engineering projects which require less expertise, some of them are: Health Management System Website Designing CRM for School/College Campus Face Detection Battery Saver

Please Login to comment...

Similar reads.

author

  • Software Engineering
  • 10 Best Slack Integrations to Enhance Your Team's Productivity
  • 10 Best Zendesk Alternatives and Competitors
  • 10 Best Trello Power-Ups for Maximizing Project Management
  • Google Rolls Out Gemini In Android Studio For Coding Assistance
  • 30 OOPs Interview Questions and Answers (2024)

Improve your Coding Skills with Practice

 alt=

What kind of Experience do you want to share?

Academia.edu no longer supports Internet Explorer.

To browse Academia.edu and the wider internet faster and more securely, please take a few seconds to  upgrade your browser .

Enter the email address you signed up with and we'll email you a reset link.

  • We're Hiring!
  • Help Center

paper cover thumbnail

Improved Support for Master’s Thesis Projects in Software Engineering

Profile image of Gordana Dodig-Crnkovic

2010, rapport nr.: Rapporter från NSHU

The aim of the project described in this report was to develop improved support for both students and advisors in the different phases of Master's thesis projects in software engineering. The work was done in several steps, including a web-based survey among students; an interview study with students, supervisors and examiners; formulation of a support framework; and evaluation of the developed support. The main results of the project are improved understanding of the challenges of thesis projects, a support framework for ...

Related Papers

Lawrence Henesey

thesis project for software engineering

Gustavo Urquizo Rodriguez

Stephen Brown , Declan Delaney

This technical report outlines the contents of a minimal set of software development documents, tailored for use by students in software engineering projects, and firmly based on IEEE standards. The document set is designed to support software development activities. It provides a framework for use in undergraduate software engineering projects, both individual and team-based, that helps students to learn best practice. A supplementary report describes the content of each document in more detail.

Education and Information Technologies

Dr. Nam Aghaee

JUCS - Journal of Universal Computer Science

Dr. Gerardo Matturro

The purpose of this paper is to present an undergraduate research experience process model and the evaluation of seven years of its application in an undergraduate research program in software engineering. Undergraduate students who participated in research projects between 2015 and 2022 were surveyed to find out a) their motivations for participating in research projects in software engineering, b) the skills they consider they have acquired or improved by participating in those projects, and c) their perception of benefits and utility for their future work and professional activities. Results reveal that participation in real research projects in software engineering is highly valued by undergraduate students, who perceive benefits in the development of research and soft skills, and for their future professional activity. In addition, these undergraduate research projects and the process followed show that it is feasible to make original contributions to the body of knowledge of s...

31st Annual Frontiers in Education Conference. Impact on Engineering and Science Education. Conference Proceedings (Cat. No.01CH37193)

Stephanie Ludi

redalyc.uaemex.mx

Rubby Casallas

IEEE Transactions on Education

Yung-Pin Cheng

RELATED PAPERS

Anitha Saji

BMC plant biology

Francesca Stefanato

Piers Wilson

Finanças Públicas: Travessia entre o Passado e o Futuro

Doris de Miranda Coutinho

Jurnal Teknologi Lingkungan Lahan Basah

Isna Apriani

Revista Cubana de Higiene y Epidemiología

Manuel E Mariscal

Problems of Atomic Science and Technology, Ser. Thermonuclear Fusion

abraham samuel

Andrea Cera

Annals of Vascular Surgery

hugo espinoza

Pakistan Journal of Pharmaceutical Research

Jamal Mezogi

Acoustical Imaging

Jean-Pierre Lefebvre

Ignacio Villagran

Endocrine Abstracts

Giorgia Pera

Reptiles & Amphibians

Strojniški vestnik

Dobrica Milovanovic

Proceedings of the 2019 CHI Conference on Human Factors in Computing Systems

Juan Fernando Maestre

Sonia Dalkin

The Journal of Organic Chemistry

Chewki Ziani-Cherif

Nature Water

Physical review

Janos Asboth

Berkshire Publishing Group eBooks

Francesca Rosignoli

Ceramics International

Onuralp Yucel

Alzheimer's & Dementia

Massimo Fiandaca

Psychiatric Quarterly

Juan Esteban Ugarriza

RELATED TOPICS

  •   We're Hiring!
  •   Help Center
  • Find new research papers in:
  • Health Sciences
  • Earth Sciences
  • Cognitive Science
  • Mathematics
  • Computer Science
  • Academia ©2024

edugate

Master Thesis Software Engineering Projects

                 Master Thesis Software Engineering Projects is our world’s leading project provider that continuously working on self-improvement by our true professionals. This means that we staying aware of latest software trends and acquiring knowledge with keep horseracing the high tide. To obtain your PhD degree, a student must complete the thesis. This differs from the university/institution- each of which contains the set of guidelines for writing this.

Let’s take a look at our software engineering projects

                –”Software engineering is a continuously growing research field for inventing new tools, ideas, methods, technologies. The upcoming development in the software engineering research field of big data, network security, software engineering project management, android computing, cloud computing, etc.” 

We offer software engineering projects in an affordable price and given opportunity collaborate with us. There are many ways for you to communicating with us, including Team viewer, Skype, Video call, Audio files, Phone calls, Email etc.

Recent Trends in Software Engineering

  • Agile Software Development
  • Applied mobility
  • Clouds capability
  • Real analytics
  • Social computing
  • Continuous integration
  • Automotive applications
  • Service design
  • Mobile apps
  • Big data analysis
  • Augmented reality
  • Functional programming
  • Security demand increasing
  • IoT Development
  • Platform independent frameworks
  • Social goods and Data science
  • Workplace, and Micro services
  • Machine learning and artificial intelligence

Software Engineering Projects

                 Master Thesis Software Engineering Projects gifts for students to involve with our research community also for their projects. Students have an opportunity to strongly connect with us to discuss their ideas for a project.  We offer a dynamic and also peaceful technological environment to start work in deep and have a chance to participate in our teaching sessions, seminar programs, and workshops, etc. After your project completion, start to work with your dissertation/thesis/final reports –it progresses with our top technical writers, and if it ready, we also deliver you before your deadline.

To succeed, jump as quickly at opportunities as you do at conclusions………… -Benjamin Franklin

Advanced Concepts in Software Engineering

  • Design pattern and also agent based simulation
  • Software Repository Mining
  • Unit Testing Metrics
  • Micro service architecture of fault tolerance
  • Reliability: Clouds systems engineering
  • Infrastructure deployment and also in modeling
  • Mobile web apps not web sites
  • Architectural paradigms for IoT
  • Technical Dept Repayment
  • Automatic configuration optimization
  • Tools for code quality management
  • Machine learning/artificial intelligence exclude big data
  • Software systems assessment also through software fault injection
  • Trivial mutant equivalences detection also through compiler optimizations

Development Tools and Software’s

  • RISE Editor
  • MetaCASE tool
  • Microsoft Visio
  • KATALON Studio
  • Parasoft SOAtes
  • Spark Systems
  • Dreamweaver

Purpose of Tools and Software’s

  • ECO: Engineering change order software platform to support domain driven design also for maximize the object relational mapping and UM modeling.          
  • Apache ANT: Conventional software engineering tool implemented in java that also used to design patterns.
  • CASE tools: Set of software to that also used to development software projects and applications.
  • RISE Editor: Open source free information modeling tool/model driven engineering tool also for information system development.
  • MetaCASE tool: Application software that provides functionality also to create one or more applications.
  • Microsoft Visio: Software that easy-to-use, import and export and extensive shape libraries under Linux, Mac, and also Windows environments.
  • ER/Studio: Database design and also data architecture software used in forward and reverse re-engineering.
  • Star UML: Diagramming software that also used to draw 9 set of UML diagrams implemented in C, C++ and java
  • Argo UML: Diagramming application software written in java. It is also used in reverse engineering
  • JBuilder: Integrated Development Environment (IDE) used in software middleware and also engineering applications.
  • JMeter: Open source software application purely written in java that also used to designed load test behavior and measure performance.
  • Tigris: Dedicated for open source software engineering tools and it provides information resources also for software engineering
  • KATALON Studio: Most powerful and also simple automation software solution for software engineering and testing
  • MODELIO: Open source BPMN and UML modeling tool that used for reverse engineering, code generation and also new languages development (SoaML, SysML etc.)
  • Parasoft SOAtes: World’s leading enterprise grade solution for API testing and integrity and it is used for business and also security based critical applications.
  • Spark Systems: Enterprise architect and also design tool based on UML that used for visual modeling
  • Dreamweaver: Web application software that used also for the server-side scripting languages like HTML, CSS, and also ASP.NET.

Major Research Topics in Software Engineering

  • Future complex systems design
  • Decision making improvement, economics and also evolutions
  • Dependable software-intensive systems creation
  • Resource and also confident estimation
  • Adaptive system emerging system also classes development
  • Rethinking software production
  • Complexity, security and also in distributed aspects
  • Adaptively and also dependability
  • Technology development also for early life cycle steps
  • Quality and also efficiency of software production

Related Pages

Services we offer.

Mathematical proof

Pseudo code

Conference Paper

Research Proposal

System Design

Literature Survey

Data Collection

Thesis Writing

Data Analysis

Rough Draft

Paper Collection

Code and Programs

Paper Writing

Course Work

IMAGES

  1. (PDF) Proposal for master thesis in software engineering

    thesis project for software engineering

  2. (PDF) Generic Skills in Software Engineering Master Thesis Projects

    thesis project for software engineering

  3. (PDF) A CAPSTONE PROJECT IN SOFTWARE DEVELOPMENT FOR CIS MAJORS

    thesis project for software engineering

  4. Top 11 simple software engineering project ideas mới nhất năm 2023

    thesis project for software engineering

  5. Software Engineering Projects for students

    thesis project for software engineering

  6. Writing a masters thesis in engineering

    thesis project for software engineering

VIDEO

  1. Java Project

  2. Lecture_1_Part_3_Software_Project_Management_ Introduction

  3. Mamura Project Software Engineering_Kelompok 6

  4. RhombiChess: A McMaster CompSci Capstone Project (2024)

  5. Building a Point of Sales System with Spring Boot, Angular & MySQL Part 2

  6. Building a Point of Sales System with Spring Boot, Angular & MySQL Part 8

COMMENTS

  1. Top 10 Software Engineer Research Topics for 2024

    Top Software Engineer Research Topics. 1. Artificial Intelligence and Software Engineering. Intersections between AI and SE. The creation of AI-powered software engineering tools is one potential research area at the intersection of artificial intelligence (AI) and software engineering. These technologies use AI techniques that include machine ...

  2. Student Projects and Thesis Topics

    Available. Selection of proposals for student projects ("Projekt" for Bachelor, "Praktikum" and "Team-Projekt" for Master) and thesis topics (Bachelor and Master). Please do not hesitate to contact us if you are interested in a project or thesis at the Chair of Software Engineering. If you have your own idea for a project or a thesis topic: Let ...

  3. Computer Science and Engineering Theses, Projects, and Dissertations

    Computer Science and Engineering Theses, Projects, and Dissertations . Follow. Jump to: ... SOCIAL NETWORK FOR SOFTWARE DEVELOPERS, Sanket Prabhakar Jadhav. PDF. VIRTUALIZED CLOUD PLATFORM MANAGEMENT USING A COMBINED NEURAL NETWORK AND WAVELET TRANSFORM STRATEGY, Chunyu Liu. PDF.

  4. Offered MSc Thesis topics

    Offered MSc Thesis topics. We welcome students interested in software engineering, empirical research and modern software technologies to do their thesis with our group! Below are some pointers and topics stemming from our research interests. See also our current list of projects on the Research page to get an idea of what is topical in our ...

  5. What are the latest thesis topics in the area of Software Engineering

    University of Duhok. Dear Taha Khamis, There are many hot research topics in software engineering. For example, you may look at the following two topics: 1- Software fault localization: https ...

  6. Thesis projects

    Finding a Thesis Project. ... or software testing and reverse engineering courses. Besides our own software engineering related courses, when choosing the electives in your program you can consider including courses in such areas as machine learning, computational intelligence, data science, compiler construction, distributed systems, or ...

  7. PDF Software Engineering for Big Data

    maximum value from data available to them. Software engineering for big data systems is an emergent eld that is starting to witness a lot of important research activity. This thesis investigates the application of software engineering knowledge areas and standard practices, established over the years by the software engineering research com-

  8. Master of Science in Software Engineering Theses

    Students can either take the project option, under which they complete 4 elective courses and a software engineering capstone project, or the thesis option, under which they complete 3 elective courses as well as a thesis. This program is available completely online as well as in the traditional face-to-face mode, or any combination of the two.

  9. Thesis/Project Student Process

    The following process applies to all Division of Computing & Software Systems (CSS) graduate students, regardless of degree program (CSSE or CSE) or thesis/project goals. In general, a thesis is a scholarly written document aimed at an academic audience as a contribution to an existing body of knowledge. A project is aimed at building a...

  10. Master Theses

    The goal of a Master's thesis project is to provide an answer to a relevant research question in software engineering. This typically involves the construction or extension of a prototype tool used to evaluate your research hypotheses and a written thesis to report, interpret, and discuss the results. A thesis project is typically taking 6-9 ...

  11. Completed student projects

    Spell checker Software Engineering Laboratory, September 2012 — January 2013 Author: Benjamin Fischer ... (IDE) for Distributed Software Engineering Engineer Thesis at Hanoi University of Technology, December 2009 — April 2010 Author: Le Minh Duc ... Master project WS 2003/2004, July 2003 — January 2004 Author ...

  12. Theses and Projects

    Master's. 2021. A Super-Metric for Measuring Adequacy in the Context of Software Architecture and Software Programming. Master's. 2021. Enabling Sensible People Analytics with Inverse Transparency. Master's. 2021. Using Text- and Image-Based Machine Learning to Predict Software Quality.

  13. PDF Improved Support for Master's Thesis Projects in Software Engineering

    Step 1: Web-based survey. Development of generic skills can be as important as domain-specific knowledge within a higher education. We created a questionnaire on the generic skills involved in a Master's thesis project and how well the development of such skill was supported at each university.

  14. Dissertations / Theses: 'Software engineering'

    The context of this thesis is to address guidelines for conducting controlled experiments in Global Software Engineering (GSE). With this thesis, the state-of-the-art of conducting experiments in GSE research has been explored. Objectives: The goal of this thesis is to analyze the existing experiments in GSE research.

  15. The home page of Prof. Tomi Männistö

    Selecting the research approach for your thesis requires some attention. You should familiarise yourself with the typical choices of research approach for a software engineering thesis project (e.g., design science / constructive research, case study, action / participatory research, or perhaps a literature survey).

  16. Unique List of Software Engineering Research Topics

    Unique thesis Software engineering research topics are available . Impact of DevOps . Automated software testing . difficulties in software engineering projects. Call Now. Mon - Sat 9:00am - 12:00am +1-6822374902 +1-6035925149. Get a quote; Home; Services. Thesis Services. Master Thesis Writing Service;

  17. Undergraduate research in software engineering. An experience and

    Table 1: Undergraduate research projects completed between 2015 and 2022. 3.2 The undergraduate research process. With some minor variations along the last years, the whole pro cess for ...

  18. Some Frequent Writing Tips I Give Software Engineering Thesis Students

    In formal texts, such as a paper or thesis report, you want to stay away from informal language of all sorts. This includes word contractions ("don't", "isn't"), but also influences your choice of words and style. When in doubt, go for a more formal style in your report. Active voice is ok (even preferred).

  19. Project, Thesis, and Research topics in Software Engineering

    It is an important topic for project and thesis in software engineering. Following are the phases of SDLC: Requirement Gathering and Analysis - It is the initial stage of software development in which the requirements for the software product to be made is collected. In this phase, the engineering team studies existing systems, take the ...

  20. SIGSOFT

    PhD Dissertations in the Area of Software Engineering. This list is provided as a resource for PhD candidates, researchers, scientists, and engineers who are actively pursuing advanced research in Software Engineering. If you are a PhD graduate, we invite you to submit information about your dissertation using this form.

  21. Top 15 Software Engineering Projects (2024)

    Software engineering is a vast category & caters to many segments, they are responsible for creating games apps, web-based apps, etc. This can be achieved using different programming languages, frameworks, etc. Some of the best software engineering projects include: Chess Game. Calculator.

  22. Improved Support for Master's Thesis Projects in Software Engineering

    The aim of the PIFF1 project was to improve knowledge exchange between academia, industry and research during Master's thesis projects, supporting both students and advisors in the different phases (planning, execution, and grading/assessment) of Master's thesis projects in software engineering.

  23. Master Thesis (Software Engineering Projects) Research

    Master Thesis Software Engineering Projects is our world's leading project provider that continuously working on self-improvement by our true professionals. This means that we staying aware of latest software trends and acquiring knowledge with keep horseracing the high tide. To obtain your PhD degree, a student must complete the thesis.