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…

Princeton University

  • Advisers & Contacts
  • Bachelor of Arts & Bachelor of Science in Engineering
  • Prerequisites
  • Declaring Computer Science for AB Students
  • Declaring Computer Science for BSE Students
  • Class of '25, '26 & '27 - Departmental Requirements
  • Class of 2024 - Departmental Requirements
  • COS126 Information
  • Important Steps and Deadlines
  • Independent Work Seminars
  • Guidelines and Useful Information

Undergraduate Research Topics

  • AB Junior Research Workshops
  • Undergraduate Program FAQ
  • How to Enroll
  • Requirements
  • Certificate Program FAQ
  • Interdepartmental Committee
  • Minor Program
  • Funding for Student Group Activities
  • Mailing Lists and Policies
  • Study Abroad
  • Jobs & Careers
  • Admissions Requirements
  • Breadth Requirements
  • Pre-FPO Checklist
  • FPO Checklist
  • M.S.E. Track
  • M.Eng. Track
  • Departmental Internship Policy (for Master's students)
  • General Examination
  • Fellowship Opportunities
  • Travel Reimbursement Policy
  • Communication Skills
  • Course Schedule
  • Course Catalog
  • Research Areas
  • Interdisciplinary Programs
  • Technical Reports
  • Computing Facilities
  • Researchers
  • Technical Staff
  • Administrative Staff
  • Graduate Students
  • Undergraduate Students
  • Graduate Alumni
  • Climate and Inclusion Committee
  • Resources for Undergraduate & Graduate Students
  • Outreach Initiatives
  • Resources for Faculty & Staff
  • Spotlight Stories
  • Job Openings
  • Undergraduate Program
  • Independent Work & Theses

Suggested Undergraduate Research Topics

bachelor thesis topics software engineering

How to Contact Faculty for IW/Thesis Advising

Send the professor an e-mail. When you write a professor, be clear that you want a meeting regarding a senior thesis or one-on-one IW project, and briefly describe the topic or idea that you want to work on. Check the faculty listing for email addresses.

Parastoo Abtahi, Room 419

Available for single-semester IW and senior thesis advising, 2024-2025

  • Research Areas: Human-Computer Interaction (HCI), Augmented Reality (AR), and Spatial Computing
  • Input techniques for on-the-go interaction (e.g., eye-gaze, microgestures, voice) with a focus on uncertainty, disambiguation, and privacy.
  • Minimal and timely multisensory output (e.g., spatial audio, haptics) that enables users to attend to their physical environment and the people around them, instead of a 2D screen.
  • Interaction with intelligent systems (e.g., IoT, robots) situated in physical spaces with a focus on updating users’ mental model despite the complexity and dynamicity of these systems.

Ryan Adams, Room 411

Research areas:

  • Machine learning driven design
  • Generative models for structured discrete objects
  • Approximate inference in probabilistic models
  • Accelerating solutions to partial differential equations
  • Innovative uses of automatic differentiation
  • Modeling and optimizing 3d printing and CNC machining

Andrew Appel, Room 209

Available for Fall 2024 IW advising, only

  • Research Areas: Formal methods, programming languages, compilers, computer security.
  • Software verification (for which taking COS 326 / COS 510 is helpful preparation)
  • Game theory of poker or other games (for which COS 217 / 226 are helpful)
  • Computer game-playing programs (for which COS 217 / 226)
  •  Risk-limiting audits of elections (for which ORF 245 or other knowledge of probability is useful)

Sanjeev Arora, Room 407

  • Theoretical machine learning, deep learning and its analysis, natural language processing. My advisees would typically have taken a course in algorithms (COS423 or COS 521 or equivalent) and a course in machine learning.
  • Show that finding approximate solutions to NP-complete problems is also NP-complete (i.e., come up with NP-completeness reductions a la COS 487). 
  • Experimental Algorithms: Implementing and Evaluating Algorithms using existing software packages. 
  • Studying/designing provable algorithms for machine learning and implementions using packages like scipy and MATLAB, including applications in Natural language processing and deep learning.
  • Any topic in theoretical computer science.

David August, Room 221

Not available for IW or thesis advising, 2024-2025

  • Research Areas: Computer Architecture, Compilers, Parallelism
  • Containment-based approaches to security:  We have designed and tested a simple hardware+software containment mechanism that stops incorrect communication resulting from faults, bugs, or exploits from leaving the system.   Let's explore ways to use containment to solve real problems.  Expect to work with corporate security and technology decision-makers.
  • Parallelism: Studies show much more parallelism than is currently realized in compilers and architectures.  Let's find ways to realize this parallelism.
  • Any other interesting topic in computer architecture or compilers. 

Mark Braverman, 194 Nassau St., Room 231

  • Research Areas: computational complexity, algorithms, applied probability, computability over the real numbers, game theory and mechanism design, information theory.
  • Topics in computational and communication complexity.
  • Applications of information theory in complexity theory.
  • Algorithms for problems under real-life assumptions.
  • Game theory, network effects
  • Mechanism design (could be on a problem proposed by the student)

Sebastian Caldas, 221 Nassau Street, Room 105

  • Research Areas: collaborative learning, machine learning for healthcare. Typically, I will work with students that have taken COS324.
  • Methods for collaborative and continual learning.
  • Machine learning for healthcare applications.

Bernard Chazelle, 194 Nassau St., Room 301

  • Research Areas: Natural Algorithms, Computational Geometry, Sublinear Algorithms. 
  • Natural algorithms (flocking, swarming, social networks, etc).
  • Sublinear algorithms
  • Self-improving algorithms
  • Markov data structures

Danqi Chen, Room 412

  • My advisees would be expected to have taken a course in machine learning and ideally have taken COS484 or an NLP graduate seminar.
  • Representation learning for text and knowledge bases
  • Pre-training and transfer learning
  • Question answering and reading comprehension
  • Information extraction
  • Text summarization
  • Any other interesting topics related to natural language understanding/generation

Marcel Dall'Agnol, Corwin 034

  • Research Areas: Theoretical computer science. (Specifically, quantum computation, sublinear algorithms, complexity theory, interactive proofs and cryptography)
  • Research Areas: Machine learning

Jia Deng, Room 423

  •  Research Areas: Computer Vision, Machine Learning.
  • Object recognition and action recognition
  • Deep Learning, autoML, meta-learning
  • Geometric reasoning, logical reasoning

Adji Bousso Dieng, Room 406

  • Research areas: Vertaix is a research lab at Princeton University led by Professor Adji Bousso Dieng. We work at the intersection of artificial intelligence (AI) and the natural sciences. The models and algorithms we develop are motivated by problems in those domains and contribute to advancing methodological research in AI. We leverage tools in statistical machine learning and deep learning in developing methods for learning with the data, of various modalities, arising from the natural sciences.

Robert Dondero, Corwin Hall, Room 038

  • Research Areas:  Software engineering; software engineering education.
  • Develop or evaluate tools to facilitate student learning in undergraduate computer science courses at Princeton, and beyond.
  • In particular, can code critiquing tools help students learn about software quality?

Zeev Dvir, 194 Nassau St., Room 250

  • Research Areas: computational complexity, pseudo-randomness, coding theory and discrete mathematics.
  • Independent Research: I have various research problems related to Pseudorandomness, Coding theory, Complexity and Discrete mathematics - all of which require strong mathematical background. A project could also be based on writing a survey paper describing results from a few theory papers revolving around some particular subject.

Benjamin Eysenbach, Room 416

  • Research areas: reinforcement learning, machine learning. My advisees would typically have taken COS324.
  • Using RL algorithms to applications in science and engineering.
  • Emergent behavior of RL algorithms on high-fidelity robotic simulators.
  • Studying how architectures and representations can facilitate generalization.

Christiane Fellbaum, 1-S-14 Green

  • Research Areas: theoretical and computational linguistics, word sense disambiguation, lexical resource construction, English and multilingual WordNet(s), ontology
  • Anything having to do with natural language--come and see me with/for ideas suitable to your background and interests. Some topics students have worked on in the past:
  • Developing parsers, part-of-speech taggers, morphological analyzers for underrepresented languages (you don't have to know the language to develop such tools!)
  • Quantitative approaches to theoretical linguistics questions
  • Extensions and interfaces for WordNet (English and WN in other languages),
  • Applications of WordNet(s), including:
  • Foreign language tutoring systems,
  • Spelling correction software,
  • Word-finding/suggestion software for ordinary users and people with memory problems,
  • Machine Translation 
  • Sentiment and Opinion detection
  • Automatic reasoning and inferencing
  • Collaboration with professors in the social sciences and humanities ("Digital Humanities")

Adam Finkelstein, Room 424 

  • Research Areas: computer graphics, audio.

Robert S. Fish, Corwin Hall, Room 037

  • Networking and telecommunications
  • Learning, perception, and intelligence, artificial and otherwise;
  • Human-computer interaction and computer-supported cooperative work
  • Online education, especially in Computer Science Education
  • Topics in research and development innovation methodologies including standards, open-source, and entrepreneurship
  • Distributed autonomous organizations and related blockchain technologies

Michael Freedman, Room 308 

  • Research Areas: Distributed systems, security, networking
  • Projects related to streaming data analysis, datacenter systems and networks, untrusted cloud storage and applications. Please see my group website at http://sns.cs.princeton.edu/ for current research projects.

Ruth Fong, Room 032

  • Research Areas: computer vision, machine learning, deep learning, interpretability, explainable AI, fairness and bias in AI
  • Develop a technique for understanding AI models
  • Design a AI model that is interpretable by design
  • Build a paradigm for detecting and/or correcting failure points in an AI model
  • Analyze an existing AI model and/or dataset to better understand its failure points
  • Build a computer vision system for another domain (e.g., medical imaging, satellite data, etc.)
  • Develop a software package for explainable AI
  • Adapt explainable AI research to a consumer-facing problem

Note: I am happy to advise any project if there's a sufficient overlap in interest and/or expertise; please reach out via email to chat about project ideas.

Tom Griffiths, Room 405

Available for Fall 2024 single-semester IW advising, only

Research areas: computational cognitive science, computational social science, machine learning and artificial intelligence

Note: I am open to projects that apply ideas from computer science to understanding aspects of human cognition in a wide range of areas, from decision-making to cultural evolution and everything in between. For example, we have current projects analyzing chess game data and magic tricks, both of which give us clues about how human minds work. Students who have expertise or access to data related to games, magic, strategic sports like fencing, or other quantifiable domains of human behavior feel free to get in touch.

Aarti Gupta, Room 220

  • Research Areas: Formal methods, program analysis, logic decision procedures
  • Finding bugs in open source software using automatic verification tools
  • Software verification (program analysis, model checking, test generation)
  • Decision procedures for logical reasoning (SAT solvers, SMT solvers)

Elad Hazan, Room 409  

  • Research interests: machine learning methods and algorithms, efficient methods for mathematical optimization, regret minimization in games, reinforcement learning, control theory and practice
  • Machine learning, efficient methods for mathematical optimization, statistical and computational learning theory, regret minimization in games.
  • Implementation and algorithm engineering for control, reinforcement learning and robotics
  • Implementation and algorithm engineering for time series prediction

Felix Heide, Room 410

  • Research Areas: Computational Imaging, Computer Vision, Machine Learning (focus on Optimization and Approximate Inference).
  • Optical Neural Networks
  • Hardware-in-the-loop Holography
  • Zero-shot and Simulation-only Learning
  • Object recognition in extreme conditions
  • 3D Scene Representations for View Generation and Inverse Problems
  • Long-range Imaging in Scattering Media
  • Hardware-in-the-loop Illumination and Sensor Optimization
  • Inverse Lidar Design
  • Phase Retrieval Algorithms
  • Proximal Algorithms for Learning and Inference
  • Domain-Specific Language for Optics Design

Peter Henderson , 302 Sherrerd Hall

  • Research Areas: Machine learning, law, and policy

Kyle Jamieson, Room 306

  • Research areas: Wireless and mobile networking; indoor radar and indoor localization; Internet of Things
  • See other topics on my independent work  ideas page  (campus IP and CS dept. login req'd)

Alan Kaplan, 221 Nassau Street, Room 105

Research Areas:

  • Random apps of kindness - mobile application/technology frameworks used to help individuals or communities; topic areas include, but are not limited to: first response, accessibility, environment, sustainability, social activism, civic computing, tele-health, remote learning, crowdsourcing, etc.
  • Tools automating programming language interoperability - Java/C++, React Native/Java, etc.
  • Software visualization tools for education
  • Connected consumer devices, applications and protocols

Brian Kernighan, Room 311

  • Research Areas: application-specific languages, document preparation, user interfaces, software tools, programming methodology
  • Application-oriented languages, scripting languages.
  • Tools; user interfaces
  • Digital humanities

Zachary Kincaid, Room 219

  • Research areas: programming languages, program analysis, program verification, automated reasoning
  • Independent Research Topics:
  • Develop a practical algorithm for an intractable problem (e.g., by developing practical search heuristics, or by reducing to, or by identifying a tractable sub-problem, ...).
  • Design a domain-specific programming language, or prototype a new feature for an existing language.
  • Any interesting project related to programming languages or logic.

Gillat Kol, Room 316

Aleksandra korolova, 309 sherrerd hall.

  • Research areas: Societal impacts of algorithms and AI; privacy; fair and privacy-preserving machine learning; algorithm auditing.

Advisees typically have taken one or more of COS 226, COS 324, COS 423, COS 424 or COS 445.

Pravesh Kothari, Room 320

  • Research areas: Theory

Amit Levy, Room 307

  • Research Areas: Operating Systems, Distributed Systems, Embedded Systems, Internet of Things
  • Distributed hardware testing infrastructure
  • Second factor security tokens
  • Low-power wireless network protocol implementation
  • USB device driver implementation

Kai Li, Room 321

  • Research Areas: Distributed systems; storage systems; content-based search and data analysis of large datasets.
  • Fast communication mechanisms for heterogeneous clusters.
  • Approximate nearest-neighbor search for high dimensional data.
  • Data analysis and prediction of in-patient medical data.
  • Optimized implementation of classification algorithms on manycore processors.

Xiaoyan Li, 221 Nassau Street, Room 104

  • Research areas: Information retrieval, novelty detection, question answering, AI, machine learning and data analysis.
  • Explore new statistical retrieval models for document retrieval and question answering.
  • Apply AI in various fields.
  • Apply supervised or unsupervised learning in health, education, finance, and social networks, etc.
  • Any interesting project related to AI, machine learning, and data analysis.

Lydia Liu, Room 414

  • Research Areas: algorithmic decision making, machine learning and society
  • Theoretical foundations for algorithmic decision making (e.g. mathematical modeling of data-driven decision processes, societal level dynamics)
  • Societal impacts of algorithms and AI through a socio-technical lens (e.g. normative implications of worst case ML metrics, prediction and model arbitrariness)
  • Machine learning for social impact domains, especially education (e.g. responsible development and use of LLMs for education equity and access)
  • Evaluation of human-AI decision making using statistical methods (e.g. causal inference of long term impact)

Wyatt Lloyd, Room 323

  • Research areas: Distributed Systems
  • Caching algorithms and implementations
  • Storage systems
  • Distributed transaction algorithms and implementations

Alex Lombardi , Room 312

  • Research Areas: Theory

Margaret Martonosi, Room 208

  • Quantum Computing research, particularly related to architecture and compiler issues for QC.
  • Computer architectures specialized for modern workloads (e.g., graph analytics, machine learning algorithms, mobile applications
  • Investigating security and privacy vulnerabilities in computer systems, particularly IoT devices.
  • Other topics in computer architecture or mobile / IoT systems also possible.

Jonathan Mayer, Sherrerd Hall, Room 307 

Available for Spring 2025 single-semester IW, only

  • Research areas: Technology law and policy, with emphasis on national security, criminal procedure, consumer privacy, network management, and online speech.
  • Assessing the effects of government policies, both in the public and private sectors.
  • Collecting new data that relates to government decision making, including surveying current business practices and studying user behavior.
  • Developing new tools to improve government processes and offer policy alternatives.

Mae Milano, Room 307

  • Local-first / peer-to-peer systems
  • Wide-ares storage systems
  • Consistency and protocol design
  • Type-safe concurrency
  • Language design
  • Gradual typing
  • Domain-specific languages
  • Languages for distributed systems

Andrés Monroy-Hernández, Room 405

  • Research Areas: Human-Computer Interaction, Social Computing, Public-Interest Technology, Augmented Reality, Urban Computing
  • Research interests:developing public-interest socio-technical systems.  We are currently creating alternatives to gig work platforms that are more equitable for all stakeholders. For instance, we are investigating the socio-technical affordances necessary to support a co-op food delivery network owned and managed by workers and restaurants. We are exploring novel system designs that support self-governance, decentralized/federated models, community-centered data ownership, and portable reputation systems.  We have opportunities for students interested in human-centered computing, UI/UX design, full-stack software development, and qualitative/quantitative user research.
  • Beyond our core projects, we are open to working on research projects that explore the use of emerging technologies, such as AR, wearables, NFTs, and DAOs, for creative and out-of-the-box applications.

Christopher Moretti, Corwin Hall, Room 036

  • Research areas: Distributed systems, high-throughput computing, computer science/engineering education
  • Expansion, improvement, and evaluation of open-source distributed computing software.
  • Applications of distributed computing for "big science" (e.g. biometrics, data mining, bioinformatics)
  • Software and best practices for computer science education and study, especially Princeton's 126/217/226 sequence or MOOCs development
  • Sports analytics and/or crowd-sourced computing

Radhika Nagpal, F316 Engineering Quadrangle

  • Research areas: control, robotics and dynamical systems

Karthik Narasimhan, Room 422

  • Research areas: Natural Language Processing, Reinforcement Learning
  • Autonomous agents for text-based games ( https://www.microsoft.com/en-us/research/project/textworld/ )
  • Transfer learning/generalization in NLP
  • Techniques for generating natural language
  • Model-based reinforcement learning

Arvind Narayanan, 308 Sherrerd Hall 

Research Areas: fair machine learning (and AI ethics more broadly), the social impact of algorithmic systems, tech policy

Pedro Paredes, Corwin Hall, Room 041

My primary research work is in Theoretical Computer Science.

 * Research Interest: Spectral Graph theory, Pseudorandomness, Complexity theory, Coding Theory, Quantum Information Theory, Combinatorics.

The IW projects I am interested in advising can be divided into three categories:

 1. Theoretical research

I am open to advise work on research projects in any topic in one of my research areas of interest. A project could also be based on writing a survey given results from a few papers. Students should have a solid background in math (e.g., elementary combinatorics, graph theory, discrete probability, basic algebra/calculus) and theoretical computer science (226 and 240 material, like big-O/Omega/Theta, basic complexity theory, basic fundamental algorithms). Mathematical maturity is a must.

A (non exhaustive) list of topics of projects I'm interested in:   * Explicit constructions of better vertex expanders and/or unique neighbor expanders.   * Construction deterministic or random high dimensional expanders.   * Pseudorandom generators for different problems.   * Topics around the quantum PCP conjecture.   * Topics around quantum error correcting codes and locally testable codes, including constructions, encoding and decoding algorithms.

 2. Theory informed practical implementations of algorithms   Very often the great advances in theoretical research are either not tested in practice or not even feasible to be implemented in practice. Thus, I am interested in any project that consists in trying to make theoretical ideas applicable in practice. This includes coming up with new algorithms that trade some theoretical guarantees for feasible implementation yet trying to retain the soul of the original idea; implementing new algorithms in a suitable programming language; and empirically testing practical implementations and comparing them with benchmarks / theoretical expectations. A project in this area doesn't have to be in my main areas of research, any theoretical result could be suitable for such a project.

Some examples of areas of interest:   * Streaming algorithms.   * Numeric linear algebra.   * Property testing.   * Parallel / Distributed algorithms.   * Online algorithms.    3. Machine learning with a theoretical foundation

I am interested in projects in machine learning that have some mathematical/theoretical, even if most of the project is applied. This includes topics like mathematical optimization, statistical learning, fairness and privacy.

One particular area I have been recently interested in is in the area of rating systems (e.g., Chess elo) and applications of this to experts problems.

Final Note: I am also willing to advise any project with any mathematical/theoretical component, even if it's not the main one; please reach out via email to chat about project ideas.

Iasonas Petras, Corwin Hall, Room 033

  • Research Areas: Information Based Complexity, Numerical Analysis, Quantum Computation.
  • Prerequisites: Reasonable mathematical maturity. In case of a project related to Quantum Computation a certain familiarity with quantum mechanics is required (related courses: ELE 396/PHY 208).
  • Possible research topics include:

1.   Quantum algorithms and circuits:

  • i. Design or simulation quantum circuits implementing quantum algorithms.
  • ii. Design of quantum algorithms solving/approximating continuous problems (such as Eigenvalue problems for Partial Differential Equations).

2.   Information Based Complexity:

  • i. Necessary and sufficient conditions for tractability of Linear and Linear Tensor Product Problems in various settings (for example worst case or average case). 
  • ii. Necessary and sufficient conditions for tractability of Linear and Linear Tensor Product Problems under new tractability and error criteria.
  • iii. Necessary and sufficient conditions for tractability of Weighted problems.
  • iv. Necessary and sufficient conditions for tractability of Weighted Problems under new tractability and error criteria.

3. Topics in Scientific Computation:

  • i. Randomness, Pseudorandomness, MC and QMC methods and their applications (Finance, etc)

Yuri Pritykin, 245 Carl Icahn Lab

  • Research interests: Computational biology; Cancer immunology; Regulation of gene expression; Functional genomics; Single-cell technologies.
  • Potential research projects: Development, implementation, assessment and/or application of algorithms for analysis, integration, interpretation and visualization of multi-dimensional data in molecular biology, particularly single-cell and spatial genomics data.

Benjamin Raphael, Room 309  

  • Research interests: Computational biology and bioinformatics; Cancer genomics; Algorithms and machine learning approaches for analysis of large-scale datasets
  • Implementation and application of algorithms to infer evolutionary processes in cancer
  • Identifying correlations between combinations of genomic mutations in human and cancer genomes
  • Design and implementation of algorithms for genome sequencing from new DNA sequencing technologies
  • Graph clustering and network anomaly detection, particularly using diffusion processes and methods from spectral graph theory

Vikram Ramaswamy, 035 Corwin Hall

  • Research areas: Interpretability of AI systems, Fairness in AI systems, Computer vision.
  • Constructing a new method to explain a model / create an interpretable by design model
  • Analyzing a current model / dataset to understand bias within the model/dataset
  • Proposing new fairness evaluations
  • Proposing new methods to train to improve fairness
  • Developing synthetic datasets for fairness / interpretability benchmarks
  • Understanding robustness of models

Ran Raz, Room 240

  • Research Area: Computational Complexity
  • Independent Research Topics: Computational Complexity, Information Theory, Quantum Computation, Theoretical Computer Science

Szymon Rusinkiewicz, Room 406

  • Research Areas: computer graphics; computer vision; 3D scanning; 3D printing; robotics; documentation and visualization of cultural heritage artifacts
  • Research ways of incorporating rotation invariance into computer visiontasks such as feature matching and classification
  • Investigate approaches to robust 3D scan matching
  • Model and compensate for imperfections in 3D printing
  • Given a collection of small mobile robots, apply control policies learned in simulation to the real robots.

Olga Russakovsky, Room 408

  • Research Areas: computer vision, machine learning, deep learning, crowdsourcing, fairness&bias in AI
  • Design a semantic segmentation deep learning model that can operate in a zero-shot setting (i.e., recognize and segment objects not seen during training)
  • Develop a deep learning classifier that is impervious to protected attributes (such as gender or race) that may be erroneously correlated with target classes
  • Build a computer vision system for the novel task of inferring what object (or part of an object) a human is referring to when pointing to a single pixel in the image. This includes both collecting an appropriate dataset using crowdsourcing on Amazon Mechanical Turk, creating a new deep learning formulation for this task, and running extensive analysis of both the data and the model

Sebastian Seung, Princeton Neuroscience Institute, Room 153

  • Research Areas: computational neuroscience, connectomics, "deep learning" neural networks, social computing, crowdsourcing, citizen science
  • Gamification of neuroscience (EyeWire  2.0)
  • Semantic segmentation and object detection in brain images from microscopy
  • Computational analysis of brain structure and function
  • Neural network theories of brain function

Jaswinder Pal Singh, Room 324

  • Research Areas: Boundary of technology and business/applications; building and scaling technology companies with special focus at that boundary; parallel computing systems and applications: parallel and distributed applications and their implications for software and architectural design; system software and programming environments for multiprocessors.
  • Develop a startup company idea, and build a plan/prototype for it.
  • Explore tradeoffs at the boundary of technology/product and business/applications in a chosen area.
  • Study and develop methods to infer insights from data in different application areas, from science to search to finance to others. 
  • Design and implement a parallel application. Possible areas include graphics, compression, biology, among many others. Analyze performance bottlenecks using existing tools, and compare programming models/languages.
  • Design and implement a scalable distributed algorithm.

Mona Singh, Room 420

  • Research Areas: computational molecular biology, as well as its interface with machine learning and algorithms.
  • Whole and cross-genome methods for predicting protein function and protein-protein interactions.
  • Analysis and prediction of biological networks.
  • Computational methods for inferring specific aspects of protein structure from protein sequence data.
  • Any other interesting project in computational molecular biology.

Robert Tarjan, 194 Nassau St., Room 308

  • Research Areas: Data structures; graph algorithms; combinatorial optimization; computational complexity; computational geometry; parallel algorithms.
  • Implement one or more data structures or combinatorial algorithms to provide insight into their empirical behavior.
  • Design and/or analyze various data structures and combinatorial algorithms.

Olga Troyanskaya, Room 320

  • Research Areas: Bioinformatics; analysis of large-scale biological data sets (genomics, gene expression, proteomics, biological networks); algorithms for integration of data from multiple data sources; visualization of biological data; machine learning methods in bioinformatics.
  • Implement and evaluate one or more gene expression analysis algorithm.
  • Develop algorithms for assessment of performance of genomic analysis methods.
  • Develop, implement, and evaluate visualization tools for heterogeneous biological data.

David Walker, Room 211

  • Research Areas: Programming languages, type systems, compilers, domain-specific languages, software-defined networking and security
  • Independent Research Topics:  Any other interesting project that involves humanitarian hacking, functional programming, domain-specific programming languages, type systems, compilers, software-defined networking, fault tolerance, language-based security, theorem proving, logic or logical frameworks.

Shengyi Wang, Postdoctoral Research Associate, Room 216

Available for Fall 2024 single-semester IW, only

  • Independent Research topics: Explore Escher-style tilings using (introductory) group theory and automata theory to produce beautiful pictures.

Kevin Wayne, Corwin Hall, Room 040

  • Research Areas: design, analysis, and implementation of algorithms; data structures; combinatorial optimization; graphs and networks.
  • Design and implement computer visualizations of algorithms or data structures.
  • Develop pedagogical tools or programming assignments for the computer science curriculum at Princeton and beyond.
  • Develop assessment infrastructure and assessments for MOOCs.

Matt Weinberg, 194 Nassau St., Room 222

  • Research Areas: algorithms, algorithmic game theory, mechanism design, game theoretical problems in {Bitcoin, networking, healthcare}.
  • Theoretical questions related to COS 445 topics such as matching theory, voting theory, auction design, etc. 
  • Theoretical questions related to incentives in applications like Bitcoin, the Internet, health care, etc. In a little bit more detail: protocols for these systems are often designed assuming that users will follow them. But often, users will actually be strictly happier to deviate from the intended protocol. How should we reason about user behavior in these protocols? How should we design protocols in these settings?

Huacheng Yu, Room 310

  • data structures
  • streaming algorithms
  • design and analyze data structures / streaming algorithms
  • prove impossibility results (lower bounds)
  • implement and evaluate data structures / streaming algorithms

Ellen Zhong, Room 314

Opportunities outside the department.

We encourage students to look in to doing interdisciplinary computer science research and to work with professors in departments other than computer science.  However, every CS independent work project must have a strong computer science element (even if it has other scientific or artistic elements as well.)  To do a project with an adviser outside of computer science you must have permission of the department.  This can be accomplished by having a second co-adviser within the computer science department or by contacting the independent work supervisor about the project and having he or she sign the independent work proposal form.

Here is a list of professors outside the computer science department who are eager to work with computer science undergraduates.

Maria Apostolaki, Engineering Quadrangle, C330

  • Research areas: Computing & Networking, Data & Information Science, Security & Privacy

Branko Glisic, Engineering Quadrangle, Room E330

  • Documentation of historic structures
  • Cyber physical systems for structural health monitoring
  • Developing virtual and augmented reality applications for documenting structures
  • Applying machine learning techniques to generate 3D models from 2D plans of buildings
  •  Contact : Rebecca Napolitano, rkn2 (@princeton.edu)

Mihir Kshirsagar, Sherrerd Hall, Room 315

Center for Information Technology Policy.

  • Consumer protection
  • Content regulation
  • Competition law
  • Economic development
  • Surveillance and discrimination

Sharad Malik, Engineering Quadrangle, Room B224

Select a Senior Thesis Adviser for the 2020-21 Academic Year.

  • Design of reliable hardware systems
  • Verifying complex software and hardware systems

Prateek Mittal, Engineering Quadrangle, Room B236

  • Internet security and privacy 
  • Social Networks
  • Privacy technologies, anonymous communication
  • Network Science
  • Internet security and privacy: The insecurity of Internet protocols and services threatens the safety of our critical network infrastructure and billions of end users. How can we defend end users as well as our critical network infrastructure from attacks?
  • Trustworthy social systems: Online social networks (OSNs) such as Facebook, Google+, and Twitter have revolutionized the way our society communicates. How can we leverage social connections between users to design the next generation of communication systems?
  • Privacy Technologies: Privacy on the Internet is eroding rapidly, with businesses and governments mining sensitive user information. How can we protect the privacy of our online communications? The Tor project (https://www.torproject.org/) is a potential application of interest.

Ken Norman,  Psychology Dept, PNI 137

  • Research Areas: Memory, the brain and computation 
  • Lab:  Princeton Computational Memory Lab

Potential research topics

  • Methods for decoding cognitive state information from neuroimaging data (fMRI and EEG) 
  • Neural network simulations of learning and memory

Caroline Savage

Office of Sustainability, Phone:(609)258-7513, Email: cs35 (@princeton.edu)

The  Campus as Lab  program supports students using the Princeton campus as a living laboratory to solve sustainability challenges. The Office of Sustainability has created a list of campus as lab research questions, filterable by discipline and topic, on its  website .

An example from Computer Science could include using  TigerEnergy , a platform which provides real-time data on campus energy generation and consumption, to study one of the many energy systems or buildings on campus. Three CS students used TigerEnergy to create a  live energy heatmap of campus .

Other potential projects include:

  • Apply game theory to sustainability challenges
  • Develop a tool to help visualize interactions between complex campus systems, e.g. energy and water use, transportation and storm water runoff, purchasing and waste, etc.
  • How can we learn (in aggregate) about individuals’ waste, energy, transportation, and other behaviors without impinging on privacy?

Janet Vertesi, Sociology Dept, Wallace Hall, Room 122

  • Research areas: Sociology of technology; Human-computer interaction; Ubiquitous computing.
  • Possible projects: At the intersection of computer science and social science, my students have built mixed reality games, produced artistic and interactive installations, and studied mixed human-robot teams, among other projects.

David Wentzlaff, Engineering Quadrangle, Room 228

Computing, Operating Systems, Sustainable Computing.

  • Instrument Princeton's Green (HPCRC) data center
  • Investigate power utilization on an processor core implemented in an FPGA
  • Dismantle and document all of the components in modern electronics. Invent new ways to build computers that can be recycled easier.
  • Other topics in parallel computer architecture or operating systems

Facebook

Topics for Theses and Projects

Our topics for bachelor and master theses as well as projects are from the areas of software engineering and programming languages. The concrete topics for theses are based on our research interests  and allow students to make their own contribution to a field of research. Our main target group are students of Computer Science, Software Engineering, Media Informatics, Artificial Intelligence, and Cognitive Systems.

This page offers a selection of topics and subject areas. For more information, please do not hesitate to contact the respective supervisor. In addition, we are open to your own suggestions for topics.

(Legend - B: Bachelor Thesis, M: Master Thesis, P: Project)

Outline of a Bachelor or Master Thesis

Topic and proposal.

After the initial contact, the topic and the contents of the Bachelor or Master thesis are agreed upon and recorded in a proposal. The proposal has proven to be a valueable tool for risk minimization and planning of the thesis and includes:

  • the context of the thesis
  • the research question
  • the state of research
  • the solution idea
  • the methodology and the evaluation plan

Much of the proposal can be reused in the final thesis.

Interim Presentation

In the course of the interim presentation, students learn to present and communicate results. In addition, the interim presentation can be used to reflect on the status of the thesis so far and to respond to feedback.

Submission and Final Presentation

The submission of the final thesis and the final presentation formally conclude the bachelor or master thesis.

(Legend - B: Bachelor thesis, M: Master thesis, P: Project)

Human-centered Software Engineering

Software variability and evolution, constraint handling rules, dynamic and static program analysis, p/b/m: static analysis for reflective or self modifying code (sihler, tichy).

P/B/M: Static Analysis for Reflective or Self Modifying Code (Sihler, Tichy)

Context Most static analyzers rely on static dataflow analysis to detect problems like possible null pointer exceptions in code [5]. However, analyzers are usually unable to handle reflective or self-modifying code (e.g., Java Agents , Java Reflection , R's meta-functions [6]. While this is fine for languages in which such constructs are rare or discouraged, they are 1) used quite often in the R programming language and 2) pose an interesting problem to solve.

Problem As a basis [3], I have previously created the static dataflow analyzer and program slicer flowR for the R programming language. However, it is currently unable to deal with these reflective and code-modifying constructs like eval , body , quote , and parse in its static dataflow graph. While handling such constructs statically may be infeasible in the general case, we first want to focus on a set of common cases that appear frequently.

  • Develop a concept to represent code-modifications and lazy evaluation (within flowR 's dataflow graph). For example, to represent a function that has the default values of its arguments or the contents of its body modified.
  • Create a proof of concept implementation for this concept in flowR .

Related Work and Further Reading

  • K. Cooper and L Torczon. Engineering a Compiler. ( ISBN : 978-0-12-818926-9)
  • U. Khedker, A. Sanyal, and B. Sathe. Data Flow Analysis: Theory and Practice. ( ISBN : 978-0-8493-3251-7)
  • F. Sihler. Constructing a Static Program Slicer for R Programs.
  • A. Ko and B. Myers. Finding causes of program output with the Java Whyline.
  • SonarQube, Sonar.
  • Anckaert, B., Madou, M., De Bosschere, K. A Model for Self-Modifying Code.

If you want to, you can have a first look at flowR for yourself: https://github.com/Code-Inspect/flowr .

Contact and More If you are interested and/or have any questions, feel free to contact me any time. We can discuss the topic further and try to adapt it to your personal preferences. Florian Sihler

P/B/M: Dynamic Dataflow Analysis for R Programs (Sihler, Tichy)

P/B/M: Dynamic Dataflow Analysis for R Programs (Sihler, Tichy)

Dataflow analysis is a very useful and important technique, used, for example, as part of compiler optimizations [1,2] and program comprehension techniques (e.g., slicing [3] or debugging [4]).

Although there is no single dataflow analysis (each analysis answers a slightly different question), dataflow analyzers usually identify how variables in a program relate to each other (e.g., which definitions a variable read my refer to).

Dataflow Analyzers can be split into:

  • static analyzers if they use only the source code of a program as input, and
  • dynamic analyzers if they use a specific program execution as input.

While static analysis is usually harder, it has lower application constraints as 1) it does not require inputs (from users, files, network-messages, ...), and 2) we do not have to deal with getting a potentially unknown program running. However, dynamic analyzers are usually much more valuable during debugging as they know the path the program took, the potential user inputs, the contents of external files, and more.

Within my master's thesis [3] that is now the basis of my PhD, I have created the static program slicer flowR for the R programming language, which includes a static dataflow analyzer. However, it offers no dynamic dataflow analysis and does not even attempt to run the respective input program.

  • Enrich flowR 's existing pipeline of parsing , normalizing , static dataflow extraction , static slicing , and code reconstruction with a dynamic dataflow analysis step.
  • Given a program (for starters without any external dependencies), the dynamic analysis should be able to determine the execution trace of the program (e.g., branches taken, loops entered and iteration requiered) with the help of R's debugging capabilities and active bindings [5].
  • From that, it should be able to infer which variable references read which values (e.g., which definition of a variable was read), what functions have been called, ...
  • The planned evaluation is to compare the results of the dynamic analysis with the results of the static analysis and to determine the differences.
  • R, Active Bindings

Contact and More

If you are interested and/or have any questions, feel free to contact me any time. We can discuss the topic further and try to adapt it to your personal preferences. Florian Sihler

P/M: Can ChatGPT Be Used as a Linter? (Sihler, Tichy)

P/M: Can ChatGPT Be Used as a Linter? (Sihler, Tichy)

Static Program Analysis is a well-researched field [1,2], useful in various domains like compiler optimizations [3] and linting [4]. However, static analysis is unable to find semantic smells and bugs and requires a lot of work to set up. On the other hand, current large language models (LLMs, like ChatGPT) can quickly answer questions about code and find (potential) semantic and syntactic bugs, with an easy-to-use interface and setup required.

Even though LLMs are easy to use and quick to give an answer, this answer is not always correct [5]. Furthermore, with their hype being relatively new, there is not much research on how their hallucinations hinder linting tasks or make them outright harmful. To address that, we want to analyze common smells and errors in real-world code (including those that common linters can not find), synthetically generate code with these smells and errors, and then analyze how well LLMs can detect as well as "fix" them.

  • Identify common smells and errors in real-world R code.
  • Synthetically generate code with these smells and errors.
  • Analyze/Classify how well LLMs can detect and fix those problems.
  • García-Ferreira et al., Static analysis: a brief survey, 2016
  • Anjana Gosain et al., Static Analysis: A Survey of Techniques and Tools, 2015
  • Hester et al., lintr: A 'Linter' for R Code, 2023
  • Zhang et al., Siren’s Song in the AI Ocean: A Survey on Hallucination in Large Language Models, 2023

[RESERVED] P/B/M: Pointer Analysis for Static Dataflow (Sihler, Tichy)

[RESERVED] P/B/M: Pointer Analysis for Static Dataflow (Sihler, Tichy)

Context Dataflow analysis is a very useful and important technique, used, for example, to

  • allow compiler optimizations [1,2],
  • to aide program comprehension (e.g.,  [3] or debugging [4]), and
  • perform code analysis (e.g., to locate possible null pointer exceptions [5]).

A static dataflow analyzer takes the source code of a program as its input and identifies how variables in a program relate to each other (e.g., which definitions a variable read my refer to).

However, this can happen on arbitrary granularity levels. For example, when reading a single cell of an array, a coarsely grained analyzer may refer to any potential write to the array, while a more detailed analysis could restrict the definitions to those that modify the respective entry.

Problem Within my master's thesis [3], which is now the basis of my PhD, I have created the static program slicer flowR for the R programming language, which includes a static dataflow analyzer. However, it does currently not differentiate the individual cells of arrays or the attributes of an object (i.e., it does not analyze pointers) [6].

  • Differentiate Cells of a Vector with constant access
  • Differentiate Data-Frames, Slots, and other pointer-types
  • Track Aliases to identify when pointers relate to each other
  • Evaluate the achieved reduction in the size of the resulting slices
  • M. Hind. Pointer Analysis: Haven’t We Solved This Problem Yet?

Relaxed Conformance Editing

M: freedom vs. restrictions: where is the sweet spot of graphical modeling tools.

Graphical modeling is a widely used task in software and systems engineering. Similar to how an IDE assists with programming, graphical modeling tools are intended to help create models as efficiently as possible. Basically, two types of graphical modeling tools can be distinguished: Either the tool is tailored to a graphical language and restricts the user in drawing in such a way that only syntactically correct models can be drawn (correct-by-constructionn approach), or one has a pure drawing tool that offers no language-specific support but allows maximum freedom. As so often, the optimum lies somewhere in between.

In this master thesis, a prototypical implementation of a graphical modeling tool in React is to be adapted in such a way that it is possible to turn various support mechanisms (and also restrictions) on or off. A user study will then be conducted with this customizable tool, with the goal of finding the sweet spot between maximum restriction and maximum freedom. In order not to make the study too large, only a few useful combinations will be compared.

  • Familiarization with the corresponding tool
  • Development and implementation of meaningful support or restriction options
  • Conducting a user study (study design, creating user tasks, implementation, evaluation)

Needed skills

  • Javascript/Typescript knowledge
  • Experiences with React
  • Interest in usability and study design

Further reading

  • Master thesis Leander Nachreiner

Alexander Raschke

Self-adaptive Systems

P: develop visualization for self-adaptive cloud systems (straub, tichy).

Self-Adaptive systems are systems that adjust themselves to maintain or improve their performance in response to changes in their environment and operational conditions, thereby ensuring continued effectiveness, reliability, and efficiency. Self-adaptive systems are diverse and multifaceted, with applications extending across numerous fields. In our project, we concentrate on the cloud-native domain, with a special emphasis on the explainability aspect of self-adaptation. This involves delving into how these systems can not only adjust autonomously to changing conditions but also provide transparent and understandable explanations for their adaptations, ensuring clarity and trust in their operations.

Understanding the intricacies of self-adaptive systems, particularly in the cloud-native space, is a complex task. The autonomous adjustments these systems make in response to environmental changes can be intricate and opaque. This complexity underscores the necessity for effective visualization strategies. Visualizations can range from simple schematic diagrams that illustrate system workflows, to advanced interactive visualizations that provide real-time insights into system dynamics. By employing visualization techniques like this, we aim to make the processes of self-adaptation in cloud-native systems not only more transparent but also more accessible to a broader audience, enhancing comprehension and facilitating informed oversight.

In this project you will integrate such an visualization approch. The implementation language is Typescript.

P: Develop Visualization for Self-Adaptive Cloud Systems (Straub, Tichy)

M: Data-Queries for Basic Explanations by LLMs (Straub, Tichy)

Self-adaptive systems represent a significant leap in technology. These systems are capable of adjusting their behavior in response to changes in their environment or in their own state. This adaptability makes them incredibly powerful, yet also complex. Large Language Models (LLMs) have shown remarkable proficiency in generating human-like text, offering potential as tools for simplifying and explaining complex technical concepts We plan to use the capabilities of LLMs to explain these complex self-adaptive systems. However, a significant challenge arises: how can these LLMs access detailed and up-to-date information about the self-adaptive systems they are explaining?

In this Master thesis, the different possibilities of enabeling the LLM to access the required data need to be explored. An example would be Retrieval Augmented Generation (RAG), which is already implemented in Libraries like LangChain. A proptotype implementation has to be created and connected with the MENTOR project. Finally, the appraoch has to be evaluted.

Tasks/Goals

  • Familiarization with the possible approaches
  • Implement a Prototype
  • Evaluate the Implementation

Software Configuration

Feature model analysis, b: cleaning feature models (krieter, thüm).

A feature model of a configurable system can contain several anomalies, such as dead features, false-optional feature, or redundant constraints. There exist automated analyses for detecting these kinds of faults.

While many anomalies can be detected automatically, fixing them often requires a decision by a user on how to resolve the problem. The aim of this thesis is to investigate how and to what degree this process can be automatize.

  • Compare and discuss suitable strategies for cleaning (e.g., which redundant constraints to remove)
  • Implement promising strategies in FeatureIDE

Sebastian Krieter

M: Efficient Analyses for Hidden Features (Krieter, Thüm)

Hidden features can be used to mark implementation artifacts that are not configurable by end users, but are automatically (de-)selected by the configuration editor according to the feature model. A hidden feature is called indeterminate if there is at least one configuration in which all regular features are defined but a value for the hidden feature cannot be deduced.

Indeterminate hidden features can cause a problem during configuration. Thus, these must be detected beforehand, which is a time-consuming task. The aim of the thesis is to optimize the current analysis for finding indeterminate hidden features such that it runs faster.

  • Improve the current analysis for finding indeterminate hidden features in FeatureIDE
  • Evaluate the new method

M: Comparing Different Variants for T-Wise Interaction Coverage (Böhm, Krieter, Thüm)

Given a list of configurations for a feature model (i.e., a sample ), we often want to determine certain properties of it. For instance, for testing purposes, it is interesting how many potential feature interactions are covered by the sample. To this end, there exists a metric to measure t-wise interaction coverage . However, in literature the definition of this metric is often ambiguous or only given implicitly.

Due to the ambiguous definition of the coverage metric, there are multiple different variants. For example, one could include or exclude core and dead features for counting feature interaction. The same is true for abstract features. Other design decisions for the metric are whether to merge atomic sets an whether to count invalid interactions. In general, it is unclear by how much the choice of a specific metric variant impacts the results and what metric is best used in which case. This makes measuring coverage difficult and hampers comparability of new metrics and sampling tools in literature and in practice.

  • Research which variants of the metric are used in literature
  • Evaluate the impact of using different variants on the same sample

Formal Languages for Variability

P/b/m: survey on sharing metrics for formal variability languages (bittner, thüm).

P/B/M: Survey on Sharing Metrics for Formal Variability Languages (Bittner, Thüm)

When it comes to developing multi-variant software systems, software product-line engineering and analyses avoid duplicate computational effort by exploiting similarities between the different software variants. For example, in the above example the statement "lol;" is shared between the software variants including or excluding feature A . To describe and analyze variability, formal languages have been proposed that allow semantic-preserving translations to refactor expressions to increase sharing. However, the notion of having "more sharing" in a formula remains vague most of the time or different metrics have been used in the literature to measure sharing.

  • Literature survey on sharing metrics (for formal variability languages)
  • Qualitative comparison between sharing metrics
  • Definition of new metrics if necessary
  • Perhaps empirical evaluation of different metrics for real systems

Related Work

  • The Choice Calculus

A Formal Framework of Software Product Line Analyses

Paul Bittner

Thomas Thüm

Constraint-Programmierung und Constraint Handling Rules

P/b/m: graph tool for mason marks (frühwirth).

We are developing a rule-based implementation of a tool to analyse and generate graphs. It is used in the domain of mason’s marks. For thousands of years, stonemasons have been inscribing these symbolic signs on dressed stone. Geometrically, mason’s marks are line drawings. They consist of a pattern of straight lines, sometimes circles and arcs. We represent mason’s marks by connected planar graphs. Our prototype tool for analysis and generation of graphs is written in the rule-based declarative language Constraint Handling Rules. One or several of following features could be improved in this proposed work:

Goals/Tasks

  • improve the vertex-centric logical graph representation, i.e. adding arcs, colors, labels,
  • encode existing mason marks either by hand, from images or import from existing databases,
  • recognize (sub)graphs and patterns in a graph, in particular (self-)similarities and correlations between graphs,
  • perform classical algorithms on graphs like shortest paths,
  • derive properties and statistics from graphs,
  • generate (randomly or exhaustively) and draw graphs from given constrained subgraphs based on properties and statistics.
  • Thom Frühwirth: Rule-Based Drawing, Analysis and Generation of Graphs for Mason's Mark Design, 2018

Prerequesites

  • Good knowledge of Prolog and CHR
  • Lecture Rule-based Programming

Thom Frühwirth , Sascha Rechenberger

P/B/M: Graph Tool for Mason Marks (Frühwirth)

P/B/M: Justifications in CHR for Logical Retraction in Dynamic Algorithms (Frühwirth)

When algorithms are written in CHR, constraints represent both data and operations. CHR is already incremental by nature, i.e. constraints can be added at runtime. Logical retraction adds decrementality. Hence any algorithm written in CHR with justifications will become fully dynamic. Operations can be undone and data can be removed at any point in the computation without compromising the correctness of the result.

A straightforward source-to-source transformation can introduce justifications for user-defined constraints into the CHR. Then a scheme of two rules suffices to allow for logical retraction (deletion, removal) of constraints during computation. Without the need to recompute from scratch, these rules remove not only the constraint but also undo all consequences of the rule applications that involved the constraint.

Further work should investigate implementation, dynamic algorithms and application domains of CHR with justifications:

  • research how logical as well as classical algorithms implemented in CHR behave when they become dynamic.
  • improve the implementation, optimize and benchmark it.
  • support detection and repair of inconsistencies (for error diagnosis), - support nonmonotonic logical behaviors (e.g. default logic, abduction, defeasible reasoning).
  • Thom Frühwirth: Justifications in Constraint Handling Rules for Logical Retraction in Dynamic Algorithms.
  • CHR translator

Prerequisites

  • Interest to learn about formal analysis methods of rule-based languages

P/B/M: Justifications in CHR for Logical Retraction in Dynamic Algorithms (Frühwirth)

B/M: Non-Termination Analysis of Recursive Rules (Frühwirth)

Extend the analysis techniques and/or the associated tool from the following two research papers:

A dynamic program analysis of the non-termination problem for recursion in the Constraint Handling Rules (CHR) language: A simple program transformation for recursive rules in CHR was introduced that produces one or more adversary rules. When the rules are executed together, a non-terminating computation may arise. It was shown that any non-terminating computation of the original rule contains this witness computation.

  • Thom Fruehwirth: A Devil's Advocate against Termination of Direct Recursion, PPDP 2015.
  • Transformation Tool available (use "Devil" options).

A static program analysis of the non-termination problem for recursion in the Constraint Handling Rules (CHR) language: Theorems with so-called misbehavior conditions for potential non-termination and failure (as well as definite termination) of linear direct recursive simplification rules are given. Logical relationships between the constraints in a recursive rule play a crucial role in this kind of program analysis.

  • Thom Fruehwirth: Why Can’t You Behave? Non-Termination Analysis of Direct Recursive Rules with Constraints, RuleML 2016
  • Lecture "Rule-Based Programming"

B/M: Non-Termination Analysis of Recursive Rules (Frühwirth)

P/B/M: Localized Constraint Stores (Frühwirth)

In distributed computation, data and processes are distributed over a network of stores and processing units. In a constraint-based programming language paradigm this means that constraints have to be annotated with spatial information defining their whereabouts. Obvious topologies are a distinction between global and local stores as well as trees. Localized constraints can also be used for so-called reified (or meta-)constraints (e.g. https://sicstus.sics.se/sicstus/docs/4.0.8/html/sicstus/Reified-Constraints.html ), to store justifications and for spatial reasoning.

In Constraint Handling Rules (CHR), there is a simple source-to-source program transformation that adds local annotations to constraints.

The scope of the work includes implementation of such a transformation, their application and/or static program analysis to derive distribution patterns, i.e. to localize constraint computation while minimizing communication overhead.

  • Edmund S. L. Lam, Iliano Cervesato and Nabeeha Fatima: CoMingle: Distributed Logic Programming for Decentralized Mobile Ensembles. In proceedings of International Conference on Distributed Computing Techniques (Coordination'15)
  • A. Raffaeta and T. Frühwirth: Spatio-Temporal Annotated Constraint Logic Programming, Third International Symposium on Practical Aspects of Declarative Languages (PADL'01), Las Vegas, USA, March 2001.
  • T. Frühwirth: Entailment Simplification and Constraint Constructors for User-Defined Constraints, Third Workshop on Constraint Logic Programming (WCLP 93), Marseille, France, March 1993.

P/B/M: Localized Constraint Stores (Frühwirth)

P/B/M: Invariant Checking and Generation by Confluence and Completion (Frühwirth)

Invariants (or assertions, properties, conditions) annotate program text and express static and dynamic properties of a program's execution. Invariants can be expressed as logical relations (predicates) over the program's variables. In the context of constraint-programming and Constraint Handling Rules (CHR), they amount to constraints. These can be readily added to the program to enforce the invariants. By comparing the program with and without invariants expressed as constraints using established program analysis techniques for CHR, namely confluence and program equivalence, we can check if the invariants hold in the program.

Furthermore, invariants can be strenghened and even be generated by adapting the so-called completion method (that is normally used to generate additional rules to make a CHR program confluent).

  • Johannes Langbein, Frank Raiser, Thom Frühwirth: A state equivalence and confluence checker for CHR. In P. Van Weert and L. De Koninck, editors, CHR '10: Proc. 7th Workshop on Constraint Handling Rules. K.U.Leuven, Department of Computer Science, Technical report CW 588, July 2010.
  • Lecture "Rule-based Programming"

B/M: Program Slicing by Confluence and Completion (Frühwirth)

Program slicing is a program anaylsis technique whereby one extracts properties and relationships of variables in a program by removing from the program all statements that do not effect the assignments of the variables. In the context of constraint programming and Constraint Handling Rules that deal with logical relations (predicates) this amounts to the logical operation of variable projection. This means that we remove unwanted variables that are not of interest from the program by program transformation. This transformation can be accomplished by adapting the technique of "completion". It is usually used to make a non-confluent program confluent.

  • Johannes Langbein, Frank Raiser, Thom Frühwirth. A state equivalence and confluence checker for CHR. In P. Van Weert and L. De Koninck, editors, CHR '10: Proc. 7th Workshop on Constraint Handling Rules. K.U.Leuven, Department of Computer Science, Technical report CW 588, July 2010.
  • Lecture "Rule-based Programming

B/M: Program Slicing by Confluence and Completion (Frühwirth)

M: Repeated Recursion Unfolding for Super-Linear Speedup (Frühwirth)

Repeated recursion unfolding is a new approach that repeatedly unfolds a recursion with itself and simplifies it while keeping all unfolded rules. Each unfolding doubles the number of recursive steps covered. This reduces the number of recursive rule applications to its logarithm at the expense of introducing a logarithmic number of unfolded rules to the program. Efficiency crucially depends on the amount of simplification inside the unfolded rules. A super-linear speedup is provably possible in the best case, i.e. speedup by more than a constant factor. The optimization can lower the time complexity class of a program.

The goal is to implement this optimization scheme as a program transformation in the programming language of choice. If necessary, the scheme should be transferred from recursion to iteration constructs such as loops.

  • Thom Frühwirth: Runtime Repeated Recursion Unfolding in CHR: A Just-In-Time Online Program Optimization Strategy That Can Achieve Super-Linear Speedup, 2023 (DOI: 10.48550/arXiv.2307.02180)

Prerequisite

  • Excellent knowledge and programming skills in the choosen programming language.

M: CHR Abstract Machine (Rechenberger, Frühwirth)

Prolog (WAM) and then Java (JVM) popularized the concept of an abstract (or virtual) machine to implement programming languages in a systematic, portable yet efficient way. Such a machine shall be developed for CHR.

Define the abstract code instructions for CHR and to implement them.

  • Lecture Compiler Construction (Compilerbau) (optional but very helpful)

M: Structured Literature Research on CHR Implementations (Rechenberger, Frühwirth)

The declarative programming language Constraint Handling Rules (CHR) is designed as a language extension to other, not necessarily declarative programming languages. There are existing implementations for Prolog , C , Java , JavaScript , and others. We want to conduct a Structured Literature Research (SLR) on existing implementations, to get an exhaustive overview over implementation techniques and patterns.

  • Conduct an SLR on papers on existing CHR implementations
  • Find CHR implementations without a scientific publication on public repositories on, e.g. GitHub, GitLab, ...
  • Identify and document common architectures, implementation techniques and patterns
  • Get an exhaustive overview over existing and historic CHR implementations
  • T. Frühwirth: Constraint Handling Rules - What Else?
  • S. Sneyers et al.: As time goes by: Constraint Handling Rules
  • P. Van Weert: Efficient Lazy Evaluation of Rule-Based Programs
  • P. Van Weert, P. Wuille, T. Schrijvers, B. Demoen: CHR for Imperative Host Languages
  • F. Nogatz, T. Frühwirth, D. Seipel: CHR.js: A CHR Implementation in JavaScript
  • Dragan Ivanović: Implementing Constraint Handling Rules as a Domain-Specific Language Embedded in Java
  • Interest in programming languages and (to some extend) compiler construction.
  • Good knowledge of multiple programming languages and paradigms.

Sascha Rechenberger

B/M: Failure in FreeCHR (Rechenberger, Frühwirth)

FreeCHR aims to be a sound and complete embedding framework for CHR. Hence, we want to extend the operational semantics by possibly failing computation, as they are necessary for the development of constraint solvers and other software.

  • Extend the very abstract operational semantics of FreeCHR, such that they can model possibly failing computations
  • Prove soundness and completeness w.r.t. the v ery abstract operational semantics of CHR
  • Optional : Develop an execution algorithm and prove correctness w.r.t. the new operational semantics
  • S. Rechenberger, T. Frühwirth: FreeCHR - An Algebraic Framework for CHR Embeddings
  • T. Frühwirth: Constraint Handling Rules (ISBN: 978-0-521-87776-3 )
  • Interest in formal aspects of programming languages
  • Interest/knowledge in category theory and/or type systems is recommended
  • Knowledge in functional programming, especially monads

B/M: Stateful Computations in FreeCHR (Rechenberger, Frühwirth)

FreeCHR aims to be a sound and complete embedding framework for CHR. Hence, we want to extend the operational semantics by stateful computation, as they are common in many programming languages.

  • Extend the very abstract operational semantics of FreeCHR, such that they can model stateful computations

M: Abstract Operational Semantics for FreeCHR (Rechenberger, Frühwirth)

FreeCHR aims to be a sound and complete embedding framework for CHR. The abstract operational semantics are a next step in the direction of modelling the necessities of real-life programming languages. Hence, we want to re-formalize them in the context of FreeCHR and establish soundness and completeness.

  • Formalize the abstract operational semantics ω t of CHR in the terms of (side-effect free) FreeCHR
  • Prove soundness and completeness of the new definition
  • Google Meet
  • Mobile Dialer

bachelor thesis topics software engineering

Resent Search

image

Management Assignment Writing

image

Technical Assignment Writing

image

Finance Assignment Writing

image

Medical Nursing Writing

image

Resume Writing

image

Civil engineering writing

image

Mathematics and Statistics Projects

image

CV Writing Service

image

Essay Writing Service

image

Online Dissertation Help

image

Thesis Writing Help

image

RESEARCH PAPER WRITING SERVICE

image

Case Study Writing Service

image

Electrical Engineering Assignment Help

image

IT Assignment Help

image

Mechanical Engineering Assignment Help

image

Homework Writing Help

image

Science Assignment Writing

image

Arts Architecture Assignment Help

image

Chemical Engineering Assignment Help

image

Computer Network Assignment Help

image

Arts Assignment Help

image

Coursework Writing Help

image

Custom Paper Writing Services

image

Personal Statement Writing

image

Biotechnology Assignment Help

image

C Programming Assignment Help

image

MBA Assignment Help

image

English Essay Writing

image

MATLAB Assignment Help

image

Narrative Writing Help

image

Report Writing Help

image

Get Top Quality Assignment Assistance

image

Online Exam Help

image

Macroeconomics Homework Help

image

Change Management Assignment Help

image

Operation management Assignment Help

image

Strategy Assignment Help

image

Human Resource Management Assignment Help

image

Psychology Assignment Writing Help

image

Algebra Homework Help

image

Best Assignment Writing Tips

image

Statistics Homework Help

image

CDR Writing Services

image

TAFE Assignment Help

image

Auditing Assignment Help

image

Literature Essay Help

image

Online University Assignment Writing

image

Economics Assignment Help

image

Programming Language Assignment Help

image

Political Science Assignment Help

image

Marketing Assignment Help

image

Project Management Assignment Help

image

Geography Assignment Help

image

Do My Assignment For Me

image

Business Ethics Assignment Help

image

Pricing Strategy Assignment Help

image

The Best Taxation Assignment Help

image

Finance Planning Assignment Help

image

Solve My Accounting Paper Online

image

Market Analysis Assignment

image

4p Marketing Assignment Help

image

Corporate Strategy Assignment Help

image

Project Risk Management Assignment Help

image

Environmental Law Assignment Help

image

History Assignment Help

image

Geometry Assignment Help

image

Physics Assignment Help

image

Clinical Reasoning Cycle

image

Forex Assignment Help

image

Python Assignment Help

image

Behavioural Finance Assignment Help

image

PHP Assignment Help

image

Social Science Assignment Help

image

Capital Budgeting Assignment Help

image

Trigonometry Assignment Help

image

Java Programming Assignment Help

image

Corporate Finance Planning Help

image

Sports Science Assignment Help

image

Accounting For Financial Statements Assignment Help

image

Robotics Assignment Help

image

Cost Accounting Assignment Help

image

Business Accounting Assignment Help

image

Activity Based Accounting Assignment Help

image

Econometrics Assignment Help

image

Managerial Accounting Assignment Help

image

R Studio Assignment Help

image

Cookery Assignment Help

image

Solidworks assignment Help

image

UML Diagram Assignment Help

image

Data Flow Diagram Assignment Help

image

Employment Law Assignment Help

image

Calculus Assignment Help

image

Arithmetic Assignment Help

image

Write My Assignment

image

Business Intelligence Assignment Help

image

Database Assignment Help

image

Fluid Mechanics Assignment Help

image

Web Design Assignment Help

image

Student Assignment Help

image

Online CPM Homework Help

image

Chemistry Assignment Help

image

Biology Assignment Help

image

Corporate Governance Law Assignment Help

image

Auto CAD Assignment Help

image

Public Relations Assignment Help

image

Bioinformatics Assignment Help

image

Engineering Assignment Help

image

Computer Science Assignment Help

image

C++ Programming Assignment Help

image

Aerospace Engineering Assignment Help

image

Agroecology Assignment Help

image

Finance Assignment Help

image

Conflict Management Assignment Help

image

Paleontology Assignment Help

image

Commercial Law Assignment Help

image

Criminal Law Assignment Help

image

Anthropology Assignment Help

image

Biochemistry Assignment Help

image

Get the best cheap assignment Help

image

Online Pharmacology Course Help

image

Urgent Assignment Help

image

Paying For Assignment Help

image

HND Assignment Help

image

Legitimate Essay Writing Help

image

Best Online Proofreading Services

image

Need Help With Your Academic Assignment

image

Assignment Writing Help In Canada

image

Assignment Writing Help In UAE

image

Online Assignment Writing Help in the USA

image

Assignment Writing Help In Australia

image

Assignment Writing Help In the UK

image

Scholarship Essay Writing Help

image

University of Huddersfield Assignment Help

image

Ph.D. Assignment Writing Help

image

Law Assignment Writing Help

image

Website Design and Development Assignment Help

bachelor thesis topics software engineering

150 Best Research Paper Topics For Software Engineering

Software Engineering is a branch which deals with the creation and improvement of software applications using specific methodologies and clearly defined scientific principles. When developing software products, certain procedures must be followed, the outcome of which is a reliable and reliable software product. Software is a collection of executable code for programs with associated libraries. Software that is designed to meet certain requirements is referred to as a Software Product . This is an excellent subject for a master's thesis, research, or project. There are a variety of topics within Software Engineering which will be useful to M.Tech and other students studying for their masters to write their software thesis.

What is the reason Software Engineering is required?

Software Engineering is necessary due to the frequent shifts in the requirements of users as well as the environment. Through yourch and thesis, you will learn more about the significance of Software Engineering. Here are some other areas in software engineering that are needed:

  • Big Software: The massive dimension of software makes it necessary for the requirements in software engineering .
  • Scalability The concept of scaling Software Engineering makes it possible to increase the size of existing software rather than develop brand-new software.
  • Cost Price Software Engineering also cuts down the manufacturing cost that is incurred during software development.
  • The dynamic nature of Software - Software Engineering is a crucial factor when the need for new features is to be made in software in place, in the event that the nature of software is fluid.
  • Better Quality Management - Software Engineering can provide more efficient software development processes to provide superior-high-quality services .

Best Research Paper Topics on Software

  • Software Engineering Management Unified Software Development Process and Extreme ProgrammingThere are a lot of difficulties with managing the development of software for web-based applications and projects for systems integration that were completed in recent times.
  • The Blue Sky Software Consulting Company Analysis
  • Blue Sky Software Consulting Blue Sky Software Consulting company has seen great success over 15 years. The company is not as well-equipped for the current market.
  • LabVIEW Software: Design Systems of Measurement
  • LabVIEW is a software program that was created to design systems for measurement. LabVIEW gives you a range of instruments to control the process in an experiment.
  • Software-producing Firm Reducing Inventory
  • The link between the reduction in inventory levels and the number of orders is evident. An organization that produces software may think of increasing the amount of software to a lower level.
  • Moet Hennessy - Louis Vuitton: Enterprise Software
  • The report will demonstrate how the introduction of ERP will help LVHM Group improve its results by improving its inventories, logistics and accounting.
  • Virtualization and Software-Defined Networking
  • The goal of this paper is to analyze the developments in the field of virtualization, software-defined networks and security for networks in the last three years.
  • Computer Hardware and Software Components
  • Computers that were developed at the time of the 40s of 1940 have evolved into complex machines that require software and hardware for their operation.
  • Applications, Software and System Development
  • The usage the Microsoft Office applications greatly enhance productivity in the classroom as well as at work and during everyday activities at home.
  • PeopleSoft Inc.'s Software Architecture and Design
  • With the PIA architecture, any company with an ERP application can access all of its operations through a Web browser.
  • Co-operative Banking Group's Enterprise Software
  • The report demonstrates how the implementation of the ERP system within the Co-operative Banking Group will help in improving the company's accounting, inventory and accounting practices as well as logistics processes.
  • Software Testing: Manual and Automated Web-Application Testing Tools
  • This research is an empirical study of automated and manual web-based application testing tools to determine the best tool for testing software.
  • JDA Software Company's Services
  • JDA Software is a company that has proven its worth in the development of services in areas like manufacturing, wholesale distribution, retailing and travel.
  • Data Management, Networking and Enterprise Software
  • Enterprise software is typically developed "in-house" and thus has an inflated cost when contrasted to purchasing the software from another firm.
  • Software Workshops and Seminars Reflections
  • Most seminars inspire participants to use their potential as they strive to attain their goals.
  • The Various Enterprise Resource Planning Software Packages
  • This paper's purpose is to provide an overview of the various Enterprise Resource Planning (ERP) software applications that are widely employed by companies to manage their business operations.
  • Explore Factors in IBM SPSS Statistical Software
  • The "Explore" or "Explore" command in IBM SPSS generates an output with a variety of stats for a single variable, across the entire sample or in sections of the sample.
  • Split Variables in IBM SPSS Statistical Software
  • It is the IBM SPSS software provides an option to split files into groups. The members of cases within groups can be determined by the values of split variables in this particular instance.
  • Syntax Code Writing in Statistical Software
  • The process of analyzing quantitative data by using IBM SPSS software package IBM SPSS software package often involves performing a variety of operations to calculate the statistical data for the information.
  • Data Coding in Statistical Software
  • Data coding is of utmost importance when a proper analysis of this data has to be conducted. Data coding plays an important function when you need to make use of statistical software.
  • Software Piracy at Kaspersky Cybersecurity Company
  • Software piracy is a pressing current issue that is manifested both locally with respect to an individual company and also globally.
  • Hotjar: Web Analytics Software Difference
  • This report examines Hotjar, which is a web-based analytics tool that comes with a full set of tools to evaluate. This paper examines its strengths and advantages, as well showing how it can aid in the management of decision-making.
  • Avast Software: Company Analysis
  • Avast Software is a globally well-known multinational company that is an industry leader in providing security solutions for both business and individual customers.
  • Project Failure, Project Planning Fundamentals, and Software Tools and Techniques for Alternative Scheduling
  • From lack of communication to generally unfavourable working conditions, Projects may fail when managers fail to prepare for their implementation.
  • Computer Elements such as Hardware and Software
  • Personal computers are usually different from computers used for business in terms of capabilities and the extent of technology used within the equipment.
  • Review of a New Framework for Software Reliability Measurement
  • This study draws upon the in-depth study of the software reliability measurement methods and the suggestion of a fresh foundation for reliability measurement built on the software metrics studied in the work of Amar as well as Rabai.

Good Software Research Topics & Essay Examples

  • Task Management Software in Organization
  • The goal of the plan for managing projects is to present the process of creating task management software that can be integrated into the context of the company.
  • A task management software plan's risk management strategy
  • The present study introduces us to the techniques for risk identification as well as quality assurance and a control plan and explains their significance.
  • Computer Software Development and Reality Shows
  • The growth of software in computers has been at such a fast rate over the last 10 years that it has impacted all aspects of our lives and every fibre of our being.
  • Scrum - Software Development Process
  • Digital systems and computerized systems have brought life to many areas. Scrum is a process for software development that guarantees high quality and efficiency.
  • Distribution of Anti-Virus Software
  • Numerous new threats are reported every fortnight. Cyberattacks, viruses, and other cyber-related threats are becoming an issue.
  • Marketing Plan: Innovative Type of Software Product
  • This paper will create an advertisement plan for the new kind of software, which will help to define the segment of clients and the price and communications platform.
  • Marketing System of Sakhr Software Co
  • The principal objective of this paper is to examine the marketing process in the same type of organization, like Sakhr Software Co.
  • Managing Information of Sakhr Software Co
  • This paper will examine the ideas of managing information for Sakhr Software, which is a well-known language software firm.
  • CRM Software in Amazon: Gains
  • The software for managing customers that Amazon.com developed is, from the beginning, one of the latest technology.
  • Neurofeedback Software and Technology Comparison
  • MIDI technology helps make the making of, learning or playing more enjoyable. Mobile phones and computer keyboards for music, computers etc., utilize MIDI.
  • PeopleSoft Software and HR.net Enterprise Software
  • With the help of HRIS software, HR employees are able to manage their own benefits updates and make changes, allowing them to take more time to focus on other important tasks.
  • Business Applications: Revelation HelpDesk by Yellow Fish Software
  • "Revelation HelpDesk" is an online Tracking and Support Software that facilitates seamless coordination to occur between the most important divisions within an organization.
  • 3D signal editing methods and editing software for stereoscopic movies
  • 3D editing for movies is one of the newest trends and is among the most complex processes in the modern film industry.
  • ERP Software in Inventory Management
  • Management of inventory ERP applications will be useful when a business has to manage the manner in which it gets goods and cleans up the merchandise.
  • The Capabilities of Compiere Software and How Well It Fits Into Different Industries
  • It is the ERP software Compiere can be used by a wide variety of users, including governments, businesses as well as non-governmental organizations (NGOs).
  • Software Tools for Qualitative Research
  • This paper reviews software tools to solve complicated tasks in the analysis of data. The paper compares NVivo, HyperRESEARCH, and Dedoose.
  • Data Scientist and Software Development
  • Data scientists convert data into insights, giving elaborate guidance to those who use the data to make educated decisions and take action.
  • IPR Violations in Software Development
  • The copyright law protects only the declaration but not the software concept. It prohibits copying code from the source without asking permission.
  • Health IT: Epic Software Analysis
  • Implementation and adoption of Health IT systems are crucial to improve the efficiency of medical practices, efficiency of workflow as well as patient outcomes.
  • Agile Software Development Process
  • The agile process for software development offers numerous benefits, such as the speedy and continuous execution of your project.
  • Project Management Software and Tools Comparison
  • The software is used by managers to ensure that there isn't any worker who is receiving more work than others and also to ensure that no worker is falling behind in their job.
  • Visually impaired people: challenges in Assistive Technology Software
  • Blind people suffer from a number of disadvantages each day while using digital technology. The various types of software and software discussed in this paper have been specifically designed to help improve the lives of blind people.
  • WBS completion and software project management
  • The PERT's results resulted in the development of The Gantt chart. This essay provides an account of the method of working with the Gantt chart.
  • International Software Development's Ethical Challenges: User-Useful Software
  • The importance of ethics is when it comes to software development. It helps the creator to create software that will be useful for the user as well as the management.
  • Achieving the Optimal Process. Software Development
  • The industry of software development is growing rapidly as the requirements of users change. This requires applications to meet these needs.

Innovative Software to Blog About

  • System Software: Analysis of Various Types of System Software
  • The paper provides opinions on the various system softwares using their strengths and weaknesses from the personal experiences of the creator.
  • Sakhr Software Co.'s Marketing System
  • The principal goal of this paper is to study the uniqueness of the system of marketing in such an organization as Sakhr Software Co from Kuwait, which specializes in NLP.
  • Program Code in Assembly Language Using Easy68K Software
  • A typical scenario is described in the report to write program code in assembly language with Easy68K software. The appropriate tests were carried out with success and outputs.
  • Benefits and Drawbacks of Agile Software Development Techniques
  • The use of agile methodologies in the software development process contributes to the improvement of work as well as the effectiveness of performance.
  • The use of agile methodologies in the development of software contributes to the efficiency of work and efficiency of performance.
  • Large Scale Software Development
  • This report gives information on this Resource Scheduling project. It can be useful to an advisory firm that offers various types of resources.
  • Penguin Sleuth, a Forensic Software Tool
  • The primary goal of this paper is to examine the various tools for forensic analysis and also provide a comprehensive overview of the functions available for each tool or tool pack.
  • System Software: Computer System Management
  • Computer software comprises precise preprogrammed instructions that regulate and coordinate hardware components of the computer.
  • Ethical Issues Involved in Software Project Management
  • Ethics within IT have been proven to be very different from other areas of ethics. Ethics issues in IT are usually described as having little.
  • Advantages and Disadvantages of Software Suites
  • Computer software comprises specific preprogrammed commands that control and coordinate computer hardware components of an info system.
  • Descriptive Statistics Using SPSS Software Suite
  • This paper focuses on the process of producing the descriptive statistical analysis by using SPSS. The purpose of this article is to make use of SPSS to perform an analysis of descriptive data.
  • Software Development: Creating a Prototype
  • The aim of this article is to develop an experimental software program that can be utilized to aid breast cancer patients.
  • Software Engineering and Methodologies
  • The paper explains how the author learned the software engineering process and methods as an outcome of his experiences at BTR IT Consulting Company.
  • Information System Hardware and Software
  • Information technology covers a wide variety of applications in which computer software, along with hardware, is employed.
  • Software Development Project Using Agile Methods
  • The report will provide reasons behind why the agile methodology was chosen, the method used, how the team applied this methodology, and also the lessons learned from the massive project of software development.
  • Flight Planning Software and Aircraft Incidents
  • Software for flight planning refers to programs utilized to control and manage flights and other procedures while the plane is in flight.
  • Hardware and Software Systems and Criminal Justice
  • One of the primary techniques used to decrease the chance of criminal activity is crime mapping. This involves collecting information on crimes and their causes and then analyzing it in order to identify issues.
  • Why Open-Source Software Will (Or Will Not) Soon Dominate the Field of Database Management Tools
  • The research aims to determine whether open-source software will rule the field of the database since there is an evolution in the market for business.
  • Business HRM Software and the Affordable Care Act
  • The Affordable Care Act has its strengths but also flaws. The reason is the complex nature of the law that creates a variety of challenges.
  • Antivirus Software Ensuring Security Online
  • Although it's not perfect and fragmentary, it can be seen as a supplement and not the sole instrument; antivirus software will help protect one's privacy online.
  • Evaluating Teaching Instructional Software for 21st-Century Technology Resources
  • The software for teaching Joe Rock and Friends Book 2 is designed for third-grade students who are studying English as an additional language to read and learn new vocabulary.
  • Britam Insurance Company's Sales and Marketing Management Software
  • Britam Insurance Company needs to implement the latest marketing and management software in order to keep its place at the forefront of the extremely competitive insurance market.
  • Software Programs: Adobe Illustrator
  • With Adobe Illustrator, users can quickly and precisely create various products, like logos, icons as well as drawings.
  • Strawberry Business: Software Project Management
  • Although the company has an established management strategy as well as a team of employees and efficient information systems, it lacks a standardized workplace culture and customer relations systems.
  • Value of Salesforce Software Using VRIO Model
  • Salesforce CRM software is created to help managers manage their businesses effectively. It connects all teams and managers and collects and manages customer information.
  • Agile software development, as well as popular variations like Scrum, are the foundation for the work of a variety of testers and developers. No matter what team or method you're currently using, you can get expert guidance on process structure and the skills required to use Lean, Agile, DevOps, Waterfall and more to help you implement it for your business.

Most Interesting Software Research Titles

  • What Are the Essential Attributes of Good Software?
  • How Computer Software Can Be Used as a Tool for Education
  • Accounting Software and Application Software
  • Online National Polling Software Requirements Specification
  • Building Their Software for a Company's Success
  • The Role of Antivirus Software in Protecting Your Computer Data
  • Intellectual Property Rights, Innovation and Software Technologies
  • Software Piracy and the Canadian Piracy Act
  • For the development of software projects, agile methodologies and their Waterscrumfall derivative are used.
  • Software Tools for Improving Underground Mine Access Layouts
  • How Software Can Support Academic Librarians' Changing Role
  • Using the Untangle Software to Overcome Obstacles for Small Businesses
  • By employing travel portal software, online booking sales will increase.
  • Analysis of Network Externality and Commercial Software Piracy
  • Accounting Software and Business Solutions
  • Analysis of Key Issues and Effects Relating to International Software Piracy
  • The Distinction Between Computer Science and Software Engineering
  • Modulation: Computer Software and Unknown Music Virus
  • Math Software for High School Students with Disabilities
  • Keyboarding Software Packages: Analysis and Purchase Recommended
  • Basic Software Development Life Cycle
  • India's Problems with Software Patents, Copyright, and Piracy
  • Why Has India Been Able to Build a Thriving Software Industry
  • Does Social Software Increase Labour Productivity
  • The Role of Open Source Software for Database Servers

Simple Software Essay Ideas

  • Human Capital and the Indian Software Industry
  • Input-Output Computer Windows Software
  • Business Software Development and Its Implementation
  • Evaluating Financial Management Software: Quicken Software
  • Which governance tools are important in Africa for combating software piracy?
  • Distinguish Between Proprietary Software and Off-The-Shelf
  • Does Social Software Support Service Innovation
  • Ambulatory Revenue Management Software
  • Difference Between Operating Systems and Application Software
  • Leading a Global Insurgency in the Software Sector are China and India
  • Call Accounting Software for Every Enterprise
  • Technology Standards for Software Outsourcing
  • The Importance of the Agile Approach for Software Development
  • Application Software: Publisher, Word, and Excel
  • Employee Monitoring Through Computer Software
  • Software Development Lifecycle and Testing's Importance
  • Tools for Global Conditional Policy to Combat Software Piracy
  • Software for Designing Solar Water Heating Systems
  • Open Source Software, Competition, and Potential Entry
  • Indian Software Industry: Gains are distorted and consolidated
  • Software Programs for Disabled Computer Users and Assistive Technology
  • Agile Software Architecture, Written by Christine Miyachi
  • Software Development: The Disadvantages of Agile Methods
  • Computer Software Technology for Early Childhood
  • Developing Test Automation Software Development

Easy Software Essay Topics

  • Growth Trends, Barriers, and Government Initiatives in the Indian Software Industry
  • How Does Enterprise Software Enable a Business to Use
  • Integrated Management Software the Processing of Information
  • Computer Software Training for Doctor's Office
  • Software Intellectual Property Rights and Venture Capitalist Access
  • Computer Science Software Specification
  • Software Projects and Student Software Risk Exposure
  • Why It Is Difficult to Create Software for Wireless Devices
  • Affiliate Tracking Software Your Payment Options
  • How Can Volkswagen Recover From the Cheating Issues It Had Because Illegal Software Was Installed?
  • Principles of Best Forensic Software Tool
  • The American Software Industry: A Historical Analysis
  • How Peripheral Developers Contribute to the Development of Open-Source Software
  • Agile Methodologies for Software Development
  • Key Macroeconomic Factors That Affect Software Industry
  • The Software Industry and India's Economic Development
  • Improving Customer Service Through Help Desk Software
  • Enterprise Resource Planning and Sap Software
  • Antivirus Software and Its Importance
  • Hardware and Software Used in Public Bank
  • The Effects of Computer Software Piracy on the Global Economy
  • Using the Winqsb Software in Critical Path Analysis
  • General Information About Interactive Multimedia-Based Educational Software
  • How Affiliate Tracking Software Can Benefit You
  • Computer Software and Recent Technologies

Frequently asked questions

What are the main topics of software engineering .

software development.

  • Introduction
  • Models and architecture for software development
  • Project management for software (SPM)
  • Software prerequisites
  • Testing and debugging software

What makes good research in software engineering ?

The most typical research strategy in software engineering is coming up with a novel method or methodology, validating it through analysis, or demonstrating its application through a case study;

What projects are good for software engineering ?

  • monitoring of Android tasks.
  • Analyzing attitudes to rate products
  • ATM with a fingerprint-based method.
  • a modern system for managing employees.
  • Using the AES technique for image encryption.
  • vote-by-fingerprint technology.
  • system for predicting the weather

What are the research methods in software engineering ?

We list and contrast the five categories of research methodology that, in our opinion, are most pertinent to software engineering: controlled experiments (including quasi-experiments); case studies (both exploratory and confirmatory); survey research; ethnographies; action research; and controlled experiments.

Is software engineering a research area ?

A relatively recent area of research, software engineering is derived from computer science. Its significance has been generally acknowledged by more and more academics in the field of computers throughout the course of six decades, from 1948 to the present, and it has developed into a vibrant and promising division of the computing profession.

Is software engineering easy ?

Yes, learning software engineering can be challenging at first, especially for those without programming or coding experience or any background in technology. However, numerous courses, tools, and other resources are available to assist with learning how to become a software engineer.

Who is the father of software engineering ?

The "father of software quality," Watts S. Humphrey, was an American software engineering pioneer who lived in Battle Creek, Michigan (U.S.) from July 4, 1927, to October 28, 2010.

What do you do in software engineering ?

  • roles and tasks for software engineers
  • creating and keeping up software systems.
  • testing and evaluating new software applications.
  • software speed and scalability optimization.
  • code creation and testing.
  • consulting with stakeholders such as clients, engineers, security experts, and others.

Which is better it or software engineering ?

IT support engineers cannot build sophisticated solutions, while software engineers can. In a word, they are in charge of creating and putting into use software. Knowing the distinctions makes it easier to choose the right individual to handle our tech-related problems.

Are junior software engineers in demand ?

Yes, there is a need for young coders.

Is software engineering going down ?

Software experts and software goods are oversaturating the job market for software engineers.

What degree do I need to be a software engineer ?

undergraduate degree

Can I be a software engineer without a degree ?

Many software developers lack a degree from a reputable university (or, in some circumstances, none at all).

How many years can a software engineer work ?

An engineer who wants to work in IT has a 15–20 year window.

How many hours do software engineers work ?

Software developers put in 8 to 9 hours each day, or 40 to 45 hours per week.

bachelor thesis topics software engineering

Top 10 Best Universities Ranking list in India 2022

Generic Conventions: Assignment Help

Generic Conventions: Assignment Help Services

Research Paper Topics For Medical | AHECounselling

Research Paper Topics For Medical

Top 5 Resources for Writing Excellent Academic Assignmentsb

Top 5 Resources for Writing Excellent Academic Assignments

How to Write a Literature Review for Academic Purposes

How to Write a Literature Review for Academic Purposes

bachelor thesis topics software engineering

Tips for Writing a killer introduction to your assignment

How To Write A Compelling Conclusion For Your University Assignment

How To Write A Compelling Conclusion For Your University Assignment

Social Science, research ideas

Research Papers Topics For Social Science

Best 150 New Research Paper Ideas For Students

Best 150 New Research Paper Ideas For Students

7 Best Plagiarism Checkers for Students And Teachers in 2024

7 Best Plagiarism Checkers for Students And Teachers in 2024

Enquiry form.

Secure your free spot at Excelerate Connect career event in Copenhagen

  • Student profile
  • Employer profile

Excelerate ApS Strandlodsvej 44, 3. sal 2300 Copenhagen, Denmark

[email protected]

Excelerate

IT & Computer Science THESIS AND RESEARCH TOPICS

Information technology (IT) and computer science research topics propel the digital age and landscape, shaping AI, cybersecurity, and user-friendly interfaces to revolutionize industries, societies, and human experiences. View all our IT and computer science thesis topics below.

Click on a research area to find inspiration.

bachelor thesis topics software engineering

Select semesters to find inspiration from.

  • Fall 2021 1
  • Fall 2023 4
  • Fall 2024 1
  • Spring 2022 5
  • Spring 2023 10
  • Spring 2024 11

Select universities to find inspiration from.

  • Roskilde University 1
  • Aalborg University 2
  • Aarhus University 2
  • Technical University of Denmark 4
  • IT University of Copenhagen 11
  • Copenhagen Business School 5
  • University of Southern Denmark 2
  • University of Copenhagen 4

Select academic degrees to find inspiration from.

  • Bachelor of Arts 0
  • Bachelor of Science 0
  • Candidate 3
  • Erhvervsakademiuddannelse 0
  • Master of Arts 1
  • Master of Science 12
  • Clear filters

Overview of IT & Computer Science topics for bachelor and master thesis project

Find IT and computer science research topics and themes in artificial intelligence (AI), machine learning (ML), IT security, software engineering, data science, UX/UI, NLP, app development, human-computer interaction (HCI), and much more! Be inspired on your tech journey here.

  • Technical University of Denmark
  • Master of Science
  • Spring 2024

Technical University of Denmark

IT & Computer Science

Web App Development

UI/UX Design

Knowledge Sharing

Validating and Testing

Knowledge Sharing Web Application Development Project

Interactive software development by engaging users and main stakeholders

Are you seeking a collaboration for developing a brand new or refine an already existing web based application? Then look no further, this is the right place to be as the main goal of this project is to provide the best possible results uniquely tailored to its stakeholders needs using a user-centric approach.  As a starting point, this is a Master's Thesis Project for which I am seeking collaborators and the first idea of the project is to develop a knowledge sharing platform with educatio...

bachelor thesis topics software engineering

1 x MSc in Engineering (Computer Science and Engineering)

  • University of Southern Denmark

University of Southern Denmark

Design Innovation

Design research

Product innovation

User experiences on play

Research on experiences

Exploring the Lived Experience of Play: A Phenomenological Inquiry

How play is experienced and what the implications are for design.

The act of play is a fundamental aspect of human life, influencing various domains such as creativity, social interaction, well-being, and personal development. Despite its ubiquity, the subjective nature of play remains relatively unexplored. This research proposes a phenomenological inquiry into the lived experiences of play, aiming to uncover the intricate ways individuals engage with and perceive play in diverse contexts.   Background and Rationale:   Play encompasses a wide ra...

1 x Cand.it. i Produkt Design

  • University of Copenhagen

University of Copenhagen

Quantum Computing

Climate Modeling

Environmental Simulation

Algorithm Development

Data Analysis in Climate Science

Leveraging Quantum Computing for Enhanced Climate Modeling and Simulation

Harnessing Quantum Power for Climate Insights: A New Era in Environmental Modeling

Introduction With its ability to solve complex computational problems more efficiently than classical computing, quantum computing has emerged as a promising field. This thesis presents an opportunity to explore the application of quantum computing in the crucial domain of climate modeling and simulation. By developing and assessing quantum-enhanced models, we can achieve more accurate predictions of weather patterns, ocean currents, and the impact of greenhouse gases. This research has the pote...

1 x MSc in Computer Science

Digital Healthcare

Patient-Clinic Communication

Medical Data Security

Healthcare Mobile Application

Universal Patient-Clinic Communication Application

Overview  The proposed thesis focuses on developing a comprehensive application designed to streamline and enhance communication between patients and clinics. This multifunctional platform aims to cover all aspects of medical interaction, from appointment booking to surgery scheduling. It will facilitate the maintenance of digital medical records, including receipts and reports like scans and X-rays, ensuring transparency and accessibility for patients. Motivation: The primary motivation be...

Other

Cybersecurity

Energy Consumption

IoT Architecture

Optimizing IoT Efficiency: Enhancing Performance While Ensuring Security

Advancing Energy-Efficient and Secure IoT Solutions: A Collaborative Research Initiative

In the era of digital transformation, the Internet of Things (IoT) stands as a cornerstone of innovation and efficiency. Our research project, titled "Optimizing IoT Efficiency: Enhancing Performance While Ensuring Security," aims to advance the standards of operational efficiency and security in IoT systems. Our thesis project will conduct an in-depth evaluation of your current IoT system architecture, focusing on optimizing energy usage while maintaining effective security. By dissecting the i...

1 x Cybersecurity

  • Aalborg University

Aalborg University

User Experience

Machine Learning

Digital Product Design

Data-driven Insights

User-Centered Design

Crafting Exceptional User Experiences: A Data-Driven Approach to Digital Product Design

Enhancing User Experience, Fostering Innovation, and Guiding Informed Decision-Making in Digital Product Development

Introduction  In today's dynamic digital landscape, organizations spanning diverse sectors face an ongoing challenge: the continuous enhancement of user experience (UX) and innovation in their digital products and services. This thesis proposal presents a dynamic framework that seamlessly merges user-centred design principles with data-driven insights, enhanced by machine learning, with a sharp focus on elevating UX and stimulating product innovation. This proposal outlines an adaptable fra...

1 x MSc in Information Science (Information Studies)

1 x Cand.it. i Information Science (Information Studies)

  • Aarhus University

Aarhus University

Cyber Security

Business Development

Cyber Security Strategies in an AI Generation

The unique challenges SME's face in securing their digital assets and data, and how they can implement robust security protocols in an AI generation.

This thesis will investigate practical, scalable cybersecurity strategies for small and medium-sized enterprises (SMEs). Recognizing the unique challenges SMEs face, such as limited budgets and expertise, the study will focus on identifying cybersecurity threats specific to SMEs and evaluating affordable, efficient security solutions with AI. The research will include a survey of current cybersecurity risks, an assessment of various security frameworks and tools suitable for SMEs, and interviews...

1 x Msc in Technology based Business Development

Optimization

Data Management

Education Sector

Optimization of Data Management and Compliance in the Education Sector through Chatbots

Enhancing Efficiency and Security with AI-Powered Solutions

I wish to examine how chatbots, powered by artificial intelligence (AI), can play a crucial role in optimizing data management and security compliance in the education sector. Chatbots have become increasingly sophisticated, and their potential in terms of data management and compliance is only beginning to be explored. The focus will be on key areas, such as the implementation of chatbots in the education sector, including how chatbots can be effectively integrated into the school's IT environm...

1 x Cand.it. i Webkommunikation

Rsk assesment

Quantative analysis

Data analysis

Machine Learning in the Financial Sector

Risk management, portfolio optimization

Machine Learning Project in Finance  The main goal for our Master Project is to implement different machine learning algorithms (including reinforcement learning and deep learning) in finance. We are mainly interested in testing the performance of these algorithms (with comparison to available approaches) in: 1.     Risk Assessment - assessing and managing risks in investment portfolios 2.     Portfolio Optimization - using algorithms to construct diversified portfolios ...

1 x MSc in Engineering (Business Analytics)

IT-implementation

Project management

Change management

Data mangement

Process innovation

IT-implementation in company X

Streamlining processes through IT/data

How can technology or data contribute to streamlining the daily work in a company? And how can the company, through effective management, motivate the company to use the technology or data correct? This is what I want to examine in my master thesis. The company or organisation can be in the public or private sector in any given industry. A potential research question can be as following: "How can the organisation X use technology Y to streamline workflow, and which implication can appear during ...

1 x Cand.it. i IT, Kommunikation og Organisation (ITKO)

Website Redesign

Usability Enhancement

User-Centric Redesign

Graphic Design

UI/UX Design with a prototype

This thesis in website redesign would focus on the comprehensive overhaul and optimization of an existing website. This project would involve a deep analysis of the current website's user experience, design, functionality, and performance. The aim is to identify shortcomings and areas for improvement, taking into account user feedback and industry best practices. The thesis would propose and implement innovative design concepts, user interface enhancements, and potentially, the integration of cu...

Software Engineering

Agile Methodology

User-Centric Software Engineering Project

Leveraging agile principles and domain knowledge to deliver valueable software product

Are you looking for an eager collaboration partner to aid in the design, implementation and/or testing of a high-value software system? Does the project frame and scope lend itself to a thesis collaboration? Then I would be honored to assist! Ideally I am seeking an opportunity to contribute to a new or existing software project that places a strong emphasis on agile methodologies, user-centric development, and the utilization of contemporary technologies. While collaboration within a team is de...

  • Copenhagen Business School

Copenhagen Business School

Data Science

Deep Learning

Machine Learning applied to business context

How ML can bring value

The idea is to identify Machine Learning techniques that are appropriate to the existing framework of the company and industry. The main steps of Data Science Methodology will be applied:  -       Data Preprocessing with a focus on handling missing values, outliers, and noise.  -       Exploratory Data Analysis in order to uncover patterns, correlations, and potential anomalies within the data. -       Model Development: unsupervised/supervi...

1 x MSc in Business Administration and Data Science

  • Master of Arts

communication

Thesis in Communication & IT

Open for suggestions

Hello! We are three cand.IT students from Communication & IT at Københavns Universitet looking for someone to collaborate with on our master thesis. We have experience with: Analysing datasets Developing ideas to optimise workflows Design and innovation in relation to interfaces and IT-systems Previously, we have collaborated with several companies in relation to our education. We are open for suggestions on specific issues in your organisation or company, on which you could use some in...

1 x Cand.mag. i Kommunikation og IT

Innovative Solutions

Data Science Students

Efficiency Improvements

CSR related activities

Financial background

Open to Fine-Tune Solutions in Partnership with Your Company

We are two dedicated MSc students in Business Analytics and Data Science, seeking an collaboration with a company for our thesis project. About Us: - We both have a strong academic background in finance and economics - Our shared interests revolve around utilizing big data analytics, algorithms, and machine learning models to optimize processes and enhance workflows. - We are passionate about sustainability and Corporate Social Responsibility (CSR) initiatives. - Together, we have successfully c...

Mental Health Assessment

Adaptive Personalized Care

Conversational AI

Digital Therapeutic Interaction

Development and Implementation of an AI-Driven Mental Health Tool for Adaptive Patient Assessment and Psychiatrist Matching

Conversational AI x Mental Health

In the realm of healthcare, technology-driven solutions have become essential to assist patients, therapists, and support networks. In the context of mental health, where personalized care is paramount, the development of thoughtfully crafted technological tools is imperative. Individuals facing mental health challenges require solutions that align with their unique needs and capabilities. A well-designed user interface (UI) and an enriching user experience (UX) are critical for ensuring that th...

1 x MSc in Engineering (Human-Centered Artificial Intelligence)

  • Roskilde University
  • Spring 2023

Roskilde University

Data prediction using different machine learning models

Computer science

The main focus of this project is to work with real life problems and real life data. As the title suggests, we are thinking of using different methods to predict new data....

1 x Computer Science and Informatics

Research Interest

AI in practice

Internatiol Network

Human-ML Augmentation

How to improve fairness when augmenting human decisions with Machine Learning

MIS Quarterly The thesis will investigate how Machine Learning influences excisting Information Systems theories and their notions of fairness in collaboration and decision making. Artificial Intelligence and Machine Learning is already widely used and will be applied even more in the future. Sometimes machines are taught human biases and even extend those on a larger scale, this needs to be prevented by creating models sensitive to fairness. However in other cases machines and algorithms can en...

1 x Business Administration and Information Systems

  • IT University of Copenhagen

IT University of Copenhagen

Reduced costs

Process optimisation

Process automatisation from manual to automatic

Automatisation of a process

We are three student from IT-University who are writing a bachelor project focusing on processes. We are looking for a process were we can automate manual tasks with creating, storing or moving data in excel or other easy-accesible systems. The benefit of this automatizion will unlock possibilities for Business Intelligence and increased usage of the data and/or simply heap the benefits of reduced costs....

1 x Global Business Informatics

IT transformation

Participatory IT Design

Preliminary study in IT transformation

In recent years a lot of organizations are looking towards IT to solve business and organizational related problems. This means a lot of time and money are spend on a variety of projects, some with more success than others. This project is preliminary study of such a situation. Using the MUST-method, the project examines the feasibility of a future or existing IT solution to a given problem. The MUST-method is a hollistic approah where all affected parties in the organization is included, and ar...

1 x Software Development

Algorithmic management

human vs. technological

Efficiency and optimization

Bachelor thesis: Algorithmic Management in organizations

Bachelor of science - Global Business Informatics

We are a group of three Global Business Informatics students at ITU, in the midst of our bachelor's project. We share an interest in technologies that form and co-construct in relation to organizational structures and in that regard wish to explore this further with our project.  We intend to investigate the shifts in organizing principles that take form in the presence of algorithmic management technologies. We find this topic interesting due to the multiple aspects it presents: human vs. ...

Design process

User centered

Creative approach

Collaboration

How UX can help solve user pain points

Use our UX and design process skills to help illuminate problems and suggest solutions

We haven't set our minds on a thesis topic yet, but would rather use Excelerate as an opportunity for inspiration through collaboration. We are interested in finding user pain points or problematics, and through data collecting and design processes try to solve this problematics - potentially with Hi-Fi prototype(s). We hope to find these problematics through a collaboration, discussion or/and conversation with you as our potential partner. We especially find interest within the field of AI (fro...

1 x Digital Design and Interactive Technologies

  • Spring 2022

Ethical application

Better algorithms

Ethical applicationen of AI

How to make ethical algorithms

A while back an algorithm was implemented in jobcentres that predicted who were at risk for becoming long-term unemployed. When implemented it predicted that people above the age of 60 and those whose parents came from other countries were more likely to become unemployed. The algorithm did not solve a problem with unemployment, but instead just predicted the biases that employers have when they are looking to hire new employees.Instead an algorithm that focused on competences might have been mo...

1 x IT Management

Universities

Plagiarism Detection Systems

Evaluating the Efficacy of University Plagiarism Detection Systems in Verifying Student Authenticity of Knowledge in the Era of ChatGPT

Ensuring Academic Integrity in the Age of ChatGPT: An Assessment of University Plagiarism Detection Systems and their Effectiveness in Verifying Student Knowledge Authenticity

This thesis aims to evaluate the efficacy of plagiarism detection systems used by universities in verifying the authenticity of students' knowledge, specifically in the context of ChatGPT and similar AI models. By assessing the capabilities and limitations of these systems within the university environment, this research will explore whether they can effectively identify instances of plagiarism involving AI-generated content and ensure the authenticity of student work.  ...

decision-making

data science

Creating a business reporting app, as a method of quick response to threats

Nowadays proper information is crucial to achieve success - how coding can help us with it

My idea is to write about giving a proper information about e.g. amount of sold products to the team and managersd. My field of study is Data Science, so I want to create an app which will automate process of informing management about organisation's results. My idea is to begin why it is crucial to inform a team frequently and indroducing main methods to do so (including review literature and comparing different methods of doing it). Later my idea is to move to methodology where I will create a...

1 x MSc in Social Data Science

Mobile App Development

Application

Navigation App

Android Studio

Alternative way to indicate directions for the user

Mobile App development

My idea is to create an app that would direct a user from place A to B by giving vibration signals to the user.  The app would have a map on the interface and the user would insert where they want to go. Then the map would give signals by vibrating when the user needs to turn left or right.  I argue this idea would be useful for people cycling if they don't want to have a phone in their hand while they cycle. Also if you run on a new route and you don't want to stop and check direction...

Digital Design

User Insights

Prototyping

UX Design in Digital Development

A case study focusing on user involvement in digital development to improve user experiences

We are looking for a partner to collaborate with for our thesis, to investigate a concrete case where we can use our methodologies from UX Design and digital design in general. We have a philosophy that is based on the assumption that user involvement enhances the user experiences. ...

Artificial Intelligence

The Importance of Machine Learning algorithms in the Health Sector

We are two master students currently studying Business Administration and Data Science at Copenhagen Business School. At the moment, we are starting our final year and we are therefore looking for a partner for our master's thesis. We want to specialize in the field of Machine Learning with a focus on the health sector, which is why we are making this account. ...

1 x Business Administration and Data Science

Modern organization

Cyber security risks in the modern organization (working title)

How to handle cyber security risks in a modern organization and the economic consequences hereof

"43% of cyber attacks are aimed at small businesses, but only 14% are prepared to defend themselves" [1] is a shocking but important statistic. As the cyber threat keeps growing, the modern organization needs to be prepared, as ignoring these threats can cause financial and reputational damage. It is simply something that cannot be ignored. Recent events, such as the Covid-19 outbreak has caused an organizational change in many companies around the world. "Home office" or remote work has become ...

Design Thinking

Real word case

How could we improve a company’s product by using a design thinking approach

Dive into each step of the design thinking project and compare it to their processes

How can we improve a company’s product/processes by using a design thinking approach  ...

1 x Problem Based Learning in Engineering and Science

Business strategy

Deploying MLOps in a live production setup - a demo case study to operationalize machine learning

Deploying MLOps – the most pivotal but also underrated component in machine learning: A demo case study on [insert use case theme here]

Our thesis aims to operationalise a machine learning workflow for a company or department that is interested to deploy a machine learning solution to enhance their work. The theoretical underpinnings of this machine learning workflow (also referred to as MLOps) will be based on materials stemming from different courses – ranging from infrastructural choices (e.g. Microsoft Azure, Databricks, AWS etc.), database choice (e.g. RDMBS vs NoSQL), database design theories, reference architecture ...

machine learning

deep learning

data analysis

artificial intelligence

Master thesis within Machine Learning

Application and developement

Hello,I am studying for a master's in Human-centered AI at DTU. I am about to write my thesis next spring (starting around the 1st of February) and in that regard, I am exploring what exciting thesis options exist.Through both my bachelor's and master I have done a lot of different kinds of machine learning and I would thus like to find a thesis project within this area. I wish to write a thesis which both has a practical and theoretical aspect. The practical aspect could be a type of product, w...

Machine Learing

Neural Radiance Fields

Proven team

Neural Radiance Fields research and application

Research into expanding neural radiance fields and then applying it to the real world.

We are looking for a project A bachelor project centered around machine learning Specifically something within the field of deep learing, and we welcome you to propose any projects that could benefit from our set of skills. Currently, we have been looking at Neural Radiance Fields (NeRF) and its applications. It is a new technique that enables novel view synthesis from just a few images. This allows you to "fly" around a scene and see it from any direction. Specifically BaRF, Mip-NeRF 360, and I...

1 x Engineering (Artificial Intelligence and Data)

Risk Management

A Cybersecurity Risk-management Approach

NIS2-directive

Research Aim: The aim of the research is to investigate X's cyber risk management approach in relation to implementing and maintaining the NIS2-directive's minimum security measures to ensure high level security in EU....

Reading disorder

Helping regular people understand the life of dyslexic friends and family

A tool for helping relatives and interested parties to understand life with dyslexia

The thesis is currently marked as just 1 student but ideally I will find 1 or 2 more to join me on this endeavour. The core inspiration for this comes from the games and simulations intended to let typical people experience what it's like to have autism. An example of these would be Autismity. Dyslexia is generally treated less severely than for example autism and we already have various tools to aid dyslexic people deal with education and more, so providing a tool, game or simulation for actual...

Online Fraud

Banking Industry

Identity Theft

Combating Identity Theft and Fraud in Online Games

At present time, fraudsters flourishes in online communities. As a result, the banking industry and the Danish police experience a massive number of reports from victims of this type of crime. Dealing with this problem is important so that it can be safe and secure for the individual to shop online....

1 x MSc in Software Design

Find more thesis topics in related research areas

Looking for more thesis topic inspiration? Find topic ideas and examples in related research areas below.

19 Engineering & Technology

Interested in machines, algorithms, and structures that shape industries, societies, and our lives? Browse engineering and technology research topics that merge design, creativity, and innovation toward a smarter future.

Engineering & Technology research topics

7 sustainability & environment.

Interested in environmental dynamics and safeguarding our Planet? Explore research topics in environment, sustainability, and climate seeking to tackle climate change, cultivate sustainable practices, and craft greener, healthier solutions.

Sustainability & Environment research topics

2 chemistry.

Interested in our universe's building blocks, unlocking the secrets of chemical compositions and reactions? Explore chemistry research topics that delve into the world of atoms and molecules.

Chemistry research topics

1 mathematics & statistics.

Interested in the language of numbers, equations, and probabilities? Explore mathematical and statistical research topics digging into real-world puzzles that unravel complex data, patterns, and problems.

Mathematics & Statistics research topics

1 medicine & health.

Interested in the complexities of human well-being, from cellular mechanisms to healthcare systems? Explore medicine and health research topics delving into solutions for healthier societies.

Medicine & Health research topics

Interested in the complexities of the living world, from genes to ecosystems? Explore biology research topics that seek to enrich our understanding of medicine, conservation, and of life itself.

Biology research topics

0 astronomy.

Interesting in delving into the celestial mysteries, from stars and galaxies to the universe's grand narrative? Explore astronomy research topics on an astronomical journey to understand our universe's origin and evolution.

Astronomy research topics

alt text

FREE for students

Use Excelerate to search for thesis inspiration and find companies for a thesis collaboration.

Related articles

Find the perfect thesis topic – 8 useful tips, how to write a thesis alone, thesis writing in a group, thesis writing tips – a guide to writing a good thesis project, what is writer’s block and how do you overcome it, how to write the perfect thesis statement for your master’s – 6 easy steps.

bachelor thesis topics software engineering

  • Institute of Computer Science
  • Faculty of Science and Technology
  • University of Tartu
  • Software Engineering Group
  • Theses Topics 2023
  • Defended Theses

Student Projects, Academic Year 2021-2022

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

  • Alexander Nolte: Fostering civic engagement through hackathons
  • Alexander Nolte: How did participants like my hackathon? A benchmarking tool
  • Ilia Bider: Web-based viewer for Fractal Enterprise models
  • Ilia Bider: Case Study in Using Fractal Enterprise Model for Depicting the Operational Activity of an Organization
  • Vimal Kumar Dwivedi: Automatic generation of smart contracts from an XML-based language
  • Mohamad Gharib: An integrated approach for analyzing cyber-security attacks for safety-critical Cyber-Physical Systems (CPSs)
  • Dietmar Pfahl: Case Study in Software Testing or Software Analytics (focus on software quality)
  • Dietmar Pfahl: Safety Analysis of Autonomous Vehicle Systems Software (in collaboration with Autonomous Driving Lab)
  • Kristiina Rahkema: Implementation of JIT (just in time) visualisation of changes in source code
  • Kristiina Rahkema: Analysis of dependency graphs of third party libraries in different package managers
  • Gamal Elkoumy: Anonymizing datasets for process mining with differential privacy
  • Fabrizio Maggi and Anti Alman: Development of the Rules Mining (RuM) toolset
  • Fabrizio Maggi: Extending the Nirdizati Predictive Process Monitoring Engine
  • Other topics
  • IT Conversion Masters topics (15 ECTS)
  • Bachelor Thesis Projects (9 ECTS)

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

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

Master Thesis Projects

Fostering civic engagement through hackathons, alexander nolte (alexander [dot] nolte [?t] ut [dot] ee).

Hackathons started out as time-bounded competitive events during which young developers formed ad-hoc teams and worked on software projects for pizza and the potential prospect of a future job. Since those humble beginnings hackathons have become a global phenomenon with thousands of individuals participating in hundreds of events every weekend. In addition to corporations and entrepreneurs, hackathons have also been embraced by civic engagement groups to draw attention to and tackle societal issues.

The aim of this thesis is to address the question whether and how short-term events like hackathons can have sustainable lasting impact. To answer this question, you will collaborate with the US based non-profit organization Democracylab ( https://www.democracylab.org/ ). They organize regular hackathons for civic engagement groups, volunteers and tech savvy individuals related to various societal issues ranging from providing support to elderly people to addressing climate change and beyond.

You will use a combination of interview, survey and archival data analysis methods to study how organizers and participants perceive these hackathons and what they currently do to create and sustain impact. Based on your findings you will propose suggestions to participants and organizers to foster the impact of civic hackathons.

How did participants like my hackathon? A benchmarking tool

Supervisor: alexander nolte (alexander [dot] nolte [?t] ut [dot] ee).

Hackathons and similar time-bounded events have become a global phenomenon with thousands of individuals participating in hundreds of events every weekend. They are organized by corporations, (higher) education institutions, civic engagement groups, (online) communities and others with the aim to create innovative technologies, tackle civic, environmental and public health issues, spread knowledge and expand communities.

Despite their widespread adoption organizers often still struggle to answer seemingly simple questions such as �How did participants like my hackathon?�, �Did they achieve what they wanted to achieve?� and �How does my hackathon compare to other similar events?�. There are existing survey instruments that can help organizers answer these questions. These instruments are however not widely accessible, sometimes time consuming to set up, and they do not allow them to compare their hackathon to other (similar) events.

The aim of this thesis is to develop a web-based application for hackathon organizers to (1) run a survey for their event, (2) provide basic statistics and (3) compare their hackathon to similar events. For this you will utilize existing survey scales and an existing database of survey responses. The application itself will be built on common survey tools such as GoogleForms, Qualtrics or Limesurvey and will be embedded into an existing website for hackathon organizers ( https://hackathon-planning-kit.org/ ).

Web-based viewer for Fractal Enterprise models (This topic is BOOKED)

The goal of this project is to develop a user-friendly viewer of a package of diagrams created using a �heavy-weight� tool. The viewer is aimed to be used by business people to view and navigate through a package of enterprise models provided by a modeling expert.

Though this issue is general, the thesis will be focused on a specific modeling technique - Fractal Enterprise Model (FEM), and a specific tool � FEM toolkit. The latter was developed based on the ADOxx modeling environment. ADOxx has been used by different research and professional groups for creating tools for other modeling techniques, which makes the topic general. The FEM toolkit allows to export the diagrams in a graphical format, i.e. as pictures, and in XML format in which the positions, sizes, and properties of all elements are defined. A simple version of a FEM viewer can be built based on these two exports. The first one is used to show the diagram itself in the WEB environment, the second one is used to define areas of the picture that correspond to the individual elements of the diagrams. These areas can be used to arrange navigation and show properties. The more complex version can employ a graphical package to rebuild diagrams in a native WEB environment. Presumably, the viewer can be build using some higher-level platform/library, like https://vuejs.org/ or https://reactjs.org/ . The details and the scope of work will be decided during the project.

The thesis work would first consist of clarifying the requirements for the tool, making engineering decisions (i.e. which technology stack to use and the general architecture of the tool) and then implementing the software. The analysis and implementation process, as well as the resulting software product would have to described in the thesis.

References:

  • Overview of FEM and FEM toolkit see in https://www.fractalmodel.org/
  • ADOxx: https://www.adoxx.org

Case Study in Using Fractal Enterprise Model for Depicting the Operational Activity of an Organization

This is a "placeholder" Masters project topic, which needs to be negotiated individually. Dependent on the case organization it can be used for various programs including Software Engineering, IT Conversion Master, Innovation and Technology Management. The master�s thesis would include understanding and modeling a (business) organization or a part of it (e.g. a department, service) with a modelling technique called Fractal Enterprise Model. Fractal Enterprise Model (FEM) is a relatively new advanced modeling technique that competes with other techniques used for Enterprise Architecture/Modeling world. It shows connection between different components (processes and assets) in an organization and can be used for business analysis and design on various levels, including the strategic one, like Business Model Innovation (BMI).

The topics of your project can range from figuring out the ways FEM can be used in a case organization to using it for a specific task, e.g. finding a cause for a problem, suggesting alternative solutions for a known problem, developing a new Business Model for the organization, or creating a capability map of the organization. The choice of the task depends on the needs of the organization, and on the student�s priorities. Ideally, your project should be connected to some problem/challenge/task that is already understood by the managers in a case organization, as beside your own time you might need to ask for engaging other people in the organization, e.g. for conducting interviews. A successfully completed project may result in a published paper later. Students who have full-time or part-time jobs and who can find a topic connected to their work place will particularly benefit for taking this topic.

Note: FEM is taught in the spring course called Enterprise Modeling. However, going through this course is not mandatory for taking this topic.

  • https://www.fractalmodel.org/ - a site that has many resources related to FEM, including video recordings
  • Bider I., Chalak A. (2019) Evaluating Usefulness of a Fractal Enterprise Model Experience Report � an example of a publish paper resulted from MS thesis project
  • Bider, I., Lodhi, A. Moving from Manufacturing to Software Business: A Business Model Transformation Pattern � an example related to Business Model Innovation

Automatic generation of smart contracts from XML-based language

Vimal kumar dwivedi (vital [dot] kumar [dot] dwivedi [?t] ut [dot] ee).

Smart Contracts are a means of facilitating, verifying and enforcing digital agreements. Blockchain technology, which includes an inherent consensus mechanism and programming languages, enables the concept of smart contracts. However, smart contracts written in an existing language, such as Solidity, Vyper, and others, are difficult for domain stakeholders and programmers to understand in order to develop code efficiently and without error, owing to a conceptual gap between the contractual provisions and the respective code. Our study addresses the problem by creating smart legal contract markup language (SLCML), an XML-based smart-contract language with pattern and transformation rules that automatically convert XML code to the Solidity language. In particular, XML schema (SLCML schema) that is used to instantiate any type of business contract understandable to IT and non-IT practitioners is developed that is processed by computers. With the proposal of thesis, we expect a translaator that can translate SLCML contract into blockchain programming language (for instance Solidity).

  • V. Dwivedi, A. Norta, A. Wulf, B. Leiding, S. Saxena and C. Udokwu, "A Formal Specification Smart-Contract Language for Legally Binding Decentralized Autonomous Organizations," in IEEE Access, vol. 9, pp. 76069-76082, 2021, doi: 10.1109/ACCESS.2021.3081926.
  • V K Dwivedi and A Norta. 2019. A legally relevant socio-technical language development for smart contracts. In Proceedings - 2018 IEEE 3rd International Workshops on Foundations and Applications of Self* Systems, FAS*W 2018. Institute of Electrical and Electronics Engineers Inc., 11�13. https://doi.org/10.1109/FAS-W.2018.00016
  • Vimal Dwivedi, & Norta, A. (2021). Auto-Generation of Smart Contracts from a Domain-Specific XML-Based Language. Unpublished. https://doi.org/10.13140/RG.2.2.34511.61609

An integrated approach for analyzing cyber-security attacks for safety-critical Cyber-Physical Systems (CPSs)

Mohamad gharib (mohamad [dot] gharib [?t] ut [dot] ee).

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

This thesis aims at proposing an approach that can identify potential cyber-security attack(s) that the safety-critical functionality of concern might be subject to, analyze how each identified attack may succeed (e.g., attack method/means, attacker�s capabilities), the potential consequences in case such attack success. Then, identify countermeasures to prevent or at least mitigate/minimize the consequences of the attack.

References: Application domain can be the automotive domain, or any other safety-critical CPS domain such as Industrial Internet of Things (IIoT), Smart Cities, etc.

  • M. Dibaei, X. Zheng, K. Jiang, R. Abbas, S. Liu, Y. Zhang, Y. Xiang, and S. Yu, �Attacks and defences on intelligent connected vehicles: a survey,� Digital Communications and Networks, 2020.
  • A. Greenberg, �Hackers Reveal Nasty New Car Attacks-With Me Behind The Wheel (Video),� p. 1, 2013. https://cutt.ly/4jIQVlX
  • O. Solon, �Team of hackers take remote control of Tesla Model S from 12 miles away � Technology � The Guardian,� 2016. https://cutt.ly/hjIQZ7P
  • A. Greenberg, �The Jeep Hackers Are Back to Prove Car Hacking Can Get Much Worse,� 2016. https://www.wired.com/2016/08/jeep-hackers-return-high-speed-steering-acceleration-hacks/

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

Supervisor: dietmar pfahl (dietmar dot pfahl ?t ut dot ee).

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

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

Safety Analysis of Autonomous Vehicle Systems Software (in collaboration with the Autonomous Driving Lab )

This is a project topic for a MSc in Software Engineering student with interest in a good knowledge of machine learning. /to be completed soon/

References (as a starting point):

  • Piazzesi N., Hong M., Ceccarelli A. (2021) Attack and Fault Injection in Self-driving Agents on the Carla Simulator � Experience Report. In: Habli I., Sujan M., Bitsch F. (eds) Computer Safety, Reliability, and Security. SAFECOMP 2021. Lecture Notes in Computer Science, vol 12852. Springer, Cham. https://doi.org/10.1007/978-3-030-83903-1_14

Implementation of JIT (just in time) visualisation of changes in source code (already booked)

Kristiina rahkema (kristiina [dot] rahkema [?t] ut [dot] ee).

Visualisation techniques are used to give an overview of the whole software project, by emphasising different aspects about of the source code. Source code evolution visualisations are normally run on the whole project and then used to get an overview of the project's evolution from start to finish. They might for example emphasise changing class sizes, connections between classes or the authors of commits.

The aim of this thesis is to build a visualisation tool that shows changes made by the developer immediately highlighting where the changes are currently being made and how they affect the project. Such a visualisation could for example be used when teaching about software architecture. One possible way how to do this would be to build upon the language server protocol.

Analysis of dependency graphs of third party libraries in different package managers (already booked)

Third party libraries are used extensively by developers to avoid rewriting solutions to common problems, such as handling network requests or parsing json. These dependencies are often managed using package managers such as maven, cocapods or npm. Libraries.io provides an open dataset that contains data about 32 package managers, 33 million project repositories.

The aim of this thesis is to analyse and compare the dependency graphs of these package managers provided in the libraries.io dataset. One of the goals is to analyse how potential vulnerabilities in these third party libraries could spread through the dependency graph by affecting its direct and transitive dependents. The libraries.io open dataset has been used for analysing library dependencies for some of these package managers [1], but it has not been used on all of the included package managers and the spread of vulnerabilities through direct and transitive dependencies has not been analysed.

  • Decan, Alexandre, Tom Mens, and Philippe Grosjean. "An empirical comparison of dependency network evolution in seven software packaging ecosystems." Empirical Software Engineering 24.1 (2019): 381-416.

Anonymizing Datasets for Process Mining with Differential Privacy]]

Gamal elkoumy (gamal [dot] elkoumy [?t] ut [dot] ee).

Process Mining is a family of techniques that helps organizations enhance the efficiency, compliance, and quality of their business processes. The applicability of process mining techniques hinges on the availability of event logs capturing the execution of a business process. In some cases, event logs contain private information about individuals, which endangers individuals' privacy. Despite the benefits of analyzing event logs, data protection regulations restrict the use of such kinds of data. One way of circumventing these restrictions is to anonymize the event log to the extent that no individual can be singled out using the anonymized log.

In this Masters thesis, you will apply a well-known family of privacy-preserving techniques, namely 'differential privacy , to develop a tool to anonymize datasets for process mining. You will specifically focus on anonymize the dataset so that an attacker cannot guess which worker (employee) in a company performance a given task recorded in the dataset. The project will give you useful knowledge about how datasets need to be anonymized in order to fulfill strict privacy requirements, including those captured in the European General Data Protection Regulation (GDPR). This topic is suitable for a Masters of data science interested in privacy aspects, for a student in software engineering wanting to build a tool that can be used in practice, or for a cyber-security student interested in developing skills in privacy-enhancing technologies. Students in the Masters of Computer Science are also welcome to apply!

  • Fahrenkrog-Petersen, Stephan A., Han van der Aa, and Matthias Weidlich. "PRETSA: event log sanitization for privacy-aware process discovery." 2019 International Conference on Process Mining (ICPM). IEEE, 2019.
  • Rafiei, Majid, and Wil MP van der Aalst. "Group-based privacy preservation techniques for process mining." Data & Knowledge Engineering (2021): 101908.

Development of the Rules Mining (RuM) toolset

Supervisors: fabrizio maggi and anti alman (firstname [dot] lastname [?t] ut [dot] ee).

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

Extending the Nirdizati Predictive Process Monitoring Engine

Supervisor: fabrizio maggi (firstname [dot] lastname [?t] ut [dot] ee).

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

Other Master Thesis Projects

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

Conversion Master Thesis Projects

Emerging technologies for the financial sector, fredrik milani.

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

Bachelor Thesis Projects

Lab package development & evaluation for the course 'software testing' (ltat.05.006), supervisor: dietmar pfahl (dietmar dot pfahl at ut dot ee).

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

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

The tasks to do for this project are as follows:

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

Topics for which lab packages should be developed (in order of urgency / list can be extended based on student suggestions):

  • Automated Unit & Systems Testing
  • Visual GUI Testing
  • Issue Reporting
  • Continuous Integration & Testing
  • Mobile App Testing (focus on security)
  • Other topics that you find interesting and would like to discuss with me regarding their suitability

The goal of this project is to develop a user-friendly viewer for diagrams produced by an existing enterprise modeling tool called FEM toolkit. This latter tool was developed based on the ADOxx modeling environment. ADOxx has been used by different research and professional groups for creating tools for other modeling techniques, which makes the topic general. The FEM toolkit allows to export the diagrams in a graphical format, i.e. as pictures, and in XML format in which the positions, sizes, and properties of all elements are defined. A simple version of a FEM viewer can be built based on these two exports. The first one is used to show the diagram itself in the WEB environment, the second one is used to define areas of the picture that correspond to the individual elements of the diagrams. These areas can be used to arrange navigation and show properties. The more complex version can employ a graphical package to rebuild diagrams in a native WEB environment. Presumably, the viewer can be build using some higher-level platform/library, like https://vuejs.org/ or https://reactjs.org/ . The details and the scope of work will be decided during the project.

  • Skip to content  (access key: 1)
  • Skip to Search  (access key: 2)

Institutes, schools, other departments, and programs create their own web content and menus.

To help you better navigate the site, see here where you are at the moment.

Project and Thesis Topics.

Please look the presentation below for an overview of topics. The topics are not self-explanatory but should provide a general context with email address for people who can provide more details. Please note that many topics are suitable for practica, bachelor thesis, or even masters thesis.

  • Thesis Topics WS2022 (PDF, 3,9 MB) , opens in new window
  • Collaborative working in formal methods (PDF, 47,4 KB) , opens in new window
  • Enhancement of formal modeling via Abstractions (PDF, 29,9 KB) , opens in new window

LIT Exzellenzprojekt mit Industrieller Kooperation (Siemens, Engel, Fabasoft, u.a.)

bachelor thesis topics software engineering

Pro2Future Industrieprojekte mit Engel, Fabasoft, Siemens, Wacker Neuson u.a.

  • Skills matching in the Fabasoft Personnel File (PDF) (PDF, 51,6 KB) , opens in new window
  • Work with documents/documentation and work-flows in an AR/VR-environment (PDF) (PDF, 42,7 KB) , opens in new window

bachelor thesis topics software engineering

Johannes Kepler University Linz

Altenberger Straße 69

4040 Linz, Austria

Logo from the Audit hochschuleundfamilie

Use of cookies

Our website uses cookies to ensure you get the best experience on our website, for analytical purposes, to provide social media features, and for targeted advertising. This it is necessary in order to pass information on to respective service providers. If you would like additional information about cookies on this website, please see our data privacy policy .

Required cookies

These cookies are required to help our website run smoothly.

Web statistics cookies

These cookies help us to continuously improve our services and adapt our website to your needs. We statistically evaluate the pseudonymized data collected from our website.

Marketing cookies

These cookies help us make our services more attractive to you as well as optimize our advertising and website content. We analyze and evaluate pseudonymised data collected from our website.

  • 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.

Digital Commons @ University of South Florida

  • USF Research
  • USF Libraries

Digital Commons @ USF > College of Engineering > Computer Science and Engineering > Theses and Dissertations

Computer Science and Engineering Theses and Dissertations

Theses/dissertations from 2023 2023.

Refining the Machine Learning Pipeline for US-based Public Transit Systems , Jennifer Adorno

Insect Classification and Explainability from Image Data via Deep Learning Techniques , Tanvir Hossain Bhuiyan

Brain-Inspired Spatio-Temporal Learning with Application to Robotics , Thiago André Ferreira Medeiros

Evaluating Methods for Improving DNN Robustness Against Adversarial Attacks , Laureano Griffin

Analyzing Multi-Robot Leader-Follower Formations in Obstacle-Laden Environments , Zachary J. Hinnen

Secure Lightweight Cryptographic Hardware Constructions for Deeply Embedded Systems , Jasmin Kaur

A Psychometric Analysis of Natural Language Inference Using Transformer Language Models , Antonio Laverghetta Jr.

Graph Analysis on Social Networks , Shen Lu

Deep Learning-based Automatic Stereology for High- and Low-magnification Images , Hunter Morera

Deciphering Trends and Tactics: Data-driven Techniques for Forecasting Information Spread and Detecting Coordinated Campaigns in Social Media , Kin Wai Ng Lugo

Automated Approaches to Enable Innovative Civic Applications from Citizen Generated Imagery , Hye Seon Yi

Theses/Dissertations from 2022 2022

Towards High Performing and Reliable Deep Convolutional Neural Network Models for Typically Limited Medical Imaging Datasets , Kaoutar Ben Ahmed

Task Progress Assessment and Monitoring Using Self-Supervised Learning , Sainath Reddy Bobbala

Towards More Task-Generalized and Explainable AI Through Psychometrics , Alec Braynen

A Multiple Input Multiple Output Framework for the Automatic Optical Fractionator-based Cell Counting in Z-Stacks Using Deep Learning , Palak Dave

On the Reliability of Wearable Sensors for Assessing Movement Disorder-Related Gait Quality and Imbalance: A Case Study of Multiple Sclerosis , Steven Díaz Hernández

Securing Critical Cyber Infrastructures and Functionalities via Machine Learning Empowered Strategies , Tao Hou

Social Media Time Series Forecasting and User-Level Activity Prediction with Gradient Boosting, Deep Learning, and Data Augmentation , Fred Mubang

A Study of Deep Learning Silhouette Extractors for Gait Recognition , Sneha Oladhri

Analyzing Decision-making in Robot Soccer for Attacking Behaviors , Justin Rodney

Generative Spatio-Temporal and Multimodal Analysis of Neonatal Pain , Md Sirajus Salekin

Secure Hardware Constructions for Fault Detection of Lattice-based Post-quantum Cryptosystems , Ausmita Sarker

Adaptive Multi-scale Place Cell Representations and Replay for Spatial Navigation and Learning in Autonomous Robots , Pablo Scleidorovich

Predicting the Number of Objects in a Robotic Grasp , Utkarsh Tamrakar

Humanoid Robot Motion Control for Ramps and Stairs , Tommy Truong

Preventing Variadic Function Attacks Through Argument Width Counting , Brennan Ward

Theses/Dissertations from 2021 2021

Knowledge Extraction and Inference Based on Visual Understanding of Cooking Contents , Ahmad Babaeian Babaeian Jelodar

Efficient Post-Quantum and Compact Cryptographic Constructions for the Internet of Things , Rouzbeh Behnia

Efficient Hardware Constructions for Error Detection of Post-Quantum Cryptographic Schemes , Alvaro Cintas Canto

Using Hyper-Dimensional Spanning Trees to Improve Structure Preservation During Dimensionality Reduction , Curtis Thomas Davis

Design, Deployment, and Validation of Computer Vision Techniques for Societal Scale Applications , Arup Kanti Dey

AffectiveTDA: Using Topological Data Analysis to Improve Analysis and Explainability in Affective Computing , Hamza Elhamdadi

Automatic Detection of Vehicles in Satellite Images for Economic Monitoring , Cole Hill

Analysis of Contextual Emotions Using Multimodal Data , Saurabh Hinduja

Data-driven Studies on Social Networks: Privacy and Simulation , Yasanka Sameera Horawalavithana

Automated Identification of Stages in Gonotrophic Cycle of Mosquitoes Using Computer Vision Techniques , Sherzod Kariev

Exploring the Use of Neural Transformers for Psycholinguistics , Antonio Laverghetta Jr.

Secure VLSI Hardware Design Against Intellectual Property (IP) Theft and Cryptographic Vulnerabilities , Matthew Dean Lewandowski

Turkic Interlingua: A Case Study of Machine Translation in Low-resource Languages , Jamshidbek Mirzakhalov

Automated Wound Segmentation and Dimension Measurement Using RGB-D Image , Chih-Yun Pai

Constructing Frameworks for Task-Optimized Visualizations , Ghulam Jilani Abdul Rahim Quadri

Trilateration-Based Localization in Known Environments with Object Detection , Valeria M. Salas Pacheco

Recognizing Patterns from Vital Signs Using Spectrograms , Sidharth Srivatsav Sribhashyam

Recognizing Emotion in the Wild Using Multimodal Data , Shivam Srivastava

A Modular Framework for Multi-Rotor Unmanned Aerial Vehicles for Military Operations , Dante Tezza

Human-centered Cybersecurity Research — Anthropological Findings from Two Longitudinal Studies , Anwesh Tuladhar

Learning State-Dependent Sensor Measurement Models To Improve Robot Localization Accuracy , Troi André Williams

Human-centric Cybersecurity Research: From Trapping the Bad Guys to Helping the Good Ones , Armin Ziaie Tabari

Theses/Dissertations from 2020 2020

Classifying Emotions with EEG and Peripheral Physiological Data Using 1D Convolutional Long Short-Term Memory Neural Network , Rupal Agarwal

Keyless Anti-Jamming Communication via Randomized DSSS , Ahmad Alagil

Active Deep Learning Method to Automate Unbiased Stereology Cell Counting , Saeed Alahmari

Composition of Atomic-Obligation Security Policies , Yan Cao Albright

Action Recognition Using the Motion Taxonomy , Maxat Alibayev

Sentiment Analysis in Peer Review , Zachariah J. Beasley

Spatial Heterogeneity Utilization in CT Images for Lung Nodule Classication , Dmitrii Cherezov

Feature Selection Via Random Subsets Of Uncorrelated Features , Long Kim Dang

Unifying Security Policy Enforcement: Theory and Practice , Shamaria Engram

PsiDB: A Framework for Batched Query Processing and Optimization , Mehrad Eslami

Composition of Atomic-Obligation Security Policies , Danielle Ferguson

Algorithms To Profile Driver Behavior From Zero-permission Embedded Sensors , Bharti Goel

The Efficiency and Accuracy of YOLO for Neonate Face Detection in the Clinical Setting , Jacqueline Hausmann

Beyond the Hype: Challenges of Neural Networks as Applied to Social Networks , Anthony Hernandez

Privacy-Preserving and Functional Information Systems , Thang Hoang

Managing Off-Grid Power Use for Solar Fueled Residences with Smart Appliances, Prices-to-Devices and IoT , Donnelle L. January

Novel Bit-Sliced In-Memory Computing Based VLSI Architecture for Fast Sobel Edge Detection in IoT Edge Devices , Rajeev Joshi

Edge Computing for Deep Learning-Based Distributed Real-time Object Detection on IoT Constrained Platforms at Low Frame Rate , Lakshmikavya Kalyanam

Establishing Topological Data Analysis: A Comparison of Visualization Techniques , Tanmay J. Kotha

Machine Learning for the Internet of Things: Applications, Implementation, and Security , Vishalini Laguduva Ramnath

System Support of Concurrent Database Query Processing on a GPU , Hao Li

Deep Learning Predictive Modeling with Data Challenges (Small, Big, or Imbalanced) , Renhao Liu

Countermeasures Against Various Network Attacks Using Machine Learning Methods , Yi Li

Towards Safe Power Oversubscription and Energy Efficiency of Data Centers , Sulav Malla

Design of Support Measures for Counting Frequent Patterns in Graphs , Jinghan Meng

Automating the Classification of Mosquito Specimens Using Image Processing Techniques , Mona Minakshi

Models of Secure Software Enforcement and Development , Hernan M. Palombo

Functional Object-Oriented Network: A Knowledge Representation for Service Robotics , David Andrés Paulius Ramos

Lung Nodule Malignancy Prediction from Computed Tomography Images Using Deep Learning , Rahul Paul

Algorithms and Framework for Computing 2-body Statistics on Graphics Processing Units , Napath Pitaksirianan

Efficient Viewshed Computation Algorithms On GPUs and CPUs , Faisal F. Qarah

Relational Joins on GPUs for In-Memory Database Query Processing , Ran Rui

Micro-architectural Countermeasures for Control Flow and Misspeculation Based Software Attacks , Love Kumar Sah

Efficient Forward-Secure and Compact Signatures for the Internet of Things (IoT) , Efe Ulas Akay Seyitoglu

Detecting Symptoms of Chronic Obstructive Pulmonary Disease and Congestive Heart Failure via Cough and Wheezing Sounds Using Smart-Phones and Machine Learning , Anthony Windmon

Toward Culturally Relevant Emotion Detection Using Physiological Signals , Khadija Zanna

Theses/Dissertations from 2019 2019

Beyond Labels and Captions: Contextualizing Grounded Semantics for Explainable Visual Interpretation , Sathyanarayanan Narasimhan Aakur

Empirical Analysis of a Cybersecurity Scoring System , Jaleel Ahmed

Phenomena of Social Dynamics in Online Games , Essa Alhazmi

A Machine Learning Approach to Predicting Community Engagement on Social Media During Disasters , Adel Alshehri

Interactive Fitness Domains in Competitive Coevolutionary Algorithm , ATM Golam Bari

Measuring Influence Across Social Media Platforms: Empirical Analysis Using Symbolic Transfer Entropy , Abhishek Bhattacharjee

A Communication-Centric Framework for Post-Silicon System-on-chip Integration Debug , Yuting Cao

Authentication and SQL-Injection Prevention Techniques in Web Applications , Cagri Cetin

Multimodal Emotion Recognition Using 3D Facial Landmarks, Action Units, and Physiological Data , Diego Fabiano

Robotic Motion Generation by Using Spatial-Temporal Patterns from Human Demonstrations , Yongqiang Huang

A GPU-Based Framework for Parallel Spatial Indexing and Query Processing , Zhila Nouri Lewis

A Flexible, Natural Deduction, Automated Reasoner for Quick Deployment of Non-Classical Logic , Trisha Mukhopadhyay

An Efficient Run-time CFI Check for Embedded Processors to Detect and Prevent Control Flow Based Attacks , Srivarsha Polnati

Force Feedback and Intelligent Workspace Selection for Legged Locomotion Over Uneven Terrain , John Rippetoe

Detecting Digitally Forged Faces in Online Videos , Neilesh Sambhu

Malicious Manipulation in Service-Oriented Network, Software, and Mobile Systems: Threats and Defenses , Dakun Shen

Advanced Search

  • Email Notifications and RSS
  • All Collections
  • USF Faculty Publications
  • Open Access Journals
  • Conferences and Events
  • Theses and Dissertations
  • Textbooks Collection

Useful Links

  • Rights Information
  • SelectedWorks
  • Submit Research

Home | About | Help | My Account | Accessibility Statement | Language and Diversity Statements

Privacy Copyright

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

homepage of the instituion

  • Contact/Imprint

Humboldt-Universität zu Berlin - Faculty of Mathematics and Natural Sciences - Software Engineering

Bachelor and master thesis.

Currently, the Software Engineering group offers bachelor's and master's theses on the following subjects.

Workflow for bachelor / master theses written at the chair

Bachelor Thesis

AST Based Fault Localization ( pdf )

  • Grey-box Fuzzing with well-formed Models (keine Ausschreibung, bitte Email mit dem Titel: “[Thesis]-Grey-Box Fuzzing” to [email protected]....)
  • Optimising Coupling and Cohesion Metrics for Modular Neural Networks(keine Ausschreibung,  bitte Email mit dem Titel: “[Thesis]-ModularNN” to [email protected]....)
  • From Scripts to Computational Materials Science Data Analysis Workflows ( pdf )
  • **NEU** Fuzzing for Model Transformation Engines ( pdf )
  • **NEU** Evaluating Fuzzing for Model-Driven Software Engineering (MDSE) Tools ( pdf )

Bachelor/ Master  Thesis*

  • Diagnosis and Localization of Memory Leaks ( pdf )
  • Analyzing Parameter Tuning in Search-Based Test Case Generation Techniques ( pdf )
  • STARDUST II - Systematic Architecture Level Fault Diagnosis Using Statistical Techniques ( pdf )
  • Grammar-Based Fuzzing for LibreOffice ( pdf )
  • Grammar-Based Repair for Open Office Documents ( pdf )
  • Grammar-Based Generation of Debugging Hypotheses for Libre Office ( pdf )
  • .. Requirement Prioritization and Release Planning Problems ( pdf )
  • .. Automatic Program Repair Problems ( pdf )
  • .. Regression Test Suite Generation and Augmentation Problems ( pdf )
  • .. Test Case Selection and Prioritization Problems ( pdf )
  • Automated Validation of Patch Correctness and Maintainability with Symbolic Execution ( pdf )
  • Automated Documentation of Source Code ( pdf )
  • Vulnerability Detection with Character Level Language Models for Python (keine Ausschreibung, bitte Email mit dem Titel: “[Thesis]-Vulnerability Detection” to [email protected]....)
  • Automatic Repair of Software Vulnerabilities (keine Ausschreibung, bitte Email mit dem Titel: “[Thesis]-Vulnerability Repair” to [email protected]....)  
  • Metamorphic Testing in Computational Materials Science Data Analysis Workflows ( pdf )
  • Voice-driven specification with Python SpeechRecognition (keine Ausschreibung,  bitte Email mit dem Titel: “[Thesis]-Voice-driven-specification” to [email protected]....)
  • **NEU** Voice-driven Test-Case Generation (keine Ausschreibung,  bitte Email mit dem Titel: “[Thesis]-Voice-driven-specification” to [email protected]....)
  • **NEU** Optimizing a Neural Network Approach for the Reverse Transformation of Spin-Wave-Theory ( pdf )

*The problem can be adapted to the requirements of a Bachelor or Master Thesis.

Master  Thesis

  • Adaptive Genetic Algorithms in Search-Based Software Engineering ( pdf )
  • An Evaluation of Metaheuristic Search Strategies for Automatic Software Repair ( pdf )
  • Fault Localization and Debugging with Probabilistic Slicing ( pdf )
  • Code Generation from Natural Language Documentation ( pdf )
  • **NEU** Generating Semantically Correct Programs with seq2tree Transformer Networks (keine Ausschreibung, bitte Email mit dem Titel: “[Thesis]-seq2tree Program Generation” to [email protected]....)
  • **NEU**  Automatic Reverse Engineering Scientific Models from Scientific Software (keine Ausschreibung, bitte Email mit dem Titel: “[Thesis]-Scientific Models” to [email protected]....)
  • **NEU**  Empirical Study on Query Expansion Techniques for Semantic Code Search  ( pdf )
  • **NEU** Grammar-based Fuzzing for Model-Driven Software Engineering (MDSE) Tools ( pdf )
  • **NEU** Behavioral Clustering-Guided Fuzz Testing ( pdf )
  • Extending and Evaluating Alhazen using different Machine Learning approaches ( pdf )

HU on the internet

  • Humboldt University on Facebook
  • Humboldt University on Twitter
  • Humboldt University on Instagram
  • Humboldt University on YouTube
  • Humboldt University on LinkedIn
  • RSS-Feeds of the Humboldt University
  • Write my thesis
  • Thesis writers
  • Buy thesis papers
  • Bachelor thesis
  • Master's thesis
  • Thesis editing services
  • Thesis proofreading services
  • Buy a thesis online
  • Write my dissertation
  • Dissertation proposal help
  • Pay for dissertation
  • Custom dissertation
  • Dissertation help online
  • Buy dissertation online
  • Cheap dissertation
  • Dissertation editing services
  • Write my research paper
  • Buy research paper online
  • Pay for research paper
  • Research paper help
  • Order research paper
  • Custom research paper
  • Cheap research paper
  • Research papers for sale
  • Thesis subjects
  • How It Works

110 Engineering Research Topics For Engineering Students!

engineering topics

Getting engineering topics for research or presentation is not an easy task. The reason is that the field of engineering is vast. Engineers seek to use scientific principles in the design and building of machines, structures, bridges, tunnels, etc.

Engineering as a discipline has a broad range of specialized fields such as chemical engineering, civil engineering, biomedical engineering, computer engineering, mechanical engineering, software engineering, and lots more! In all, engineering seeks to apply mathematics or science to solving problems.

110 Engineering Topic Ideas in Different Areas

Genetic engineering topics, mechanical engineering research topics, electrical engineering research topics, software engineering research topics, computer engineering research topics, biomedical engineering research topics, civil engineering topics, chemical engineering research topics, controversial engineering topics, aerospace engineering topics, industrial engineering topics, environmental engineering topics for research.

We understand how difficult and tiring it could be to get engineering research topics; hence this article contains a total of 110 interesting engineering topics covering all aspects of engineering. Ready to explore? Let’s begin right away!

Genetic engineering is the direct manipulation of the gene of an organism using biotechnology. Many controversies are surrounding this engineering field because of the fantastic potential feats it could achieve. Here are some genetic engineering topics that encompass essential areas of this field.

  • Can the human personality be altered through genetic engineering?
  • Genetic engineering: hope for children with intellectual disabilities?
  • Genetic engineering: the problems and perspectives.
  • Genetic engineering and the possibility of human cloning.
  • Genetic Engineering
  • The side effects of altering human personality
  • Immortalizing humans through genetic engineering
  • Addressing human deficiencies through genetic engineering

Mechanical engineering deals with the design and manufacture of physical or automated systems. These systems include power and energy systems, engines, compressors, kinematic chains, robotics, etc. Here are some impressive mechanical engineering topics that double as mechanical engineering thesis topics too.

  • A study of the compressed air technology used in cars.
  • The design of a motorized automatic wheelchair that can serve as a bed.
  • The why and how of designing stronger and lighter automobiles.
  • The design of an electronic-assisted hydraulic braking system.
  • Basics of Electronics Engineering
  • AC and DC motors and operations
  • Design and implementation of wind energy
  • Power lines and electricity distribution
  • Electromagnetic field and its applications
  • Generators and electric motors

Electrical engineering is a trendy and well-sought field that deals with the design and manufacture of different electrical and electronic systems. Electrical engineering encompasses power and electronics. The basic principle of digital technology and electricity are all given birth to in this field. From your lighting to computers and phones, everything runs based on electricity. Although finding topics in electrical engineering could be difficult, we have carefully selected four electrical engineering topics to give you a great head start in your research! or write research paper for me

  • A study on how temperature affects photovoltaic energy conversion.
  • The impact of solar charging stations on the power system.
  • Direct current power transmission and multiphase power transmission
  • Analysis of the power quality of the micro grid-connected power grid.
  • Solar power and inverters
  • Alternator and electric magnetic induction
  • AC to DC converters
  • Operational amplifiers and their circuits.

Software engineering deals with the application of engineering approaches systematically to develop software. This discipline overlaps with computer science and management science and is also a part of overall systems engineering. Here are some software engineering topics for your research!

  • The borderline between hardware and software in cloud computing.
  • Essential computer languages of the future.
  • Latest tendencies in augmented reality and virtual reality.
  • How algorithms improve test automation.
  • Essentials for designing a functional software
  • Software designing and cyber security
  • 5 computer languages that will stand the test of time.
  • Getting software design right
  • Effects of malware on software operation.

Computer engineering integrates essential knowledge from the subfields of computer science, software engineering, and electronic engineering to develop computer hardware and software. Computer engineering applies various concepts to build complex structural models. Besides, we have completed researches in the information technology field and prepare great  it thesis topics for you. Here are some computer engineering topics to help you with your research.

  • Biotechnology, medicine, and computer engineering.
  • Programs for computer-aided design (cad) of drug models.
  • More effective coding and information protection for multinational companies.
  • Why we will need greater ram in modern-day computers.
  • Analysis and computer-aided structure design
  • Pre-stressed concrete structures and variations
  • General computer analysis of structures
  • Machine foundation and structural design
  • Storage and industrial structures.

Biomedical engineering applies principles and design concepts from engineering to medicine and biology for diagnostic or therapeutic healthcare purposes. Here are some suggested biomedical engineering topics to carry out research on!

  • A study on how robots are changing health care.
  • Can human organs be replaced with implantable biomedical devices?
  • The advancement of brain implants.
  • The advancement of cell and tissue engineering for organ replacement.
  • Is planting human organs in machines safe?
  • Is it possible to plant biomedical devices insensitive to human organs?
  • How can biomedicine enhance the functioning of the human brain?
  • The pros and cons of organ replacement.

Civil engineering deals with the construction, design, and implementation of these designs into the physical space. It is also responsible for the preservation and maintenance of these constructions. Civil engineering spans projects like roads, buildings, bridges, airports, and sewage construction. Here are some civil engineering topics for your research!

  • Designing buildings and structures that withstand the impact of seismic waves.
  • Active noise control for buildings in very noisy places.
  • The intricacies of designing a blast-resistant building.
  • A compatible study of the effect of replacing cement with silica fume and fly ash.
  • Comparative study on fiber-reinforced concrete and other methods of concrete reinforcement.
  • Advanced construction techniques
  • Concrete repair and Structural Strengthening
  • Advanced earthquake resistant techniques
  • Hazardous waste management
  • Carbon fiber use in construction
  • Structural dynamics and seismic site characterization
  • Urban construction and design techniques

Chemical engineering transverses the operation and study of chemical compounds and their production. It also deals with the economic methods involved in converting raw chemicals to usable finished compounds. Chemical engineering applies subjects from various fields such as physics, chemistry, biology, and mathematics. It utilizes technology to carry out large-scale chemical processes. Here are some chemical engineering topics for you!

  • Capable wastewater treatment processes and technology.
  • Enhanced oil recovery with the aid of microorganisms.
  • Designing nanoparticle drug delivery systems for cancer chemotherapy.
  • Efficient extraction of hydrogen from the biomass.
  • Separation processes and thermodynamics
  • Heat, mass, and temperature
  • Industrial chemistry
  • Water splitting for hydrogen production
  • Mining and minerals
  • Hydrocarbon processes and compounds
  • Microfluidics and Nanofluidics.

Not everyone agrees on the same thing. Here are some engineering ethics topics and controversial engineering topics you can explore.

  • Are organic foods better than genetically modified foods?
  • Should genetically modified foods be used to solve hunger crises?
  • Self-driving cars: pros and cons.
  • Is mechanical reproduction ethical?
  • If robots and computers take over tasks, what will humans do?
  • Are electric cars really worth it?
  • Should human genetics be altered?
  • Will artificial intelligence replace humans in reality?

Aerospace engineering deals with the design, formation, and maintenance of aircraft, spacecraft, etc. It studies flight safety, fuel consumption, etc. Here are some aerospace engineering topics for you.

  • How the design of planes can help them weather the storms more efficiently.
  • Current techniques on flight plan optimization.
  • Methods of optimizing commercial aircraft trajectory
  • Application of artificial intelligence to capacity-demand.
  • Desalination of water
  • Designing safe planes
  • Mapping a new airline route
  • Understanding the structural design of planes.

Petroleum engineering encompasses everything hydrocarbon. It is the engineering field related to the activities, methods, processes, and adoptions taken to manufacture hydrocarbons. Hydrocarbon examples include natural gas and crude oil which can be processed to more refined forms to give new petrochemical products.

  • The effect of 3d printing on manufacturing processes.
  • How to make designs that fit resources and budget constraints.
  • The simulation and practice of emergency evacuation.
  • Workers ergonomics in industrial design.
  • Heat transfer process and material science
  • Drilling engineering and well formation
  • Material and energy flow computing
  • Well log analysis and testing
  • Natural gas research and industrial management

Manufacturing engineering is integral for the creation of materials and various tools. It has to do with the design, implementation, construction, and development of all the processes involved in product and material manufacture. Some useful production engineering topics are:

  • Harnessing freshwater as a source of energy
  • The design and development of carbon index measurement systems.
  • Process improvement techniques for the identification and removal of waste in industries.
  • An extensive study of biomedical waste management.
  • Optimization of transportation cost in raw material management
  • Improvement of facility layout using systematic planning
  • Facilities planning and design
  • Functional analysis and material modeling
  • Product design and marketing
  • Principles of metal formation and design.

So here we are! 110 engineering research paper topics in all major fields of engineering! Choose the ones you like best and feel free to contact our thesis writers for help. It’s time to save humanity!

Leave a Reply Cancel reply

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

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

bachelor thesis topics software engineering

[email protected]

bachelor thesis topics software engineering

+91-9465330425

bachelor thesis topics 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.

bachelor thesis topics 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.

bachelor thesis topics 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.

bachelor thesis topics 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.

bachelor thesis topics 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.

IMAGES

  1. Proposal for Master Thesis in Software Engineering

    bachelor thesis topics software engineering

  2. Latest Software Engineering Thesis Topics For Research Scholars

    bachelor thesis topics software engineering

  3. Unique List of Software Engineering Research Topics

    bachelor thesis topics software engineering

  4. PPT

    bachelor thesis topics software engineering

  5. (PDF) Bachelor of Software Engineering: A Case Study for an Effective

    bachelor thesis topics software engineering

  6. A Definitive List of 100 Bachelor Thesis Topics

    bachelor thesis topics software engineering

VIDEO

  1. 10 Finance & 10 Marketing MBA RESEARCH THESIS TOPICS 2024

  2. Bachelor's Thesis: Safety analysis and configuration of ABB CRB 15000 (GoFa) cobot

  3. TU Graz Bachelor's Degree Programme Software Engineering and Management

  4. How to write thesis for Bachelor/Master/M.Phil/PhD

  5. This is My Bachelor Thesis Project (3D printing, Astrophotography)

  6. PRINCIPLES OF SOFTWARE ENGINEERING IMPORTANT TOPICS VTH SEM BSC CS BCA CALICUT UNIVERSITY

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. Undergraduate Research Topics

    Available for single-semester IW and senior thesis advising, 2024-2025. Research Areas: computational complexity, algorithms, applied probability, computability over the real numbers, game theory and mechanism design, information theory. Independent Research Topics: Topics in computational and communication complexity.

  4. 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 ...

  5. Topics for Theses and Projects

    Our topics for bachelor and master theses as well as projects are from the areas of software engineering and programming languages. The concrete topics for theses are based on our research interests and allow students to make their own contribution to a field of research. Our main target group are students of Computer Science, Software Engineering, Media Informatics, Artificial Intelligence ...

  6. 150 Best Research Paper Topics For Software Engineering

    This paper reviews software tools to solve complicated tasks in the analysis of data. The paper compares NVivo, HyperRESEARCH, and Dedoose. Data Scientist and Software Development. Data scientists convert data into insights, giving elaborate guidance to those who use the data to make educated decisions and take action.

  7. What are the latest research topics in software engineering

    There are many hot research topics in software engineering. For example, you may look at the following two topics: These are some hot research topic related to software engineering like ...

  8. IT & Computer Science THESIS AND RESEARCH TOPICS

    Find IT and computer science research topics and themes in artificial intelligence (AI), machine learning (ML), IT security, software engineering, data science, UX/UI, NLP, app development, human-computer interaction (HCI), and much more! Be inspired on your tech journey here. 36/152 Project Proposals. Newest / AZ. Technical University of Denmark.

  9. PDF Bachelor's Thesis

    support its understanding and intuitive usage. In this thesis we want to discuss the latter. 1.1 Effects and handlers In order to be able to talk about supportive programming environment features for e ects and handlers, we first want to introduce algebraic e ects and e ect handlers. We will give a short introduction to the used language E ekt.

  10. Software Engineering Group

    IT Conversion Masters topics (15 ECTS) Bachelor Thesis Projects (9 ECTS) If you're interested in any of these projects, please contact the corresponding supervisor. NB: If you want to look for thesis topics offered by other groups within the Chair of Software Engineering and Information Systems, please consult their respective group pages.

  11. Project and Thesis Topics

    Project and Thesis Topics. Please look the presentation below for an overview of topics. The topics are not self-explanatory but should provide a general context with email address for people who can provide more details. Please note that many topics are suitable for practica, bachelor thesis, or even masters thesis.

  12. Dissertations / Theses: 'Software engineering'

    Abstract: Abstract Continuous software engineering (CSE) has instigated academic debate regarding the rapid, parallel cycles of releasing software and customer experimentation. This approach, originating from Web 2.0 and the software-as-a-service domain, is widely recognised among software-intensive companies today.

  13. Computer Science and Engineering Theses and Dissertations

    Models of Secure Software Enforcement and Development, Hernan M. Palombo. PDF. Functional Object-Oriented Network: A Knowledge Representation for Service Robotics, David Andrés Paulius Ramos. PDF. Lung Nodule Malignancy Prediction from Computed Tomography Images Using Deep Learning, Rahul Paul. PDF

  14. PDF Data Science for Engineering: Open thesis topics

    interested in one of the topics, then please read the description as well as the referenced literature carefully, and prepare a short document (≈2 pages) where you summarize the thesis content in your own words and briefly explain how you are going to approach the topic of your thesis, for instance in the form of a short work program.

  15. Offered MSc 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.

  16. Bachelor and Master Thesis

    Bachelor/ Master Thesis*. Diagnosis and Localization of Memory Leaks ( pdf) Analyzing Parameter Tuning in Search-Based Test Case Generation Techniques ( pdf) STARDUST II - Systematic Architecture Level Fault Diagnosis Using Statistical Techniques ( pdf) Software Enginering and Debugging of Libre Office. Grammar-Based Fuzzing for LibreOffice ( pdf)

  17. PDF Bachelor thesis

    a good idea of the issue at hand. "Formulate action plan" phase will consist of the actual "fixing" of the problem identified in the first phase. For the duration of "Reflect on and evaluate action" phase; changes made will be evaluated to see how big of an impact the modifications had regarding the issue at hand.

  18. Some Frequent Writing Tips I Give Software Engineering Thesis Students

    The text is mainly written with bachelor and master students working on their thesis report (and especially those in software engineering or closely related disciplines) in mind. ... (the sections or chapters) of your report is not the place to let your creativity flow. Thesis reports in software engineering tend to follow a standardised ...

  19. Excellent 110+ Engineering Research Topics

    Contents. 110 Engineering Topic Ideas in Different Areas. Genetic Engineering Topics. Mechanical Engineering Research Topics. Electrical Engineering Research Topics. Software Engineering Research Topics. Computer Engineering Research Topics. Biomedical Engineering Research Topics. Civil Engineering Topics.

  20. 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.

  21. Bachelor of Science Thesis in Software Engineering and Management

    Bachelor of Science Thesis in Software Engineering and Management. Filip Walldén, Simon Löfving, Boyan Dai. Published 2019. Computer Science, Engineering. TLDR. This work investigated which driving characteristics are relevant for personalised features, and how to derive them using Requirement elicitation, and proposed a way to derive the ...

  22. BACHELOR THESIS

    BACHELOR THESIS Software Documentation Strategy for Existing Web Systems A case study Mikael Olsson 2016 Bachelor of Science Information Systems Science ... ECTS) at the Department of Computer Science, Electrical and Space Engineering at Luleå University of Technology. This study has been under the supervision of Ali Ismail Awad, Senior ...

  23. Latest Thesis and Research Topics in Software Engineering

    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