University of Arizona Online | Home

REQUEST INFO

Software Engineering (PhD) Doctor of Philosophy

Quick facts.

Software engineer working with code

of all Higher-Ed Institutions

- Center for World University Rankings, 2022

In Best Value Among Arizona's Public Universities

- Payscale, 2022

The University of Arizona's College of Engineering has launched the Software Engineering PhD degree in response to the high demand for individuals trained in the software engineering discipline. The degree program is critical in driving student success in a rapidly changing world and tackling essential problems at the edges of human endeavor. 

As a student graduating with a PhD in Software Engineering, you will be better positioned to develop the skills and mindsets to be leaders in software development, computing, machine learning, ever-increasing automation and connectivity, human and intelligent systems, data science, and network sciences.

Through the PhD program, you'll demonstrate the ability to design, develop, test, integrate, and evaluate software applications/products/systems in diverse computing and engineering domains. You'll also be able to critically analyze and review published research results and other literature related to your area of study. You'll also demonstrate your ability to articulate all aspects of the research in your software engineering specialization area, describe and defend the significance of your work, explain your research methodologies, and summarize your findings. 

The global software engineering market alone will be worth $64 billion by 2025, and it is a vital part of a larger industry. Some factors behind this growth include increased automation in multiple sectors, the demand for cloud-based solutions, the Internet of Things, and an increased number of devices that can be used in daily life for convenience. Thus, pursuing a Software Engineering PhD will give you a competitive edge in this fast-growing industry.

No GRE is required for this graduate degree program.

A minor is required for this program and will be determined by the student and advisor.

Students who do not have a degree equivalent to the University of Arizona Bachelor of Science degree in a computing-related program may be admitted into the graduate program but may be required to complete additional graduate-level pre-requisite courses prior to enrolling in some graduate courses. 

Proficiency in one or more programming languages OR one to two years of industry experience in a software-related position is required.

*Residents of some U.S. Territories may not be eligible. Please see our Eligibility & State Authorization page for more information.

Courses for this program include: 

SFWE 502: Software DevSecOps

This course will allow you to explore key principles of a DevSecOps approach to software development. Development (Dev) and operations (Ops) are the union of people, processes, and technology to continually automate and develop higher-quality/more reliable software products faster. Security (Sec) is integrated into a typical DevOps pipeline to address potential security issues in code as soon as possible in the software development lifecycle.

SFWE 503: Software Project Management

In this course, you will learn how to plan, track, and communicate the status of large-scale software projects to a diverse group of stakeholders. Using modern traditional and Agile software development methodologies and tools and emulating a realistic software development project, students will be immersed in the activities used by industry to develop, manage, and monitor software product development throughout the semester. You’ll learn why planning a software project is important, what constitutes a good plan, how to adapt to the unexpected and unknowns that are likely to occur throughout the project development, and how to track and share the status of the project with your team members, other teams, and the customers/business managers.

SFWE 504: Software Requirements Analysis & Test

Learn how to derive and develop software requirements that are measurable, testable, and lead to a compliant software design and implementation. Using industry best practices and tools, you will learn how to elicit, analyze, specify, and validate functional requirements (what should the software system do) and non-functional software requirements (how should the software system fulfill the functional requirements). You will develop software requirement models and specifications that capture the customer/user's needs.

SFWE 505: Software Architecture & Design

In this course, you'll explore different architectural styles and patterns and learn to apply modern processes, methods, and tools in architecting, modeling, and designing software systems. They will also learn the importance of developing a sound software architecture as part of the overall software design.  

SFWE 506: Distributed Computing

In this course, you will explore the unique aspects and considerations required to develop a large-scale software product in a distributed computing environment. Distributed computing refers to a system where processing and data storage are distributed across multiple devices or systems rather than being handled by a single central device. In a distributed system, each device or system has its own processing capabilities and may also store and manage its own data. 

SFWE 507: Foundations of Software Engineering

Gain foundational skills and knowledge used by software engineers in diverse industries. The course introduces you to the different software development lifecycle (SDLC) phases used in developing, delivering, and maintaining software products for a wide variety of applications. Common software process models will be introduced, along with developing an understanding of the importance of defining software requirements, developing software architectures and designs, and the various forms of testing that go into delivering reliable and resilient software systems.

SFWE 509: Cloud Computing Principles and Practices

This introductory course on cloud computing delves into the fundamental technologies and ideas that make up contemporary cloud computing infrastructure. You'll get hands-on practice using cloud service models (IaaS, PaaS, SaaS, FaaS), virtualization, data centers, cloud management, and essential Linux commands. The course also covers advanced topics such as cloud storage, containers, microservices, serverless computing, cloud security, emerging trends in cloud IoT, mobile clouds, edge computing, and big data processing.

SFWE 510: Cloud Native Software Engineering

This course introduces the design and implementation of decentralized systems with up-to-date software architecture and relevant development frameworks. Topics include inter-module communication, asynchronous processing, security, concurrency, parallelism, and an overview of contemporary enterprise technology and challenges. The course also dives into the development, infrastructure, best practices, and DevOps practices for monitoring and debugging such systems.

Earning your Doctor of Philosophy in Software Engineering (PhD) will build core skills, including:

  • Agile methodology
  • Algorithm design & optimization
  • Artificial Intelligence
  • Cloud & distributed computing
  • Continuous deployment
  • Continuous integration
  • Cybersecurity practices & standards
  • Full stack development
  • Machine learning algorithms & approaches
  • Programming language proficiency
  • Software Development Lifecycle
  • Software engineering

Potential Career Paths

Graduates of the Software Engineering PhD program will be prepared to pursue careers in the following fields, among many others:

  • Artificial Intelligence/Machine Learning
  • Aerospace & Defense
  • Space Exploration
  • Data Science & Analytics
  • Medical Devices Technologies
  • Financial Systems & Technologies
  • Quantum Computing
  • Automotive/Vehicle Networking/Autonomous Driving
  • Cybersecurity Analysis
  • Engineering
  • Systems & Software Solutions Architecture
  • Mobile Computing
  • Computer Vision
  • Cloud Computing/Networking

You may also be interested in

Cybersecurity Engineers

Cyber and Information Operations Master of Science

Electrical engineering worker working outdoors

Electrical and Computer Engineering Master of Science

Woman giving a public health presentation to an audience

Public Health Master of Public Health

man working on a laptop

How to Apply

Student smiling

Tuition & Aid

Library books

UC Irvine Department of Informatics

Ph.D. Software Engineering

A new code search engine. New insights into how trust emerges (or doesn’t) in distributed software development organizations. New visualizations to aid developers in debugging code. New lessons about the quality of open-source components. A new Internet infrastructure that enables secure computational exchange.

These are just some examples of the wide variety of projects being worked on by current Ph.D. students in the software engineering Ph.D. program at UC Irvine.

As software continues to transform society in dramatic and powerful ways, we must improve our ability to reliably develop high-quality systems. From early incarnations as just an idea or set of requirements to when software is actually built, deployed and customized in the field, many challenges exist across the lifecycle that make creating software still a non-trivial endeavor today.

The software engineering Ph.D. program offers students the opportunity to tackle these challenges, whether it is through designing new tools, performing studies of developers and teams at work, creating new infrastructures or developing new theories about software and how it is developed. No fewer than six faculty members bring a broad range of expertise and perspectives to the program, guaranteeing a diverse yet deep education in the topic.

A strong core of classes introduces students to classic material and recent innovations. At the same time, we focus on research from the beginning. New students are required to identify and experiment with one or more research topics early, so that they can become familiar with the nature of research, write papers, attend conferences and begin to become part of the broader software engineering community. This focus on research naturally continues throughout the program, with an emphasis on publishing novel results in the appropriate venues.

Why study at UC Irvine?

  • Excellence . You will be part of a world-class group of faculty and students who have an outstanding track record of publishing innovative and impactful research.
  • Placement . We prepare our students for rich, fulfilling careers — as faculty members in academia, researchers at corporate research labs, development leads all throughout the industry and entrepreneurs starting their own businesses.
  • Support . You will join a team that strongly believes that working together is essential to progress. Whether within a research group or across groups, we encourage you to seek advice from and work with other faculty members and students.
  • Connections . We host a steady stream of visitors from all over the world to whom you get to talk, demo and present. Moreover, we help connect you with research labs and industry for internships that complement your research.
  • Diversity . UCI was founded with a focus on diversity of thought, experiences and ideas. Our department faculty represent a wide variety of disciplinary backgrounds and have in-depth collaborations across campus.

Interested?

We are always looking for talented students to join! To learn more about our work and accomplishments, we encourage you to explore this web site, as well as the web sites of many research labs and centers in the department. Should you have any questions, please do not hesitate to contact us via our vice chair for graduate affairs or by e-mailing one of the software engineering faculty directly.

Detailed requirements

Please see the catalogue for a detailed description of the requirements of the software engineering Ph.D. program.

  • Graduate Application Process
  • Past Dissertations
  • Ph.D. Research
  • Labs & Centers
  • Student Profiles
  • Graduate Alumni Spotlights
  • Coming from Abroad

phd topics in software testing

“For me, the most enjoyable part of doing research is finding myself at the limits of knowledge. Doing research gives you the ability to provide new findings and perspectives on various phenomena.”

  • Costs, Scholarships & Aid
  • Campus Life
  • Faculty & Staff
  • Family & Visitors
  • DFW Community
  • Galaxy Login
  • Academic Calendar
  • Human Resources
  • Accessibility

Doctor of Philosophy in Software Engineering

Program description.

The PhD in Software Engineering program is tailored to the student. The student must arrange a course program with the guidance and approval of a faculty member chosen as their graduate advisor. Adjustments can be made as the student’s interests develop and a specific dissertation top is chosen.

The software engineering researchers in the Department of Computer Science are focused on issues related to effectively developing large-scale, complex systems. In particular, new categories of applications are emerging such as big data, cyber physical, and autonomous adaptable systems, which continue to drive leading edge research in software engineering on diverse topics. Key research areas include requirements engineering, architecture, design, service-oriented computing, testing and verification, static analysis, software maintenance and multi-agent systems.

Career Opportunities

Virtually all major companies and corporations need software related core competencies. Software engineers are central in developing and making use of these competencies. They work in teams that interface extensively with clients, company executives, IT managers, data scientists, security and domain experts.

Software engineering professionals are creative, highly collaborative, well paid, and in very high demand with employers. Graduates of the program seek academic positions at universities, as well as positions as researchers, senior software engineers and data scientists. Graduates often become industry experts in various fields like cybersecurity, artificial intelligence, machine learning and natural language processing.

Marketable Skills

Review the marketable skills for this academic program.

Application Requirements

Test score required:  Yes

Deadlines:  University  deadlines  apply.

Admission Option One

  • Degree requirements:  A master’s degree in computer science or its equivalent
  • GPA:  Minimum of 3.5
  • Test score:  Minimum revised GRE scores of 308, 153, 155, and 4 for the combined, verbal, quantitative and analytical writing components, respectively, are advisable.

Admission Option Two

  • Degree requirements:  A BS degree in related area that includes two semesters of calculus and linear algebra.
  • GPA:  Minimum of 3.5 in the last 60 semester credit hours.
  • Test score:  Minimum revised GRE scores of 315, 156, 159 and 4 for the combined, verbal, quantitative and analytical writing components, respectively, are advisable.

Applicants are admitted on a competitive basis.

Contact Information

Admissions Email: [email protected]

Shyam Karrah Email: [email protected] Phone: 972-883-4197 Office: ECSS 4.704 Website: personal.utdallas.edu/~skarrah

Erik Jonsson School of Engineering and Computer Science The University of Texas at Dallas, ECW41 800 W. Campbell Road Richardson, TX 75080-3021 Email: [email protected]

cs.utdallas.edu engineering.utdallas.edu

Request More Information

phd topics in software testing

Contact Email

We have received your request for more information, and thank you for your interest! We are excited to get to know you and for you to explore UT Dallas. You’ll begin receiving emails and information about our beautiful campus, excellent academic programs and admission processes. If you have any questions, email  [email protected].

The University of Texas at Dallas respects your right to privacy . By submitting this form, you consent to receive emails and calls from a representative of the University.

* Required Field

800 W. Campbell Road Richardson, Texas 75080-3021

972-883-2111

Copyright Information

© The University of Texas at Dallas

Questions or comments about this page?

Stay Connected with UT Dallas

  • Emergency Preparedness
  • Campus Carry
  • Campus Police
  • Required links
  • Tobacco-Free Campus
  • Texas Veterans Portal
  • Work at UT Dallas
  • Nondiscrimination Policy
  • Title IX Initiatives
  • Student Achievements
  • HEERF Reporting
  • Counseling/Mental Health
  • Hazing Prevention
  • Public Course and Syllabus Information
  • Privacy Policy
  • My.SiebelSchool

Programming Languages, Formal Methods, and Software Engineering

Research Groups/Events

Related News

The growing complexity and scale of software poses formidable challenges for reliability, security, performance, and productivity. Our faculty tackle these problems by developing innovative techniques in programming language design and semantics; techniques and tools for formal verification, software testing, and automated debugging; and models and verification techniques for embedded systems that interact with physical entities.

We are known for theoretical advances such as the  Actor model of concurrency ;  rewriting logic  and related semantic frameworks;  concolic testing  for automated test generation; automated logic reasoning; automated inference of specifications and invariants; and control-theoretic techniques for analyzing cyberphysical systems. We have also produced widely-used tools and techniques like the  Maude rewriting engine ; the  LLVM compiler infrastructure ;  HPVM and ApproxHPVM  systems for compiling and approximating programs running on heterogeneous systems;  K Framework ;  Probfuzz ,  PSense , and  AxProf  systems for testing probabilistic and randomized computations; the  first complete formalizations of C, Java, and Javascript ; and regression testing techniques.

Strengths and Impact

Theory and System Development

There are several thrusts of research in our area, their common denominator being the harmony we keep between theory and system development. Compilers, compiler optimizations, and program transformation are traditional topics, but we approach them using novel techniques and tools, which not only get the job done but also do it with a high level of correctness confidence, sometimes even provably correctly. Parallel computing and models for concurrency are complex areas where we have unique expertise. Several of our faculty push conventional formal methods and verification into the realm of cyber-physical systems, which have both discrete and continuous behaviors, as well as into probabilistic and approximate models of computation. Software testing is one of our core strengths in software engineering; it is often the case that 10% or more of all the papers in top testing conferences are authored by Illinois faculty. In programming languages, we cover semantics and logics for program reasoning very well, proposing frameworks and foundations that are significantly better than the state-of-the-art.

Our research covers a broad spectrum, from foundationally advanced interactive theorem proving and category and type theory, to practical software engineering such as test selection and energy consumption. Security is also one of our strengths, being known for one of the most prominent attacker models in the security community, as well as for using modern programming language and formal methods and software engineering techniques to detect security flaws and improve system security. Importantly, we are actively investigating ideas and success stories from other areas, such as operating systems, numerical analysis, artificial intelligence, machine learning, and natural language processing, to propose innovative synergies between these fields and our area and specific scientific interests.

Research Efforts and Groups

  • The LLVM Compiler Infrastructure
  • PL/FM/SE at Illinois
  • Coordinated Science Lab (CSL)
  • Assured Cloud Computing-University Center of Excellence (ACC-UCoE) in the Information Trust Institute
  • Reliable Autonomy Research Group
  • Brett Daniel Software Engineering Seminar (cs591se) Subscribe to FM seminar mailing list .
  • Formal Methods Seminar (cs591fm) Subscribe to SE seminar mailing list .
  • Illinois Computer Science Speaker Series : brings prominent leaders and experts to campus to share their ideas and promote conversations about important challenges and topics in the discipline.

Faculty & Affiliate Faculty

Programming Languages, Compilers, Parallel Programming, Domain-Specific Languages, Automated Debugging, Formal Verification, Software Repositories

Models for Concurrent Computation; Parallel and Distributed Algorithms 

Parsers and Parser Generators, Clone Detection, Functional Programming and Type Classes, Matching Logic, Category Theory

Formal Methods, Programming Languages, Software Engineering, Semantics, Interactive Theorem Proving, Model Checking, Type Systems, Program Verification, Compiler Correctness

Neural Testing and Debugging, ML4Code Interpretability, Analysis and Testing of Autonomous Software Systems

Many-Task Computing and Workflows, Parallel and Distributed Computing, Sustainable and Open Research Science Software

Software Engineering, Software Testing

Formal Executable Specification and Verification, Software Architecture 

Design of Secure Decentralized Systems and Cryptocurrencies

Program Optimization Systems, Probabilistic Programming, Approximate Computing Techniques

Verification, Automated Reasoning, Autonomous Systems, Embedded Systems

Program Analysis, Transformation, and Optimization 

Formal Software Verification, Secure System Design, Program Synthesis, Logic, and AI

Languages for Parallel Computing, Run-Time Systems for Parallel Computing, Compilers for Domain Specific Parallel Languages

Proof Engineering, Proof Automation, Interactive Theorem Proving, Verification, Type Theory, and Dependent Types

Software, Design, Semantics and Implementation of Programming Specification Languages 

Numerical Program Analysis, Formal Verification, Abstract Interpretation, System Verification, Formal Automated Reasoning

Formal Verification of Software, Security, Cyber-Physical Systems, and Probabilistic Programs; Automata Theory; Logic 

Operating Systems, Cloud and Datacenter Systems, System Reliability and Resilience, Large-Scale System Management, Configuration Management, Reliability Engineering

Software Engineering, Software Testing and Debugging, Automated Program Repair, Program Analysis, Synergy between AI/FM and Software Engineering

Adjunct Faculty

Software Engineering, General and Interactive Program Transformations 

CS professor Daniel Kang volunteers at Ethiopian summer coding program

  • August 26, 2024

CS professor Marinov wins Test of Time award at FSE 2024

  • July 23, 2024

CS Professor Sanjay Kale honored with 2024 Achievement Award in HPDC

  • July 10, 2024

Max Fan, CS + Philosophy student, awarded NSF Graduate Research Fellowship for his work on non-standard temporal logic semantics

  • May 8, 2024

Load more news

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

Dissertations

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

PhD Dissertations in the Area of Software Engineering

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Aysu Betin Can . Design for Verification for Concurrent and Distributed Programs . University of California Santa Barbara (2005, advisor: Tevfik Bultan ). Abstract .

Gabriela Arevalo . High Level Views in Object-Oriented Systems using Formal Concept Analysis . University of Bern (Jan 14 2005, advisor: Oscar Nierstrasz ). Abstract .

Vibha Sazawal . Connecting Software Design Principles to Source Code for Improved Ease of Change . University of Washington (Dec 2005, advisor: David Notkin ). Abstract .

Paul Williams . CuPIDS: Increasing Information System Security Through the Use of Dedicated Co-processing . Purdue University (Aug 2005, advisor: Eugene Spafford ). Abstract .

Di Marco Antinisca . Model-based Performance Analysis of Software Architectures . University dell Aquila (Jun 2005, advisor: Paola Inverardi ). Abstract .

Tivoli Massimo . An architectural approach to the automatic composition and adaptation of software components . Universita dell Aquila (Jun 6 2005, advisor: Paola Inverardi ). Abstract .

Pelliccione Patrizio . Charmy: A framework for Software Architecture Specification and Analysis . Univesita dell Aquila, Italy (2005, advisor: Paola Inverardi ). Abstract .

Tao Xie . Improving Effectiveness of Automated Software Testing in the Absence of Specifications . University of Washington (2005, advisor: David Notkin ). Abstract .

Martin Pinzger . ArchView - Analyzing Evolutionary Aspects of Complex Software Systems . University of Technology, Vienna (2005, advisor: Harald Gall ). Abstract .

Gerald Reif . WEESA - Web Engineering for Semantic Web Applications . University of Technology, Vienna (2005, advisor: Harald Gall ). Abstract .

Martin Robillard . Representing Concerns in Source Code . University of British Columbia (2004, advisor: Gail Murphy ). Abstract .

Robby  . Domain-specic Software Model Checking . Kansas State University (Aug 2004, advisor: John Hatcliff and Matthew B. Dwyer). Abstract .

Laura Campbell . Enabling Integrative Analyses and Refinement of Object-Oriented Models with Special Emphasis on High-Assurance Embedded Systems . Michigan State University (2004, advisor: Betty H.C. Cheng ). Abstract .

Jin Dean . Ontological Adaptive Integration of Reverse Engineering Tools . Queen's University (Aug 2004, advisor: James R. Cordy ). Abstract .

Tuba Yavuz-Kahveci Yavuz-Kahveci . Specification and Automated Verification of Concurrent Software Systems . University of California, Santa Barbara (Sep 2004, advisor: Tevfik Bultan ). Abstract .

Michael Collard . Meta-Differencing: An Infrastructure for Source Code Difference Analysis . Kent State University (Aug 21 2004, advisor: Jonathan I. Maletic ). Abstract .

Joerg P. Wadsack . Data-oriented Reengineering . University of Paderborn (Jul 07 2004, advisor: Wilhelm Schafer ). Abstract .

Nathan Ryan . Using Event-Based Translation to Support Dynamic Protocol Evolution . University of Colorado, Boulder (2004, advisor: Alexander L. Wolf ). Abstract .

Christine Julien . Supporting Context-Aware Application Development in Ad Hoc Mobile Networks . Washington University in Saint Louis (2004, advisor: Gruia-Catalin Roman ). Abstract .

Marija Mikic-Rakic . Software Architectural Support for Disconnected Operation in Distributed Environments . University of Southern California (2004, advisor: Nenad Medvidovic ). Abstract .

Nigamanth Sridhar . Dynamically Reconfigurable Parameterized Components . The Ohio State University (2004, advisor: Paolo A.G. Sivilotti and Bruce W. Weide). Abstract .

Tuba Yavuz-Kahveci . Specification and Automated Verification of Concurrent Software Systems . University of California, Santa Barbara (Sep 2004, advisor: Tevfik Bultan ). Abstract .

Ranjit Jhala . Program Verification by Lazy Abstraction . UC Berkeley (Dec 12 2004, advisor: Thomas A. Henzinger ). Abstract .

Sergio Soares . An Aspect-Oriented Implementation Method . Centro de Informatica, UFPE Brazil (Oct 2004, advisor: Paulo Borba ). Abstract .

Suan Hsi Yong . Runtime Monitoring of C Programs for Security and Correctness . University of Wisconsin-Madison (Aug 2004, advisor: Susan Horwitz ). Abstract .

Christian Luer . User-Centric Deployment Support in a Component Platform . University of California, Irvine (Aug 2004, advisor: Andre van der Hoek ). Abstract .

Ben Liblit . Cooperative Bug Isolation . University of California, Berkeley (2004, advisor: Alex Aiken ). Abstract .

Gregory Kulczycki . Direct Reasoning . Clemson University (2004, advisor: Murali Sitaraman ). Abstract .

Nikunj Mehta . Composing Style-Based Software Architectures From Architectural Primitives . University of Southern California (2004, advisor: Nenad Medvidovic ). Abstract .

Scott Pike . Distributed Resource Allocation with Scalable Crash Containment . The Ohio State University (2004, advisor: Paul Sivilotti ). Abstract .

Daqing Hou . FCL: Automatically Detecting Structural Errors in Framework-Based Development . University of Alberta (Dec 19 2003, advisor: H. James Hoover ). Abstract .

Yoonsik Cheon . A Runtime Assertion Checker for the Java Modeling Language . Iowa State University (Apr 2003, advisor: Gary T. Leavens ). Abstract .

Jeffrey Carver . The Impact of Background and Experience on Software Inspections . University of Maryland (2003, advisor: Victor R. Basili ). Abstract .

Aaron Greenhouse . A Programmer-Oriented Approach to Safe Concurrency . Carnegie Mellon University (2003, advisor: William L. Scherlis ). Abstract .

Rohit Khare . Extending the Representational State Transfer (REST) Architectural Style for Decentralized Systems . University of California, Irvine (2003, advisor: Richard N. Taylor ). Abstract .

Joost Visser . Generic Traversal over Typed Source Code Representations . University of Amsterdam (Feb 2003, advisor: Paul Klint ). Abstract .

Johannes Mayer . On Quality Improvement of Scientific Software Theory, Methods, and Application in the GeoStoch Development . Ulm University (Jul 2003, advisor: Franz Schweiggert ). Abstract .

Raghavan Komondoor . Automated Duplicated-Code Detection and Procedure Extraction . University of Wisconsin (Aug 2003 and Susan Horwitz). Abstract .

Tahvildari Ladan . Quality-Driven Object-Oriented Software Reengineering Framework . University of Waterloo (Aug 2003, advisor: Kostas Kontogiannis ). Abstract .

Yvonne Coady . Exploring an Aspect-Oriented Approach to Operating System Code . University of British Columbia (Aug 2003, advisor: Gregor Kiczales ). Abstract .

Jonathan Aldrich . Using Types to Enforce Architectural Structure . University of Washington (Aug 22 2003, advisor: Craig Chambers and David Notkin). Abstract .

Michele Lanza . Object-Oriented Reverse Engineering Coarse-grained, Fine-grained, and Evolutionary Software Visualization . University of Berne (May 2003, advisor: Oscar Nierstrasz ). Abstract .

Andrian Marcus . Semantic Driven Program Analysis . Kent State University (Aug 15 2003, advisor: Jonathan Maletic ). Abstract .

Licia Capra . Reflective Mobile Middleware for Context-Aware Applications . University College London (2003, advisor: Wolfgang Emmerich ). Abstract .

Clemens Kerer . XGuide - Concurrent Web Development with Contracts . University of Technology, Vienna (2003, advisor: Mehdi Jazayeri ). Abstract .

Sebastian Uchitel . Incremental Elaboration of Scenario-Based Specifications Using Implied Scenarios . Imperial College, London (2003, advisor: Jeff Kramer ). Abstract .

Atanas Rountev . Dataflow Analysis of Software Fragments . Rutgers University (2002, advisor: Barbara G. Ryder ). Abstract .

Thomas Alspaugh . Scenario Networks and Formalization for Scenario Management . North Carolina State University (2002, advisor: Annie I. Anton ). Abstract .

Tamar Richner-Hanna . Recovering Behavioral Design Views: a Query-Based Approach . University Of Berne, Switzerland (May 17 2002, advisor: Prof. Dr. O. Nierstrasz and Dr. S. Ducasse). Abstract .

Andrew Walenstein . Cognitive Support in Software Engineering Tools: A Distributed Cognition Framework . Simon Fraser University (May 7 2002, advisor: Robert D. Cameron ). Abstract .

Henry Muccini . Software Architecture for Testing, Coordination and Views Model Checking . University of Rome (La Sapienza) (2002, advisor: Paola Inverardi and Antonia Bertolino). Abstract .

Tamar Richner-Hanna . Recovering Behavioral Design Views: a Query-Based Approach . University Of Berne, Switzerland (May 2002, advisor: O. Nierstrasz and S. Ducasse). Abstract .

Irfan Pyarali . Patterns For Providing Real-Time Guarantees In Doc Middleware . Washington University (2002, advisor: Douglas Schmidt ). Abstract .

Radu Marinescu . Measurement and Quality in Object-Oriented Design . Politehnica University of Timisoara (2002, advisor: Gerhard Goos ). Abstract .

Jeff Foster . Type Qualifiers: Lightweight Specifications to Improve Software Quality . University of California, Berkeley (2002, advisor: Alex Aiken ). Abstract .

Gschwind Thomas . Adaptation and Composition Techniques for Component-Based Software Engineering . Technische Universitat Wien (2002, advisor: Mehdi Jazayeri ). Abstract .

Jeff Gray . Aspect-Oriented Domain-Specific Modeling: A Generative Approach Using a Metaweaver Framework . Vanderbilt University (2002, advisor: Stephen Schach ). Abstract .

Engin Kirda . Engineering Device-Independent Web Services: An XML/XSL-based approach to creating flexible and extensible multi-device . Technical University of Vienna, Austria (2002, advisor: Mehdi Jazayeri ). Abstract .

Dietmar Pfahl . An Integrated Approach to Simulation-Based Learning in Support of Strategic and Project Management in Software Organisations . University of Kaiserslautern (Jan 10 2001, advisor: Dieter Rombach ). Abstract .

Isabel Ramos . The Construction of Work Realities Assisted by the Adoption of Computer-Based Systems . University of Minho, Portugal (2001, advisor: Daniel M. Berry ). Abstract .

Sander Tichelaar . Modeling Object-Oriented Software for Reverse Engineering and Refactoring . University of Berne (Dec 14 2001, advisor: Oscar Nierstrasz ). Abstract .

Jurgen Munch . Pattern-based Development of Software Project Plans . University of Kaiserslautern (Nov 2001, advisor: Dieter Rombach ). Abstract .

Atif Memon . A Comprehensive Framework for Testing Graphical User Interfaces . University of Pittsburg (Jul 27 2001, advisor: Mary Lou Soffa ). Abstract .

Corina Pasareanu . Abstraction and Modular Reasoning for the Verification of Software . Kansas State University (Sep 2001, advisor: Matthew Dwyer ). Abstract .

Cecilia Mascolo . Specification, Analysis and Prototyping of Mobile Code Systems . Universita di Bologna (2001, advisor: Paolo Ciancarini ). Abstract .

Oliver Laitenberger . Cost-effective Detection of Software Defects through Perspective-based Inspections . University of Kaiserslautern (2000, advisor: Dieter Rombach and Victor Basili). Abstract .

Kim Mens . Automating architectural conformance checking by means of logic meta programming . Vrije Universiteit Brussel (Oct 23 2000, advisor: Theo D'Hondt ). Abstract .

William McUmber . A Generic Framework for Formalizing Object-Oriented Modeling Notations for Embedded Systems Development . Michigan State University (Feb 2000, advisor: Betty H. C. Cheng ). Abstract .

William Chan . Symbolic model checking for large software specifications . University of Washington (2000, advisor: David Notkin and Richard Anderson). Abstract .

Peyman Oreizy . Open Architecture Software: A Flexible Approach to Decentralized Software Evolution . University of California, Irvine (2000, advisor: Richard N. Taylor ). Abstract .

Roy Fielding . Architectural Styles and the Design of Network-based Software Architectures . University of California, Irvine (2000, advisor: Richard N. Taylor ). Abstract .

Judith Stafford . A Formal, Language-Independent, and Compositional Approach to Interprocedural Control Dependence Analysis . University of Colorado at Boulder (2000, advisor: Alexander L. Wolf ). Abstract .

Jim Whitehead . An Analysis of the Hypertext Versioning Domain . University of California, Irvine (2000, advisor: Richard N. Taylor ). Abstract .

Mario Kupries . Interagent Conntectors in Multiagent System . University of Potsdam (Nov 20 2000, advisor: Prof. Dr. Erika Horn ). Abstract .

Andre van der Hoek . A Reusable, Distributed Repository for Configuration Management Policy Programming . University of California, Irvine (2000, advisor: Alexander L. Wolf ). Abstract .

Ines Jaramillo Clara . Source Level Debugging Techniques and Tools for Optimized Code . University of Pittsburgh (2000, advisor: Rajiv Gupta and Mary Lou Soffa). Abstract .

Zhenyi Jin . A Software Architecture-based Testing Technique . George Mason University (2000, advisor: Jeff Offutt ). Abstract .

Michael Ernst . Dynamically Discovering Likely Program Invariants . University of Washington (Aug 2000, advisor: David Notkin ). Abstract .

Darren Atkinson . The Design and Implementation of Practical and Task-Oriented Whole-Program Analysis Tools . University of California, San Diego (1999, advisor: William G. Griswold ). Abstract .

Richard Hall . Agent-based Software Configuration and Deployment . University of Colorado, Boulder (1999, advisor: Alexander L. Wolf ). Abstract .

Nenad Medvidovic . Architecture-Based Specification-Time Software Evolution . University of California, Irvine (1999, advisor: Richard N. Taylor ). Abstract .

Tom Mens . A Formal Foundation for Object-Oriented Software Evolution . Vrije Universiteit Brussel (Sep 1999, advisor: D'Hondt Theo ). Abstract .

Robert Monroe . Rapid Development of Custom Software Architecture Design Environments . Carnegie Mellon University (1999, advisor: David Garlan ). Abstract .

Michel Wermelinger . Specification of Software Architecture Reconfiguration . New University of Lisbon, Portugal (Dec 16 1999, advisor: Jose Luiz Fiadeiro ). Abstract .

Antonio Carzaniga . Architectures for an Event Notification Service Scalable to Wide-area Networks . Politecnico di Milano, Italy (1999, advisor: Alfonso Fuggetta ). Abstract .

Robert De Line . Resolving packaging mismatch . Carnegie Mellon Univeristy (1999, advisor: Mary Shaw ). Abstract .

Karl Goeschka . Architectures of Web Applications . Vienna University of Technology (1999, advisor: Richard Eier and Mehdi Jazayeri). Abstract .

Manfred Hauswirth . Internet-Scale Push Systems for Information Distribution---Architecture, Components, and Communication . Technical University of Vienna, Austria (1999, advisor: Mehdi Jazayeri ). Abstract .

Goudarzi Kaveh Moazami . Consistency Preserving Dynamic Reconfiguration of Distributed Systems . Imperial College of Science, Technology and Medicine, London (1999, advisor: Jeff Kramer ). Abstract .

Forrest Shull . Developing Techniques for Using Software Documents: A Series of Empirical Studies . University of Maryland, College Park (Dec 1998, advisor: Victor Basili ). Abstract .

Aniruddha Gokhale . Design Principles and Optimizations for High Performance, Real-time CORBA . Washington University in St. Louis (May 1998, advisor: Dr. Douglas C. Schmidt ). Abstract .

Michelle Lee . Change Impact Analysis for Object-Oriented Software . George Mason University (1998, advisor: Jeff Offutt ). Abstract .

Tevfik Bultan . Automated Symbolic Analysis of Reactive Systems . University of Maryland, College Park (1998, advisor: Richard Gerber ). Abstract .

David Fleming . Foundations of Object-Based Specification Design . West Virginia University (1998, advisor: Murali Sitaraman ). Abstract .

William Hefley . Influence In Work Groups A Study of Software Development Teams . Carnegie Mellon University (1998, advisor: Sara Kiesler ). Abstract .

Andrea Zisman . Information Discovery for Interoperable Autonomous Database Systems . University of London, Imperial College of Science, Technology and Medicine (1998, advisor: Jeff Kramer ). Abstract .

Abdelsalam Heddaya . Managing Event-based Replication for Abstract Data Types in Distributed Systems . Harvard University (1988, advisor: Bill Weihl ). Abstract .

Will Tracz . Parameterized Programming in LILEANNA . Stanford University (Jun 1997, advisor: David Luckham ). Abstract .

Manoel Mendonça . An Approach to Improving Existing Measurement Frameworks in Software Development Organizations . University of Maryland (1997, advisor: Victor Basili ). Abstract .

Richard Paige . Formal Method Integration via Heterogeneous Notations . University of Toronto (Nov 1997, advisor: Eric C.R. Hehner ). Abstract .

Jonathan Cook . Process Discovery and Validation through Event Data Analysis . University of Colorado, Boulder (1996, advisor: Alexander L. Wolf ). Abstract .

Kingsum Chow . Supporting Library Interface Changes in Open System Software Evolution . University of Washington (1996, advisor: David Notkin ). Abstract .

Jonathan Maletic . The Software Service Bay: A Knowledge Based Software Maintenance Methodology . Wayne State University (1995, advisor: Robert Reynolds ). Abstract .

Wayne Heym . Computer Program Verification: Improvements for Human Reasoning . The Ohio State University (1995, advisor: Bruce W. Weide ). Abstract .

Matthew Dwyer . FLAVERS: Data Flow Analysis for Verifying Properties of Concurrent Programs . University of Massachusetts - Amherst (1995, advisor: Lori Clarke ). Abstract .

Wolfgang Emmerich . Tool Construction for Process-Centred Software Development Environments based on Object Databases . University of Paderborn (1995, advisor: Wilhelm Schafer ). Abstract .

Tim Wahls . On the execution of high level formal specifications . Iowa State University (1995, advisor: Gary Leavens and Albert Baker). Abstract .

Bashar Nuseibeh . A multi-perspective framework for method integration . Imperial College London (Oct 1994, advisor: Anthony Finkelstein ). Abstract .

Douglas Schmidt . An Object-Oriented Framework for Experimenting with Alternative Process Architectures for Parallelizing Communication Subsystems . University of California, Irvine (1994, advisor: Tatsuya Suda ). Abstract .

Chonchanok Viravan . Enhancing Debugging Technology . Perdue University (1994, advisor: Eugene H. Spafford and Albert Baker). Abstract .

John Grundy . Multiple textual and graphical views for interactive software development environments . University of Auckland, New Zealand (Nov 1993, advisor: John Hosking ). Abstract .

Harald Gall . Object-Mapping and System Transformation for object-oriented Reverse Engineering in COREM . Technical University of Vienna, Austria (1993, advisor: Roland T. Mittermeir ). Abstract .

Earl Waldin . Using multiple representations for efficient communication of abstract values . Massachusetts Institute of Technology, (1992, advisor: William Weihl ). Abstract .

William Griswold . Program Restructuring as an Aid to Software Maintenance . University of Washington (1991, advisor: David Notkin ). Abstract .

Ira Baxter . Transformational Maintenance by Reuse of Design Histories . University of California, Irvine (1990, advisor: Peter Freeman ). Abstract .

Gary Todd Leavens . Verifying Object-Oriented Programs that use Subtypes . Massachusetts Institute of Technology (1989, advisor: William E. Weihl ). Abstract .

Jeff Offutt . Automatic Test Data Generation . Georgia Institute of Technology (1988, advisor: Richard A. DeMillo ). Abstract .

Raymond Klefstad . Maintaining a Uniform User Interface for an Ada Programming Environment . University of California, Irvine (1988, advisor: Richard N. Taylor ). Abstract .

David S. Rosenblum . Design and Verification of Distributed Tasking Supervisors for Concurrent Programming Languages . Stanford University (1988, advisor: David C. Luckham ). Abstract .

Alexander Wolf . Language and Tool Support for Precise Interface Control . University of Massachusetts at Amherst (1985, advisor: Lori A. Clarke and Jack C. Wileden). Abstract .

William Bail . Algorithm Structure Analysis Using Hierarchical Abstract Computers . University of Maryland (1985, advisor: Marvin Zelkowitz ). Abstract .

David Notkin . Interactive Structure-Oriented Computing . Carnegie Mellon University (1984, advisor: Nico Habermann ). Abstract .

Jeanette Wing . A Two-Tiered Approach to Specifying Programs . MIT (1983, advisor: John Guttag ). Abstract .

Richard Taylor . Static Analysis of the Synchronization Structure of Concurrent Programs . University of Colorado, Boulder (1980, advisor: Leon J. Osterweil ). Abstract .

© 2020 ACM SIGSOFT

Home | Sitemap

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 Software Engineering 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.

List of Software Engineer Research Topics in 2024

Here is a list of Software Engineer research topics:

  • Artificial Intelligence and Software Engineering
  • Natural Language Processing 
  • Applications of Data Mining in Software Engineering
  • Data Modeling
  • Verification and Validation
  • Software Project Management
  • Software Quality
  • Software Models

Top 10 Software Engineer Research Topics

Let's discuss the top Software Engineer Research Topics in a detailed way:

1. Artificial Intelligence and Software Engineering

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

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

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

b. Efficiency

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

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

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

SDLC

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)

 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. 

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. 

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

NameDateFeeKnow more

Course advisor icon

Invenia Blog

Blogging About Electricity Grids, Julia, and Machine Learning

The Hitchhiker’s Guide to Research Software Engineering: From PhD to RSE

Author: Glenn Moynihan

In 2017, the twilight days of my PhD in computational physics, I found myself ready to leave academia behind. While my research was interesting, it was not what I wanted to pursue full time. However, I was happy with the type of work I was doing, contributing to research software, and I wanted to apply myself in a more industrial setting.

Many postgraduates face a similar decision. A study conducted by the Royal Society in 2010 reported that only 3.5% of PhD graduates end up in permanent research positions in academia. Leaving aside the roots of the brain drain on Universities, it is a compelling statistic that the vast majority of post-graduates end up leaving academia for industry at some point in their career. It comes as no surprise that there are a growing number of bootcamps like S2DS , faculty.ai , and Insight that have sprung up in response to this trend, for machine learning and data science especially. There are also no shortage of helpful forum discussions and blog posts outlining what you should do in order to “break into the industry”, as well as many that relate the personal experiences of those who ultimately made the switch.

While the advice that follows in this blog post is directed at those looking to change careers, it would equally benefit those who opt to remain in the academic track. Since the environment and incentives around building academic research software are very different to those of industry, the workflows around the former are, in general, not guided by the same engineering practices that are valued in the latter.

That is to say: there is a difference between what is important in writing software for research, and for a user-focused, software product . Academic research software prioritises scientific correctness and flexibility to experiment above all else in pursuit of the researchers’ end product: published papers. Industry software, on the other hand, prioritises maintainability, robustness, and testing as the software (generally speaking) is the product.

However, the two tracks share many common goals as well, such as catering to “users”, emphasising performance and reproducibility , but most importantly both ventures are collaborative . Arguably then, both sets of principles are needed to write and maintain high-quality research software. Incidentally, the Research Software Engineering group at Invenia is uniquely tasked with incorporating all these incentives into the development of our research packages in order to get the best of both worlds. But I digress.

What I wish I knew in my PhD

Most postgrads are self-taught programmers and learn from the same resources as their peers and collaborators, which are ostensibly adequate for academia. Many also tend to work in isolation on their part of the code base and don’t require merging with other contributors’ work very frequently. In industry, however, continuous integration underpins many development workflows. Under a continuous delivery cycle, a developer benefits from the prompt feedback and cooperation of a full team of professional engineers and can, therefore, learn to implement engineering best practices more efficiently.

As such, it feels like a missed opportunity for universities not to promote good engineering practices more and teach them to their students. Not least because having stable and maintainable tools are, in a sense, “public goods” in academia as much as industry. Yet, while everyone gains from improving the tools, researchers are not generally incentivised to invest their precious time or effort on these tasks unless it is part of some well-funded, high-impact initiative. As Jake VanderPlas remarked : “any time spent building and documenting software tools is time spent not writing research papers, which are the primary currency of the academic reward structure”.

Speaking personally, I learned a great deal about conducting research and scientific computing in my PhD; I could read and write code, squash bugs, and I wasn’t afraid of getting my hands dirty in monolithic code bases. As such, I felt comfortable at the command line but I failed to learn the basic tenets of proper code maintenance, unit testing, code review, version control, etc., that underpin good software engineering. While I had enough coding experience to have a sense of this at the time, I lacked the awareness of what I needed to know in order to improve or even where to start looking.

As is clear from the earlier statistic, this experience is likely not unique to me. It prompted me to share what I’ve learned since joining Invenia 18 months ago, so that it might guide those looking to make a similar move. The advice I provide is organised into three sections: the first recommends ways to learn a new programming language efficiently 1 ; the second describes some best practices you can adopt to improve the quality of the code you write; and the last commends the social aspect of community-driven software collaborations.

Lesson 1: Hone your craft

Practice : While clichéd, there is no avoiding the fact that it takes consistent practice over many many years to become masterful at anything, and programming is no exception.

Have personal projects : Practicing is easier said than done if your job doesn’t revolve around programming. A good way to get started either way is to undertake personal side-projects as a fun way to get to grips with a language, for instance via Project Euler , Kaggle Competitions , etc. These should be enough to get you off the ground and familiar with the syntax of the language.

Read code : Personal projects on their own are not enough to improve. If you really want to get better, you’ve got to read other people’s code: a lot of it. Check out the repositories of some of your favourite or most used packages—particularly if they are considered “high quality” 2 . See how the package is organised, how the documentation is written, and how the code is structured. Look at the open issues and pull requests. Who are the main contributors? Get a sense of what is being worked on and how the open-source community operates. This will give you an idea of the open issues facing the package and the language and the direction it is taking. It will also show you how to write idiomatic code , that is, in a way that is natural for that language.

Contribute : You should actually contribute to the code base you use. This is by far the most important advice for improving and I cannot overstate how instructive an experience this is. By getting your code reviewed you get prompt and informative feedback on what you’re doing wrong and how you can do better. It gives you the opportunity to try out what you’ve learned, learn something new, and improves your confidence in your ability. Contributing to open source and seeing your features being used is also rewarding, and that starts a positive feedback loop where you feel like contributing more. Further, when you start applying for jobs in industry people can see your work, and so know that you are good at what you do (I say this as a person who is now involved in reviewing these applications).

Study : Learning by experience is great but—at least for me—it takes a deliberate approach to formalise and cement new ideas. Read well-reviewed books on your language (appropriate for your level) and reinforce what you learn by tackling more complex tasks and venturing outside your comfort zone . Reading blog posts and articles about the language is also a great idea.

Ask for help: Sometimes a bug just stumps you, or you just don’t know how to implement a feature. In these circumstances, it’s quicker to reach out to experts who can help and maybe teach you something at the same time. More often than not, someone has had the same problem or they’re happy to point you in the right direction. I’m fortunate to work with Julia experts at Invenia, so when I have a problem they are always most helpful. But posting on public fora like Slack , Discourse , or StackOverflow is an option we all have.

Lesson 2: Software Engineering Practices

With respect to the environment and incentives in industry surrounding code maintainability, robustness, and testing, there are certain practices in place to encourage, enable, and ensure these qualities are met. These key practices can turn a collection of scripts into a fully implemented package one can use and rely upon with high confidence.

While there are without doubt many universities and courses that teach these practices to their students, I find they are often neglected by coding novices and academics alike, to their own disadvantage.

Take version control seriously: Git is a programming staple for version control, and while it is tempting to disregard it when working alone, without it you soon find yourself creating convoluted naming schemes for your files; frequently losing track of progress; and wasting time looking through email attachments for the older version of the code to replace the one you just messed up.

Git can be a little intimidating to get started, but once you are comfortable with the basic commands (fetch, add, commit, push, pull, merge) and a few others (checkout, rebase, reset) you will never look back. GitHub ’s utility, meanwhile, extends far beyond that of a programmatic hosting service; it provides documentation hosting , CI/CD pipelines , and many other features that enable efficient cross-party collaboration on an enterprise scale.

It cannot be overstated how truly indispensable Git and GitHub are when it comes to turning your code into functional packages, and the earlier you adopt these the better. It also helps to know how semantic versioning works, so you will know what it means to increment a package version from 1.2.3 to 1.3 and why.

Organise your code : In terms of packaging your code, get to know the typical package folder structure. Packages often contain src, docs, and test directories, as well as standard artefacts like a README, to explain what the package is about, and a list of dependencies, e.g. Project and Manifest files in Julia, or requirements.txt in Python. Implementing the familiar package structure keeps things organised and enables yourself and other users to navigate the contents more easily.

Practice code hygiene : This relates to the readability and maintainability of the code itself. It’s important to practice good hygiene if you want your code to be used, extended, and maintained by others. Bad code hygiene will turn off other contributors—and eventually yourself—leaving the package unused and unmaintained. Here are some tips for ensuring good hygiene:

  • Take a design-first approach when creating your package. Think about the intended user(s) and what their requirements are—this may be others in your research group or your future self. Sometimes this can be difficult to know in advance but working iteratively is better than trying to capture all possible use cases at once.
  • Think about how the API should work and how it integrates with other packages or applications. Are you building on something that already exists or is your package creating something entirely new?
  • There should be a style guide for writing in the language, for example, BlueStyle in Julia and PEP 8 in Python. You should adhere to it so that your code follows the same standard as everyone else.
  • Give your variables and functions meaningful, and memorable names. There is no advantage to obfuscating your code for the sake of brevity.
  • Furthermore, read up on the language’s Design Patterns . These are the common approaches or techniques used in the language, which you will recognise from reading the code. These will help you write better, more idiomatic code.

Write good documentation : The greatest package ever written would never be used if nobody knew how it worked. At the very least your code should be commented and a README accompanying the package explaining to your users (and your future self) what it does and how to install and use it. You should also attach docstrings to all user-facing (aka public) functions to explain what they do, what inputs they take, what data types they return, etc. This also applies to some internal functions, to remind maintainers (including you) what they do and how they are used. Some minimum working examples of how to use the package features are also a welcome addition.

Lastly, documentation should evolve with the package; when the API changes or new use-cases get added these should be reflected in the latest documentation.

Write good tests : Researchers in computational fields might find familiar the practice of running “canonical experiments” or “reproducibility tests” that check if the code produces the correct result for some pipeline and is therefore “calibrated”. But these don’t necessarily provide good or meaningful test coverage . For instance, canonical experiments, by definition, test the software within the limits of its intended use. This will not reveal latent bugs that only manifest under certain conditions, e.g. when encountering corner cases.

To capture these you need to write adequate Unit and Integration Tests that cover all expected corner cases to be reasonably sure your code is doing what it should. Even then you can’t guarantee there isn’t a corner case you haven’t considered, but testing certainly helps.

If you do catch a bug it’s not enough to fix it and call it a day; you need to write a new test to replicate it and you will only have fixed the bug only when that new test passes. This new test prevents regressions in behaviour if the bug ever returns.

Lesson 3: Take Part in the Community

Undertaking a fraction of the points above would be more than enough to boost your ability to develop software. But the return on investment is compounded by taking part in the community forums on Slack and Discourse ; joining organizations on GitHub ; and attending Meetups and conferences . Taking part in a collaboration (and meeting your co-developers) fosters a strong sense of community that supports continual learning and encouragement to go and do great things. In smaller communities related to a particular tool or niche language, you may even become well-known such that your potential future employer (or some of their engineers) are already familiar with who you are before you apply.

Personal experience has taught me that the incentives in academic research can be qualitatively different from those in industry, despite the overlap they share. However, the practices that are instilled in one track don’t necessarily translate off-the-shelf to the other, and switching gears between these (often competing) frameworks can initially induce an all-too-familiar sense of imposter syndrome .

It’s important to remember that what you learn and internalise in a PhD is, in a sense, “selected for” according to the incentives of that environment, as outlined above. However, under the auspices of a supportive community and the proper guidelines, it’s possible to become more well-rounded in your skillset, as I have. And while I still have much more to learn, it’s encouraging to reflect on what I have learned during my time at Invenia and share it with others.

Although this post could not possibly relay everything there is to know about software engineering, my hope is that simply being exposed to the lexicon will serve as a springboard to further learning. To those looking down such a path, I say: you will make many many mistakes, as one always does at the outset of a new venture, but that’s all part of learning.

While these tips are language-agnostic, they would be particularly helpful for anyone interested in learning or improving with Julia .  ↩

Examples of high quality packages include the Requests in Python, and NamedDims.jl in Julia.  ↩

Related Posts

Deprecating in julia 17 jun 2022, using meta-optimization for predicting solutions to optimal power flow 17 dec 2021, using neural networks for predicting solutions to optimal power flow 11 oct 2021.

Software Engineering Ph.D. Program

Software and societal systems department, research areas.

From software architecture to the study of open source ecologies, Software Engineering research is applying rigorous scientific approaches to address real and meaningful technical challenges. Our work not only advances the state of the art, it changes the world. 

Broadly, our research interests can be categorized into three cross-disciplinary categories: 

Software Organization and Properties

Software notations and tools, software creation and management, featured research.

Architecture & Design

Software design involves a sequence of decisions that determine the overall structure of a system and allocation of behaviors to its parts. Research in software design explores representations of design decisions and constraints, tools for reasoning about the impact of these decisions, and techniques for ensuring that the decisions are properly implemented. Software architecture is the study of design at scale, with emphasis on high-level structures and interactions that govern the overarching design and evolution of the system. Learn more about the history of Software Architecture at Carnegie Mellon.

Faculty David Garlan Eunsuk Kang Bradley Schmerl Mary Shaw

Example Research ABLE Group A Contract-Based Framework for System Decomposition

APIs & Frameworks

Most programming today makes use of APIs and Frameworks, as a key enabler of code reuse. How should these APIs and Frameworks be designed, to maximize their quality, including usability, helping programmers avoid errors, and maintainability of the API and the resulting code? What tools (often plugins for IDEs) and documentation can best help programmers learn and use APIs and Frameworks?

Faculty Heather Miller Brad Myers Josh Sunshine

Example Research API Usability

Autonomous Systems

Autonomous systems are systems that perceive information about the state of themselves and the environment they are running in, and adapt their behavior or structure to respond to changes in that state. Examples of autonomous systems are elastic cloud applications, robots and self-driving cars, and many control systems. The challenge with such systems is to develop software engineering techniques to (a) develop such systems in a principled and cost-effective manner, (b) assure that the systems work as expected as they make changes to their own behavior, and (c) build trust in their decisions by explaining them, or working with human operators. Research at CMU is looking into each of these aspects.

Faculty Jonathan Aldrich David Garlan Claire Le Goues Bradley Schmerl

Example Research Model-Based Adaptation of Robotic Systems Explainable Systems: Improving Confidence in Autonomous System Runtime Safety Monitoring of Intelligent Vehicles

Distributed Systems

Nowadays, most software applications involve multiple devices. For example, a mobile app might interact with one or dozens of other cloud services, or a data scientist might search for insights in a dataset that sits in the memory spanning many computers. These applications are distributed systems , and are challenging and error-prone to develop. Research on programming for distributed systems focuses on ensuring the correctness of computations that span multiple  compute nodes, improving the performance and reliability of these systems, and exploring new techniques for composing and reusing software abstractions in the design and implementation of these systems.

Faculty Heather Miller

Example Research Programming language support for eventual consistency Composition and correctness of eventually consistent datatypes Composition of serverless functions Verifying configurations of microservices

Requirements

Modern information systems must conform to a complex set of requirements that include functional requirements to satisfy stakeholder goals, as well as, policy and legal requirements to conform to societal norms. Systems that cut across individual and societal needs include mobile and web-based applications developed using lightweight, agile methods, and traditional plan-driven designs in health, finance and aviation. In each category, requirements engineering is concerned with the use of different forms of expression, from natural language to formal logic, to describe and (semi-automatically) reason about problems and solutions at-scale. This topic combines research from natural language processing, formal methods, knowledge representation and judgement and decision-making to predict how systems are intended to operate and how and why they might fail to operate, correctly.

Faculty Travis Breaux

Example Research Composable and Usable Security and Privacy Requirements Handling Risk and Uncertainty in Security Requirements Analysis Harmonizing Multi-Jurisdictional Privacy and Security Policy.

Security and Privacy

In today's interconnected world, security and privacy are becoming ever more central to software.  Our research helps to ensure that software's privacy policies meet the needs of users and serve the public interest; that software systems conform to these privacy and security policies; and that systems can adapt and continue to provide service even while  under attack.

Faculty Jonathan Aldrich Travis Breaux David Garlan Rohan Padhye Eunsuk Kang Bill Scherlis Bradley Schmerl

Example Research Self-Protection/Security-Related Self-Adaptation Modeling and Analysis of Cross-Layer Security Attacks

Analysis & Assurance

As software becomes a more critical part of the economy and of our daily lives, its developers and users need assurance that the software has desired properties.  We are developing new analysis techniques and tools that verify new kinds of properties of both specification and code, and which scale to larger systems and more diverse configurations than ever before. Faculty Vincent Hellendoorn Eunsuk Kang Christian Kästner Claire Le Goues Heather Miller Rohan Padhye Bill Scherlis Example Research TypeChef Alloy*: An Analysis Engine for Higher-Order Logic Specifications

Developer Tools

Developers use a wide variety of tools in the course of their normal work, across the entire software engineering life-cycle. These include compilers, debuggers, integrated development environments (IDE), and tools that do static analysis, visualization, web analytics, etc. These tools help developers enter code efficiently and correctly, understand existing code, and evaluate the code for an increasing variety of properties, including correctness across various dimensions, performance, and even the usability of the resulting design. Research focuses on increasing the range of what can be automatically evaluated, the quality of the resulting code and developers’ insights, and improving the usability of the tools so developers can use them successfully.

Faculty Vincent Hellendoorn Brad Myers Rohan Padhye Bradley Schmerl Joshua Sunshine Bill Scherlis

Example Research ACME Project Support for Exploratory Programming Natural Programming

Programming languages are the most basic tool of the software engineer, and language research provides fundamental advances in our ability to express programs and their designs.  S3D's research focuses on language and type system abstractions that provide strong theoretical guarantees while at the same time increasing the productivity of developers and helping them avoid introducing defects.

Faculty Jonathan Aldrich Heather Miller Brad Myers

Example Research Obsidian: a Safer Blockchain Programming Language Usable Design-Driven Assurance in the Wyvern Language Natural Programming

Software Data Analysis

Software Data Analysis is  a field that analyzes the rich data available in software repositories (e.g., version control systems, archived communications, online communities) to uncover interesting and actionable information about software systems, software development projects, and the teams managing them.

Faculty Vincent Hellendoorn Jim Herbsleb Claire Le Goues Joshua Sunshine Bogdan Vasilescu

Example Research Repository Badges on npm Statistical Name Recovery

Organizations

Organizations focuses on the human and organizational aspects of software development: how people organize to develop software and how these organizations influence the structure and quality of the resulting software.

Faculty Jim Herbsleb Claire Le Goues Joshua Sunshine Bogdan Vasilescu

Example Research Breaking APIs Diversity in Online Software Teams

X

UCL Computer Science

  • Research topics

Menu

Research Topics

The main streams of our research are within exciting and important areas in software engineering and the digital arts/humanities.

We are always looking for talented people who are interested in joining SSE as visiting scholars (at all levels), PhD students, Research Assistants and Research Fellows.

Below you can find some of the topics we work on and the main contact person within our group. If you are interested, get in touch with Prof Federica Sarro  (Head of the group) and with the speficied contact within a given topic. Please, include in the message your CV, a statement of your research interests and experience, ideal starting time (and transcripts if you are a student) in your message.

Search Based Software Engineering

Search Based Software Engineering (SBSE) uses advanced computational search (for example genetic algorithms and evolutionary computation and other meta and hyper heuristics) to solve complex software engineering problems.

Prof Harman was instrumental in founding this field of Software Engineering and coined the term “Search Based Software Engineering” in 2001. Professor Sarro and Professor Petke are well-established world-leading researchers in this area. 

SBSE can be thought of as the application of advanced AI techniques to software engineering, with a particular focus on optimisation. Read a tutorial paper on SBSE .

CREST has worked with ABB, Daimler, Ericsson, Google, IBM, Meta, Microsoft and Motorola on the development of SBSE so PhD students have many opportunities to work with companies should they wish to do so.

Possible collaboration and PhD topics in this area cover the complete spectrum of activity in software engineering (in its traditional and emergent forms). CREST is particularly well-known for work on SBSE applications to software analysis and testing, repair, refactoring, management and requirements engineering. However, we are always willing to discuss SBSE projects with scholars who are interested in developing new application areas as well as these more established areas.

SSE members have given many keynote talks and invited papers that set out open problems and research agendas for exciting developments in SBSE, all of which are available on our publications page. Prof. Harman, Sarro and Petke are always willing to discuss potential projects on SBSE with prospective students via email. Other SSE staff are also very active in SBSE: Dr Krinke is interested in SBSE for clone detection; Dr Gold is interested in SBSE for program comprehension and program analysis and musicology. 

  • Main contact: Prof. Federica Sarro 

Testing Software Product Lines

Software product lines are sets features that are combined into software products that satisfy a specific need from a customer or a specific market. The number of products that can be generated range from a few to thousands of products.

Due to the tangled components and complex configuration, verification and validation of product lines is challenging. Testing is one approach to verification and validation of the products and/or the product line.

The challenges in testing product lines that have to be faced and solved are that it may not be possible to test each possible product individually and that there exist no possibility to test a product line independent of products.

  • Contact Jens Krinke

Dependence Analysis and Change Impact Analysis

Software systems can be seen of collections of parts that may or may not depend on each other. These range from statements and functions that are linked to each other, over large components like classes or packages, to non-source code artefacts like requirements and models that are linked to each other or to other artefacts.

In this research stream, we analyse software systems to identify the dependencies between the different parts and use them to solve software engineering problems. One example of such a problem is change impact analysis where the question is which elements of a software system are affected by a (potential) change to an element of the system.

Change impact analysis is an important technique that is extremely useful during software maintenance, for example, it can be used to establish which test cases have to be rerun after a change has been applied to a system.

Source Code Provenance

With the availability of source code available to be reused and the huge number of developers involved in large projects, it gets more and more important to establish the provenance of the current code within a project. 

This touches questions like “where is this code coming from”, “who has modified the code”, or “where has this code been reused”.  Such questions arise for example to establish if one is allowed to use the software according to its license or just to figure out who can answer questions about that code best. Approaches to answer such questions use large-scale string matching and software repository mining.

Secure Information Flow

A lot effort in making software secure goes into a kind of “fire-fighting”, i.e. discovering and closing vulnerabilities in code. However, even if all vulnerabilities have been eliminated, code still may not be secure.

It may contain covert channels that allow attacks on confidentiality of information, integrity of information, and the privacy and anonymity of the user. Such covert channels leaking information may be within the logic of the program or be so-called “side channels” such as measuring execution times or heat dissipation over different runs.

The challenge of constructing security critical code for contemporary software is enormous. Semantics based program analysis and type systems have a large role to play in guaranteeing end-to-end information security for networked systems.

Contact David Clark

Semantic Analysis of Found Code

Found code is code that the analyser did not write. It may be source code or binaries. The task is to understand what it does and the (common) motivation is defence against malicious behaviours. Techniques include reverse engineering, program analysis, testing, and use of SMT solvers.

There are a whole range of problem domains in this area, for example malware classification and techniques for combatting packing, encryption and rewriting engines.

Testing Information Transformers

The hypothesis for this research is that the answers to some long standing questions in the theory of testing programs can be found or at least improved by viewing programs as transformers of information and using techniques from information theory and the measurement of information flow in programs to build an information theoretic theory of testing which answers questions such as the following.

  • How do I select the test suite?
  • When is it adequate?
  • What does adequate mean in terms of information?
  • How do I order the tests?

There is a security aspect to this research. An improvement in testing generally will improve the “fire fighting” of vulnerabilities and exploits, particularly when harnessed with information about attack vector templates.

Human-Computer Music Performance

There are many professional and amateur ensembles that perform popular music (e.g. jazz, rock, folk, music theatre, and contemporary church music) and would benefit from a computer stepping in when a human musician is absent and unable to play. 

Popular music has a steady beat and reasonably well-defined structures (e.g. chord patterns), but typically involves improvisation at many levels including sectionalised scores (re-arrangeable during performance), and improvised generation of the musical surface.  

Live interactive performance in this genre is thus a complex and interesting domain in which to undertake research.  Many disciplines and research methods are needed to tackle this problem including ethnography, computer vision, natural user interfaces, computer music (generation, machine listening, music information retrieval, representation), musicology, music performance, and real-time systems.   

Applications are thus welcome from potential students who have experience and expertise from a range of backgrounds.

  • Contact Nicolas Gold

Computational Musicology

Computers have many applications in musicology, ranging from relatively simple applications to support musicologists in answering particular questions, through to complex models and algorithms to support entire research areas. 

Previous work in CREST has focused on computationally-enhanced studies of musical performance (piano performance, shaping in music) and continues by applying our expertise in information theory and search to problems in music analysis. 

Much of this work is collaborative (e.g. with the AHRC Centre for Musical Performance as Creative Practice and the UCL Centre for Digital Humanities).

Interdisciplinary Source Code Analysis

Combining CREST’s expertise in source code analysis and our interest in interdisciplinary applications, this strand of research focuses on the challenges posed by non-traditional source code (e.g. Max/MSP patches) and the opportunities available to enhance practice and research by developing new ways to analyse and develop in such languages. 

We have worked on clone detection in graphical data-flow languages like Max/MSP and Pure Data and welcome applications from potential students with interests in arts computing and/or source code analysis.

Probabilistic Modelling of S/W Testing

Most of the existing white-box testing techniques rely on structural adequacy criteria, such as statement or path coverage. The purpose of defining test adequacy criteria is to achieve a balance between effectiveness and efficiency of testing.

However, structural criteria fail to scale up for the systems that can really benefit from better testing, simply because fine-grained metrics like code coverage lose the relevance for large and complex systems. This strand of research combines the existing expertise of CREST – information theory and testing – to form a probabilistic view of the software testing, allowing us to assess and predict the system’s reliability with confidence.

Gamification of Software Engineering

The success of Search-Based Software Engineering (SBSE) bears an interesting observation: many software engineering tasks can be viewed as combinatorial optimisation.

This research will investigate whether it is possible to create entertaining gaming experience, essentially by extending meta-heuristics for SBSE to more interactive ones.

The grand challenge is to completely encapsulate the original software engineering problem and to present a playable game instead, seeking human insights into the problem solving. The research will also consider whether any non-conventional user interface and/or visualization can help specific software engineering tasks.

Contact   Earl Barr  and  Federica Sarro 

Genetic Improvement of Software

Genetic improvement (GI) uses automated search to find improved versions of existing software. It has emerged as a separate field of research only in the last few years, with the first survey being published in 2017. GI has already resulted in dramatic performance improvements for a diverse set of properties such as execution time, energy and memory consumption, as well as results for fixing and extending existing system functionality. There are still lots of research questions to be answered to do with applicability, generalisability and automation of the approach. GI draws on and develops research in a number of topics including program transformation, program synthesis, genetic programming, software testing and search based software engineering.

Contact  Justyna Petke

Automated Software Transplantation

Automated transplantation would open many exciting avenues for software development: suppose we could autotransplant code from one system into another, entirely unrelated, system. This could involve feature transplantation, test case transplantation, but also transplantation of code snippets that would improve software's non-functional properties, such as runtime. Pioneering work by members of CREST involves genetic programming, program analysis and program slicing. Automated software transplantation is a novel avenue of research, thus leaving yet a lot to be explored.

Contact  Earl Barr  and  Justyna Petke

Professor Federica Sarro , Head of Research Group

Department of Computer Science  University College London 66-72 Gower Street London View Map

Find other Software Systems Engineering staff

Publications

You can find all of the Intelligent Systems Group's published research on our Publications page.

Study with us

  • You can find out more about the  Software Systems Engineering MSc on the UCL Prospective Students website.
  • You can also browse our PhD opportunities

Research projects

The SSE group currently leads several national and international research projects and participates in many more. Browse all our projects on our dedicated page.

T4Tutorials.com

Software Testing Research Topics for MS PhD

I am sharing with you some of the research topics regarding Software Testing that you can choose for your research proposal for the thesis work of MS, or Ph.D. Degree.

Software Testing concepts overlapping with Artificial intelligence, Machine learning & Deep learning

  • AI & Machine learning & Deep learning
  • Usage of Machine Learning in Software Testing
  • Machine learning techniques for software testing effort prediction
  • Using Defect Prediction to Improve the Bug Detection Capability of Search-Based Software Testing
  • On testing machine learning programs
  • Monotonicity testing of machine learning models
  • Applying Metamorphic Testing in Machine Learning Applications
  • Structure-invariant testing for machine translation
  • Testing machine learning based systems: a systematic mapping
  • Automatic testing and improvement of machine translation
  • Automatic Fairness Testing of Machine Learning Models
  • Testing machine learning code using polyhedral region
  • Effectiveness of dataset reduction in testing machine learning algorithms
  • Determining Software Inter-Dependency Patterns for Integration Testing by applying Machine learning on Logs and Telemetry data
  • Alternative Effort-optimal Model-based Strategy for State Machine Testing of IoT Systems
  • On the Application of Machine Learning in Software Testing
  • test augmentation of machine learning in judicial documents
  • A Universal Machine-Learning-Based Automated Testing System for Consumer Electronic Products

Software Testing Research Topics

  • Exploring the industry’s challenges in software testing: An empirical study
  • Enhanced optimizer algorithm and its application to software testing
  • LSTM-based deep learning for spatial-temporal software testing
  • Crowdsourced software testing: A systematic literature review
  • Crowdsourced Software Testing: A Timely Opportunity
  • Seeding grammar in grammatical evolution to improve search-based software testing
  • How Can Software Testing be Improved by Analytics to Deliver Better Apps?
  • DRIFT: Deep Reinforcement Learning for Functional Software Testing
  • Model for teaching and training software testing in an agile context
  • A sustainable software testing process for the Square Kilometre Array project
  • Status report on software testing: Test-Comp 2021
  • Systematic Software Testing of Critical Embedded Digital Devices in Nuclear Power Applications
  • Software testing automation of VR-based systems with haptic interfaces
  • Construction of a syllabus adhering to the teaching of software testing using agile practices
  • Software testing ecosystems insights and research opportunities
  • Optimal selection and release problem in software testing process: A continuous time stochastic control approach
  • Teaching Software Testing in an Algorithms and Data Structures Course
  • Search-Based Software Testing for Formal Software Verification–and Vice Versa
  • Black-box approach for software testing based on fat-property
  • vivaGen–a survival data set generator for software testing
  • Teaching Practices of Software Testing in Programming Education
  • A Comparison of Inquiry-Based Conceptual Feedback vs. Traditional Detailed Feedback Mechanisms in Software Testing Education: An Empirical Investigation
  • Software Testing Automation: A Comparative Study on Productivity Rate of Open Source Automated Software Testing Tools For Smart Manufacturing
  • Complex Software Testing Analysis using International Standards
  • Automated Software Testing Technologies for Realistic Computer Graphics
  • IV&V Software Testing as a Measure of Digital and Entrepreneurship Competence towards Quality Education of Skills for Future Work
  • Framework for Reusable Test Case Generation in Software Systems Testing
  • Assessing the maturity of software testing services using CMMI-SVC: An industrial case study
  • A Preliminary Report on Hands-On and Cross-Course Activities in a College Software Testing Course
  • Towards a Model of Testers’ Cognitive Processes: Software Testing as a Problem Solving Approach
  • Artificial Intelligence Applied to Software Testing: A Literature Review
  • Research on Standardization Technology of Software Testing Process Based on Workflow
  • Software Testing
  • Scientific Software Testing Goes Serverless: Creating and Invoking Metamorphic Functions
  • Metamorphic testing: a new approach for generating next test cases
  • Software Operational Profile vs. Test Profile: Towards a better software testing strategy
  • Intensify of Metrics with the Integration of Software Testing Compatibility
  • Forecasting Completion Deadlines in Software Testing
  • The application of Microsoft Solution Framework Software Testing using Neutrosophic Numbers
  • Is It Worth Using Gamification on Software Testing Education? An Extended Experience Report in the Context of Undergraduate Students
  • Investigating Software Testing Practices in Software Development Organizations: Sri Lankan Experience
  • Application of software testing methodology based on quality criteria and expert assessments to mobile applications
  • Application in Computer Software Testing Based on Artificial Intelligence Technology
  • A Literature Review on Software Testing Techniques for Smartphone Applications
  • Automation Software Testing to Evaluate the Performance of Business Enterprises and Higher Education Institutions
  • Neural Networks and Search Landscapes for Software Testing
  • Design of Blending Teaching Mode for Software Testing Course
  • Selection of Waterfall and Agile Methodologies in Software Testing
  • Basics of Software Testing Methods
  • How Fuzzy Logic can be helpful in Software Testing?
  • Software Testing Techniques & New Trends
  • Using Augmented Genetic Algorithm for Search-Based Software Testing
  • Automated Software Testing of Deep Neural Network Programs
  • Comparative Analysis of Products for Testing Software
  • Testing Education: A Survey on a Global Scale
  • The Genetic Algorithm and Binary Search Technique in the Program Path Coverage for Improving Software Testing Using Big Data
  • Hybrid Differential Software Testing
  • NLP-assisted software testing: A systematic mapping of the literature
  • SOFTWARE QUALITY: APPROACH TO QUALITATIVE TESTING AND THEORETICAL BASICS
  • Test Suite Optimization Using Chaotic Firefly Algorithm in Software Testing
  • Design and Implementation of a Gamified Training System for Software Testing
  • Development of Software Testing Techniques for Early Fault Detection
  • Thoughts on Lean Software Testing
  • A Software Testing Process Based in Gamification for Children With Down Syndrome
  • Problematika testování a verifikace softwaru pro leteckou techniku: Methods of Software Testing and Verification for Airborne Systems
  • A SURVEY ON AUTMOTIVE SOFTWARE TESTING
  • A Comparison Study of Software Testing Activities in Agile Methods
  • Artificial Intelligence Applied to Software Testing: A
  • Multiview Visualization of Software Testing Results
  • Application of particle swarm optimisation for coverage estimation in software testing
  • Testing Approaches for Web and Mobile Applications: An Overview
  • A model based approach for software testing audit on software product quality.
  • Specifying the Design Science Research Process: An Applied Case of Building a Software Testing Ontology
  • Software Testing Techniques & Automation Tools
  • Special section on testing and repair for software engineering technologies and applications
  • Investigating Traditional Software Testing Methods for use with the Meta Attack Language
  • Direct-Indirect Link Matrix: A Black Box Testing Technique for Component-Based Software
  • Automating the Evaluation Process of Software Testing in Vehicles
  • A cost-effective adaptive random testing algorithm for object-oriented software testing
  • Design and development of framework for improvising software testing in cloud environment
  • Towards a Model of Testers’ Cognitive Processes: A Problem Solving Approach for Software Testing
  • Eliminating effects of Flakiness in Embedded Software Testing
  • Bio-inspired computational intelligence and its application to software testing
  • Adoption of Software Testing in Internet of Things: A Systematic Literature Mapping
  • We are honored and excited to welcome you to Porto, Portugal for the 13th International Conference on Software Testing, Verification and Validation (ICST) 2020 …
  • Integrating Testing Throughout the CS Curriculum
  • Eliminating effects of Flakiness in Embedded Software Testing: An industrial case study
  • Improving Automated Software Testing while re-engineering legacy systems in the absence of documentation
  • Testing relative to usage scope: revisiting software coverage criteria
  • A STUDY OF SOFTWARE ENGINEERING AND TESTING
  • Test case minimization for regression testing by analyzing software performance using the novel method
  • Investigating Multi and Many-Objective Metaheuristics to Support Software Integration Testing
  • Linear regression with factor analysis in fault prediction of software
  • Acceptance Testing for Software as a Service (SaaS).
  • Mutation Testing-Based Evaluation Framework for Evaluating Software Clone Detection Tools
  • Representative Load Testing in Continuous Software Engineering: Automation and Maintenance Support
  • Leveraging metamorphic testing to automatically detect inconsistencies in code generator families
  • The AIQ meta-testbed: pragmatically bridging academic AI testing and industrial Q needs
  • Investigating Information System Testing Gamification with Time Restrictions on Testers’ Performance
  • … use of fuzzy logic in evaluating an automated testing system. Testing is a key factor in improving software reliability. Popular automated testing systems and a …
  • The importance of testing in the early stages of smart contract development life cycle
  • Factors influencing effectiveness of testing applications in cloud using regression testing: a statistical analysis
  • MULTI-CRITERIA SELECTION OF TESTING METHODS FOR SEPARATE SOFTWARE MODULES
  • Generating tree inputs for testing using evolutionary computation techniques
  • Bug! Falha! Bachi! Fallo! Défaut! 程序错误! What about Internationalization Testing in the Software Industry?
  • How far we have come: testing decompilation correctness of C decompilers
  • A Systematic Literature Mapping: risk-based testing in software development.
  • TesCaV: An Approach for Learning Model-Based Testing and Coverage in Practice
  • Performance mutation testing
  • An improved crow search algorithm for test data generation using search-based mutation testing
  • Artificial neural network based software fault detection and correction prediction models considering testing effort
  • Cdst: A toolkit for testing cockpit display systems
  • Study and definition of project attributes for selection of testing techniques for concurrent software
  • A survey of compiler testing
  • Load Testing Analyzer for Web Application
  • Automatic support for the identification of infeasible testing requirements
  • AUTOMATION TESTING TOOLS: A COMPARATIVE VIEW
  • Model-Based Software Design and Testing in Blockchain Smart Contracts: A Systematic Literature Review
  • A survey of context simulation for testing mobile context-aware applications
  • Gamified Internet of Things Testing within a Virtual Learning Environment—towards the Interactive Simulation Game “IoTCityLab”
  • Models in Graphical User Interface Testing: Study Design
  • Unveiling Practitioners Awareness of Android Apps Regression Testing through an Expert Survey
  • FPGA Software Security Testing Excitation Random Generation Based on SFMEA and SFTA
  • A Distributed Sustainable Integrated Automated Testing Platform
  • A multi objective binary bat approach for testcase selection in object oriented testing
  • Higher income, larger loan? Monotonicity testing of machine learning models
  • Comparative Analysis of Software Testing Tools
  • Automation of Datamorphic Testing
  • Vulnerability Coverage as an Adequacy Testing Criterion
  • THE BLACK BOX TESTING AND LOC METHOD APPROACH IN TESTING AND STREAMLINING THE PATIENT REGISTRATION PROGRAM
  • Using Relational Problems to Teach Property-Based Testing
  • Can a chatbot support software engineers with load testing? Approach and experiences
  • A Cost-Efficient Software Based Router and Traffic Generator for Simulation and Testing of IP Network
  • Model-Based Testing of Car Engine Start/Stop Button Debouncer Model
  • Automation in the game testing. Approaches and solutions
  • Multi-objective Search for Model-based Testing
  • A Case-based Approach for introducing Testing Tools and Principles
  • Performance Testing Tools: A Comparative Study of QTP, Load Runner, Win Runner and JUnit
  • Optimization of automated executions based on integration test configurations of embedded software
  • Poster: Performance Testing Driven by Reinforcement Learning
  • Deep learning library testing via effective model generation
  • Poster: SONAR Testing–Novel Testing Approach Based on Operation Recording and Visualization
  • Improving The Effectiveness of Automatically Generated Test Suites Using Metamorphic Testing
  • Comparative review of the literature of automated testing tools
  • Automated testing framework with browserstack integration
  • Minha: large-scale distributed systems testing made practical
  • Analysis on the adequacy of current acceptance criteria in developing scripts for automation testing
  • Testing System for Corporation Productivity Improvement Department
  • An integrated approach of class testing using firefly and moth flame optimization algorithm
  • Systematic mapping study on combining model-based testing and behavior-driven development or testdriven development
  • Pengujian Software Menggunakan Metode Boundary Value Analysis dan Decision Table Testing
  • Testing, Model Checking and Static Analysis
  • An Experimental Study on Applying Metamorphic Testing in Machine Learning Applications
  • Towards characterizing adversarial defects of deep learning software from the lens of uncertainty
  • Excellence in variant testing
  • Testing Approaches for an Electricity Market Simulator
  • Automatic Testing for Web Application Using HP-ALM Tool
  • Pengujian Perangkat Lunak Sistem Informasi Peminjaman PlayStation dengan Teknik Boundary Value Analysis Menggunakan Metode Black Box Testing
  • Influence of multiple hypothesis testing on reproducibility in neuroimaging research: A simulation study and Python-based software
  • Binary Black Hole-Based Optimization For T-Way Testing
  • Robustness inside out testing
  • Information resources usability and split-testing features
  • Mutation Testing: Algorithms and Applications
  • K-harmonic Mean-Based Approach for Testing the Aspect-Oriented Systems
  • Automation and evaluation of mutation testing for the new C++ standards
  • Data-Driven Hardware-in-the-Loop (HIL) Testing Prioritization
  • Manual and Test Automation Strategies for the Application Testing Systems, Forms, Techniques
  • Comparing the effectiveness of capture and replay against automatic input generation for Android graphical user interface testing
  • Statistical testing data generation for UAS
  • Managing App Testing Device Clouds: Issues and Opportunities
  • Model-based Test Suite Generation for Fault Localization using Search-based Mutation Testing Technique
  • Optimal decisions on software release and post-release testing: A unified approach
  • Poster: Is Euclidean Distance the best Distance Measurement for Adaptive Random Testing?
  • Software Framework for Testing of Automated Driving Systems in a Dynamic Traffic Environment
  • MuHyb: A Proposed Mutation Testing Tool for Hybrid Mobile Applications
  • What Are We Really Testing in Mutation Testing for Machine Learning? A Critical Reflection
  • Junit framework for unit testing. pdf
  • Testing consensus implementations using communication closure
  • Control System for a Tensile-Testing Device Using Low-Cost Hardware and Open-Source Software.
  • Crowdsourced requirements generation for automatic testing via knowledge graph
  • Fuzzing: Hack, art, and science
  • FEATURES OF TESTING OF THE BUILT-IN SOFTWARE OF MEASURING INSTRUMENTS
  • Mutation reduction in software mutation testing using firefly optimization algorithm
  • Looking For Novelty in Search-based Software Product Line Testing
  • An Effective Approach for Context Driven Testing in Practice—A Case Study
  • Cats are not fish: Deep learning testing calls for out-of-distribution awareness
  • A Literature Review of Critical Success Factors in Agile Testing Method of Software Development
  • Testing adaptation policies for software components
  • A Survey Paper, Test Cases Prioritization of Regression Testing
  • Testing and fingerprinting the physical layer of wireless cards with software-defined radios
  • An overview of the emerging JPEG Pleno standard, conformance testing and reference software
  • Artificial Intelligence in Automated System for Web-Interfaces Visual Testing.
  • Augmenting ant colony optimization with adaptive random testing to cover prime paths
  • Versatile implementation of a hardware–software architecture for development and testing of brain–computer interfaces
  • Implementation of an Open-Source Digital Image Correlation Software for Structural Testing
  • Lodestone: A Streaming Approach to Behavior Modeling and Load Testing
  • Actual Problems and Prospects of Testing Software Modules of Information Technologies
  • Testing configurable software systems: the failure observation challenge
  • The application perspective of mutatoin testing
  • Model-Based Testing in Practice: An Industrial Case Study using GraphWalker
  • The automated special software for component testing of the satellite communication station
  • Continuous development and testing of access and usage control: a systematic literature review
  • Software Batch Testing to Reduce Build Test Executions
  • Real-world Independent Testing of e-ASPECTS Software (RITeS): statistical analysis plan
  • Review of testing software. Selenium software
  • Model-based exploration of the frontier of behaviours for deep learning system testing
  • TESTING THE INFORMATION SYSTEM SOFTWARE USING BEHAVIOR DRIVEN DEVELOPMENT METHOD
  • {PARTEMU}: Enabling Dynamic Analysis of Real-World TrustZone Software Using Emulation
  • En-Route: on enabling resource usage testing for autonomous driving frameworks
  • Projection-based runtime assertions for testing and debugging Quantum programs
  • Beyond accuracy: Behavioral testing of NLP models with CheckList
  • RIVER 2.0: an open-source testing framework using AI techniques
  • Property-based testing: evaluating its applicability and effectiveness for AUTOSAR basic software
  • Utilising CI environment for efficient and effective testing of NFRs
  • A Study on The Application of ISO/IEC 17025 Software Accredited Testing Institute Using ISO/IEC/IEEE 29119 and ISO/IEC 25023
  • The testing methods in an application using deep learning
  • Pengujian Software Aplikasi Perawatan Barang Miliki Negara Menggunakan Metode Black Box Testing Equivalence Partitions
  • BOPcat software package for the construction and testing of tight-binding models and bond-order potentials
  • Software-Supported Audits of Decision-Making Systems: Testing Google and Facebook’s Political Advertising Policies
  • Leveraging combinatorial testing for safety-critical computer vision datasets
  • AUTOCON-IoT: Automated and scalable online conformance testing for IoT applications
  • Automated System Testing for a Learning Management System
  • CHALLENGES OF AUTOMATED REGRESSION TESTING IN AGILE SOFTWARE DEVELOPMENT-A QUALITATIVE STUDY OF SELECTED IT COMPANIES OF …
  • Testing of games through software agents managed by artificial neural networks
  • Efficient Code-based Software Product Line Regression Testing
  • FuRong: fusing report of automated Android testing on multi-devices
  • Experiences in Teaching and Learning Video Game Testing with Post-mortem Analysis in a Game Development Course
  • Mathematical Software for Testing and Setting up the Induction Soldering Process
  • Model-Based Testing of Read Only Graph Queries
  • Analyzing using Software Defined Radios as Wireless Sensor Network Inspection and Testing Devices: An Internet of Things Penetration Testing Perspective
  • On testing message-passing components
  • Diversity of graph models and graph generators in mutation testing
  • Echidna: effective, usable, and fast fuzzing for smart contracts
  • Time-travel testing of Android apps
  • Automated Blackbox and Whitebox Testing of RESTful APIs With EvoMaster
  • Testing DNN-Based Path Planning Algorithms by Metamorphic Testing
  • Revisiting Test Impact Analysis in Continuous Testing From the Perspective of Code Dependencies
  • Testing the Population Administration Website Application Using the Black Box Testing Boundary Value Analysis Method
  • Evaluation of the Automated Testing Framework: A Case Study
  • Neural Network Classification for Improving Continuous Regression Testing
  • Coverage Guided Multiple Base Choice Testing
  • Extreme mutation testing in practice: An industrial case study
  • Random testing for C and C++ compilers with YARPGen
  • Real-world Independent Testing of e-ASPECTS Software (RITeS): Checklist for Statistical Analysis Plan
  • Android Software for Testing in Audio and 2D User Interaction Environment
  • Features and Behaviours Mapping In Model-based Testing in Software Product Line
  • A study on the challenges of using robotics simulators for testing
  • Machine learning testing: Survey, landscapes and horizons
  • UpGrade: An Open Source Tool to Support A/B Testing in Educational Software
  • Trajectory Tracking Controller Testing in Software in the Loop Environment
  • Continuous Security Testing: A Case Study on Integrating Dynamic Security Testing Tools in CI/CD Pipelines
  • GridTest: testing and metrics collection for Python
  • Testing DNN image classifiers for confusion & bias errors
  • Efficient Regression Testing of Software Product Lines by Reducing Redundant Test Executions
  • DeepGini: prioritizing massive tests to enhance the robustness of deep neural networks
  • Design and Development of Android Performance Testing Tool
  • UML Modeling and Black Box Testing Methods in the School Payment Information System
  • AI-driven web API testing
  • Framework for Automation of Cloud-Application Testing using Selenium (FACTS)
  • Savior: Towards bug-driven hybrid testing
  • An Approach for Development and Testing a Reliable Speedometer Software for Speed Competitions on Motorsport
  • CPSDebug: a tool for explanation of failures in cyber-physical systems
  • Design and Implementation of a Co-Simulation Framework for Testing of Automated Driving Systems
  • Exploratory Datamorphic Testing of Classification Applications
  • Drone Hardware And Software Development And Testing Quality Management
  • SMRL: a metamorphic security testing tool for web systems
  • A Structural Testing Model Using SDA Algorithm
  • Usability testing essentials: ready, set… test!
  • Software-in-the-Loop Testing of SSSC with Type-1 Controller Connected to SMIB
  • Effective Security Assessments and Testing
  • RestTestGen: automated black-box testing of RESTful APIs
  • Experiences from Teaching Automated Testing with CrowdSorcerer
  • DevOpRET: Continuous reliability testing in DevOps
  • Cost Reduction Technique for Mutation Testing
  • Is Exceptional Behavior Testing an Exception? An Empirical Assessment Using Java Automated Tests
  • Assessing the effectiveness of input and output coverage criteria for testing quantum programs
  • Practical Accuracy Estimation for Efficient Deep Neural Network Testing
  • Generation and evaluation of software programs for delay testing of microprocessors
  • Effectiveness of operational profile-based testing
  • Automatic exploratory performance testing using a discriminator neural network
  • Testing MapReduce program using Induction Method
  • A testing technique for conflict-resolution facilities in software configurators
  • Genetic algorithms for redundancy in interaction testing
  • Testing of support tools for plagiarism detection
  • A TESTING MODEL FOR THE MECHATRONIC SYSTEM
  • Aplib: An Agent Programming Library for Testing Games
  • CMS-Automation of Unified building and testing
  • Performance testing on the shopee website in the pandemic period of COVID-19
  • A Review on Fault Taxonomies for Web Testing
  • Prioritizing versions for performance regression testing: The Pharo case
  • Software-in-the-loop testing of a distributed optimal scheduling strategy for microgrids’ aggregators
  • Testing Framework for Black-box AI Models
  • A Comprehensive Analysis for Validation of AVISAR Object-Oriented Testing Tool
  • DiLAD: A Distributed Layout Testing Framework for Android Applications
  • Discovering discrepancies in numerical libraries
  • > Towards Distributed Systems Testing in Cloud Environment
  • An automated framework for continuous development and testing of access control systems
  • Leveraging Existing Software Artifacts to Support Design, Development, and Testing of Mobile Applications
  • Verification and testing of safety-critical airborne systems: A model-based methodology
  • Functional test of the online Recognition of Work Experience and Learning Outcome System using black box testing
  • Advances in automatic software verification: SV-COMP 2020
  • A Technique for Parallel GUI Testing of Android Applications
  • Simultaneously searching and solving multiple avoidable collisions for testing autonomous driving systems
  • Ontology-driven Security Testing of Web Applications
  • COVIDStrategyCalculator: A standalone software to assess testing-and quarantine strategies for incoming travelers, contact person management and de-isolation
  • Reducing the maintenance effort for parameterization of representative load tests using annotations
  • Unit Testing for USB Module Using Google Test Framework
  • Testing numbs us to our loss of intellectual control
  • IMPORTANCE OF MANUAL AND AUTOMATION TESTING
  • ct-fuzz: Fuzzing for Timing Leaks
  • What is Preemptive Testing and Why Should I Care?
  • Test-driven development with mutation testing–an experimental study
  • Stress testing SMT solvers via type-aware mutation
  • Automated Visual Testing of Application User Interfaces Using Static Analysis of Screenshots
  • Software testing without the oracle correctness assumption
  • Learning-based controlled concurrency testing
  • End-To-End Flight Software Development and Testing: Modularity, Transparency and Scalability Across Testbeds
  • Specification-Driven Conformance Checking for Virtual/Silicon Devices using Mutation Testing
  • Practical Mutation Testing at Scale
  • CROWDSOURCING PLATFORM FOR WEBSITE TESTING
  • Development and testing of a text messaging (SMS) monitoring software application for acute decompensated heart failure patients
  • Evaluating the Optimized Mutation Analysis Approach in Context of Model-Based Testing
  • Uncertainty-aware specification and analysis for hardware-in-the-loop testing of cyber-physical systems
  • Is neuron coverage a meaningful measure for testing deep neural networks?
  • Vulnerabilities mapping based on OWASP-SANS: a survey for static application security testing (SAST)
  • Testing the Replenishment Model Strategy Using Software Tecnomatix Plant Simulation
  • Metamorphic Robustness Testing of Google Translate
  • Analysis of the Application of Virtual Simulation Software in Food Testing Technology Course with Atomic Absorption Spectrum1–Taking the Example of Determining …
  • SiMut: Exploring Program Similarity to Support the Cost Reduction of Mutation Testing
  • Assessing two graph-based algorithms in a modelbased testing platform for Java applications
  • Data quality model-based testing of information systems: the use-case of E-scooters
  • Software Automation for Bandwidth Testing of Keysight 3458A Digital Multimeter up to 200 kHz
  • Does mutation testing improve testing practices?
  • A Comparative Study on Combinatorial and Random Testing for Highly Configurable Systems
  • DEMINER: test generation for high test coverage through mutant exploration
  • Test Tools: an illusion of usability?
  • Designing and Testing of Data Acquisition System for Satellite Using MIL-STD-1553
  • ToCaMS–Workshop on Testing of Configurable and Multi-variant Systems
  • Augmented Reality: a new way to build knowledge. Bibliometric analysis and apps testing
  • Software Fault Insertion Testing for SIL Certification of Safety PLC-Based System
  • Crowdsourced Software Testing: A Timely Opportunity. Engineering International, 8 (1), 25-30
  • A Systematical Approach for “System Item Integration and Testing” in Context of ISO 26262
  • Remote embedded devices test framework on the cloud
  • Final integration and early testing of WEAVE: the next generation wide-field spectroscopy facility for the William Herschel Telescope
  • Combining Evolutionary Mutation Testing with Random Selection
  • VFSIE–Development and Testing Framework for Federated Science Instruments
  • Research on Technologies of Vulnerability Mining and Penetration Testing for Satellite Communication Network
  • Creating a Virtuous Cycle in Performance Testing at MongoDB
  • Bayesian alternatives to null hypothesis significance testing in biomedical research: a non-technical introduction to Bayesian inference with JASP
  • Blackbox Testing Model Boundary Value Of Mapping Taxonomy Applications and Data Analysis of Art and Artworks
  • A SYSTEMATIC LITERATURE REVIEW AND META-ANALYSIS COMPARING AUTOMATED TEST GENERATION AND MANUAL TESTING
  • Metamorphic Testing for Plant Identification Mobile Applications Based on Test Contexts
  • Deploying TESTAR to enable remote testing in an industrial CI pipeline: a case-based evaluation
  • Adding security testing in DevOps software development with continuous integration and continuous delivery practices
  • A Testing Tool for IoT Systems Operating with Limited Network Connectivity
  • Selenium based Testing Systems for Analytical Data Generation of Website User Behavior
  • Intermittently failing tests in the embedded systems domain
  • Re: Pharmacogenetic Testing Options Relevant to Psychiatry in Canada
  • Testing practices for infrastructure as code
  • Web Accessibility Testing for Deaf: Requirements and Approaches for Automation
  • Knowledge sharing and technological innovation capabilities of Chinese software SMEs
  • Proof-of-concept of Model-based testing based on an UML-model of a water-level measurement system
  • Decision Support for Combining Security Mechanisms using Exploratory Evolutionary Testing
  • Mobile Testing: New Challenges and Perceived Difficulties From Developers of the Italian Industry
  • Editorial for the special issue of STVR on the 10th IEEE International Conference on Software Testing, Verification, and Validation (ICST 2017)
  • A Model-Based Security Testing Approach for Automotive Over-The-Air Updates
  • MEMOTE for standardized genome-scale metabolic model testing
  • Scenario Based Testing of Automated Driving Systems: A Literature Survey
  • MT-EA4Cloud: A methodology for testing and optimising energy-aware cloud systems
  • An exploration of effective fuzzing for side‐channel cache leakage
  • Image-based Approaches for Automating GUI Testing of Interactive Web-based Applications
  • Exposing bugs in JavaScript engines through test transplantation and differential testing
  • Research and Application of Real-Time Database Integration Testing Method
  • A control system for the ASTE Polarimeter: design and testing
  • Patterns for Development of Safety-Critical Systems with Agile: Trace Safety Requirements and Perform Automated Testing
  • SYSTEM-LEVEL AUTOMATED TESTING FOR HOME DIGITAL VOICE ASSISTANTS
  • Experimental Study of Keyword-Based Exploratory Testing
  • Reducing the Cost of Mutation Testing with the Use of Primitive Arcs Concept
  • Program State Abstraction for Feedback-Driven Fuzz Testing using Likely Invariants
  • hW-inference: A heuristic approach to retrieve models through black box testing
  • Penetration testing a civilian drone: Reverse engineering software in search for security vulnerabilities
  • Dry panels supporting external quality assessment programs for next generation sequencing-based HIV drug resistance testing
  • Prioritization of Test Cases with Varying Test Costs and Fault Severities for Certification Testing
  • Symbolic partial-order execution for testing multi-threaded programs
  • Research on the Software Testing Reliability Model
  • The Need for New Guidelines and Training for Remote/Online Testing and Proctoring Due to COVID-19.
  • Verifying and Testing Concurrent Programs using Constraint Solver based Approaches
  • HardSnap: Leveraging Hardware Snapshotting for Embedded Systems Security Testing
  • Virtual-Real Interaction Tests for Functional Testing of Smart Ships
  • On the Large-scale Graph Data Processing for User Interface Testing in Big Data Science Projects
  • Genetic algorithms applied to videogame testing
  • Mutation Testing and Its Analysis on Web Applications for Defect Prevention and Performance Improvement
  • Comparing Fault Detection Efficiencies of Adaptive Random Testing and Greedy Combinatorial Testing for Boolean-Specifications.
  • Selective Regression Testing based on Big Data: Comparing Feature Extraction Techniques
  • Using AI in Automated UI Localization Testing of a Mobile App
  • Formal Verification, Testing, and Inspection for Intelligent Services
  • Automated smoke testing with Selenium
  • Defeating barriers for resource usage testing for autonomous driving frameworks
  • Towards Better Static Analysis Security Testing Methodologies
  • Predicate Testing Generation for Safety-critical Systems
  • Using fuzzy logic in assessing of automated testing system
  • Testing in DevOps
  • Evaluating Testing Techniques in Highly-Configurable Systems: The Drupal Dataset
  • ” Implementación del Nightwatch como una estrategia para Testing en las empresas de desarrollo de software
  • Seeding Strategies for Multi-Objective Test Case Selection: An Application on Simulation-based Testing
  • Challenges & opportunities in low-code testing
  • A robustness testing approach for RESTful Web Services
  • Architecture Based on Keyword Driven Testing with Domain Specific Language for a Testing System
  • How to kill them all: an exploratory study on the impact of code observability on mutation testing
  • AUTOMATION REGRESSION TESTING FOR SAS. AM WEBSITE
  • Robust Automation Testing Tool for GUI Applications in Agile World—Faster to Market
  • New Lessons in Gage Management: Don’t Overlook GR&R Testing
  • The Threat to the Validity of Predictive Mutation Testing: The Impact of Uncovered Mutants
  • A Design Method of Reusable Test Case Based on Exploratory Testing for E-Commerce Website
  • Performance Testing Automation of Apache Qpid Messaging Libraries
  • Putting Randomized Compiler Testing into Production (Experience Report)
  • Determining How Much Testing is Enough: An Exploration of Progress in the Department of Defense Test and Evaluation Community
  • Toward an Encoding Approach to Interaction-based Test Suite Minimization
  • Model-Based Product-Line Regression Testing of Variants and Versions of Variants
  • Using Metamorphic Testing to Evaluate DNN Coverage Criteria
  • CrossASR: Efficient Differential Testing of Automatic Speech Recognition via Text-To-Speech
  • One Engine to Fuzz’em All: Generic Language Processor Testing with Semantic Validation
  • Verifying and Validating Ontologies: Used Approaches for a Top-domain Software Testing Ontology
  • Automated Driving System Disengagement Analysis and Testing Recommendations
  • MT-Teql: Evaluating and Augmenting Consistency of Text-to-SQL Models with Metamorphic Testing
  • Abstractions and Algorithms for Specializing Dynamic Program Analysis and Random Fuzz Testing
  • Software verification: 10th comparative evaluation (SV-COMP 2021)
  • On the use of LSPIV-based free software programs for the monitoring of river: testing the PIVlab and the FUDAA-LSPIV with synthetic and real image sequences
  • Testing smart contracts gets smarter
  • SADT: Syntax-Aware Differential Testing of Certificate Validation in SSL/TLS Implementations
  • Combinational metamorphic testing in integer vulnerabilities detection
  • PatrIoT: IoT Automated Interoperability and Integration Testing Framework
  • Unit testing platform to verify devs models
  • A Comprehensive Literature Review of Penetration Testing & Its Applications
  • Can Robots Improve Testing Capacity for SARS-CoV-2?
  • A family of experiments to assess the impact of page object pattern in web test suite development
  • Testing of Visuospatial Cognitive Functions in Virtual Reality Environment
  • AVRS: emulating AVR microcontrollers for reverse engineering and security testing
  • Tooling for automated testing of cyber-physical system models
  • Distributed Testing Teams
  • Towards a testing approach for feature-based context-oriented programming systems
  • Improved Mixed Neighborhood Tabu Search by Random Selection for Combinatorial Interaction Testing
  • Automated Framework for API Testing
  • A Black Box Tool for Robustness Testing of REST Services
  • Property-Based Testing for Parameter Learning of Probabilistic Graphical Models
  • A Fault Localization Approach Derived From Testing-based Formal Verification
  • Converting Driving Scenario Framework for Testing Self-Driving Systems
  • Assessing safety-critical systems from operational testing: A study on autonomous vehicles
  • Functional Testing of Conflict Detection and Diagnosis Tools in Feature Model Configuration: A Test Suite Design
  • On the Use of SMT Solvers in Model-Based Testing
  • An Efficient Model Inference Algorithm for Learning-based Testing of Reactive Systems
  • Constrained detecting arrays for fault localization in combinatorial testing
  • Search-based Test Data Generation for Mutation Testing: a tool for Python programs
  • SRS 2020 Annual Meeting Image Analysis Software Development and Testing Update
  • An Experimental Study for Complete-IOCO Theory
  • The motor testing system design based on SINAMICS S120 inverter
  • diagnostic classification models: Models and model extensions, applications, software packages
  • Automated Testing of a Cyber Training Environment within an Agile Development Process
  • Effective Concurrency Testing for Distributed Systems
  • Structuring and presenting data for testing of automotive electronics to reduce effort during decision making
  • Android App Testing: A Model for Generating Automated Lifecycle Tests
  • Computed Tomography for Nondestructive Testing
  • Model-Based Testing of Networked Applications
  • Automatic Ex-Vivo Regression Testing of Microservices
  • Seed Model Synthesis for Testing Model-Based Mutation Operators
  • Automated Strong Mutation Testing of XACML Policies
  • Automation of Tests and Comparative Analysis between Manual and Automated testing
  • An Industrial Case Study on Fault Detection Effectiveness of Combinatorial Robustness Testing
  • Developing and testing a new tool to foster wind energy sector industrial skills
  • Optimization of Test Case Allocation Scheme in Program Partition Testing
  • OggyBug: A Test Automation Tool in Chatbots
  • Automated repair of feature interaction failures in automated driving systems
  • Feature-Trace: an approach to generate operational profile and to support regression testing from BDD features
  • Towards a Methodology for Acceptance Testing and Validation of Monitoring Bodyworn Devices
  • Intelligent Strategies for Cloud Computing Risk Management and Testing
  • A methodology for automated penetration testing of cloud applications
  • Framework for Automation of Software Testing for Web Application in Cloud-(FASTEST) Web Application
  • HyPhy 2.5—a customizable platform for evolutionary hypothesis testing using phylogenies
  • Testing Strategies in an Agile Context
  • Testing static analyses for precision and soundness
  • Security Testing and Run-Time Monitoring
  • Testing Chatbots with Charm
  • An OSLC-based environment for system-level functional testing of ERTMS/ETCS controllers
  • Analytical approaches to testing pathways linking greenspace to health: A scoping review of the empirical literature
  • Automated Testing and Debugging for Big Data Analytics
  • Improvement of Crowdsourced Software Testing Through Machine Learning Approaches
  • Better Robustness Testing for Autonomy Systems
  • Is Neuron Coverage a Meaningful Measure for Testing Deep Neural Networks?
  • Lab-scale Models of Manufacturing Systems for Testing Real-time Simulation and Production Control Technologies
  • What It Would Take to Use Mutation Testing inIndustry–A Study at Facebook
  • Usability testing and the social analysis on online counselling system for recommendations in technical vocational schools
  • P2IM: Scalable and hardware-independent firmware testing via automatic peripheral interface modeling
  • Fostering the Diversity of Exploratory Testing in Web Applications
  • Distributed Acquisition and Processing Network for Experimental Vibration Testing of Aero-Engine Structures
  • Materials Testing Systems in Regulated Environments: What You Need to Know
  • Coverage-Guided Testing for Scalable Virtual Prototype Verification
  • Blackbox Testing Using Fuzzy Clustering Based on Boundary Value Analysis on The Text Opinion Mining Application in Traditional Culture Arts Presentation
  • ObjSim: lightweight automatic patch prioritization via object similarity
  • SNPInt-GPU: Tool for Epistasis Testing with Multiple Methods and GPU Acceleration.
  • modglm: An R package for testing, interpreting, and displaying interactions in generalized linear models of discrete data
  • Implementation of the simple domain-specific language for system testing in V-Model development lifecycle
  • TauJud: test augmentation of machine learning in judicial documents
  • EleMA: A reference simulation model architecture and interface standard for modeling and testing of electric vehicles
  • Usability Testing in Kanban Agile Process for Club Management System
  • Automated seed testing by 3D X-ray computed tomography
  • Model-Based Testing of GUI Applications Featuring Dynamic Instanciation of Widgets
  • Guided, Deep Testing of X. 509 Certificate Validation via Coverage Transfer Graphs
  • Review of Testing by Analysis for Potential Implementation into AISI Standards
  • A Heuristic Region-based Concurrency Bug Testing Approach
  • Towards reducing the time needed for load testing
  • Run Java Applications and Test Them In-Vivo Meantime
  • Testing the usability of digital educational games for encouraging smoking cessation
  • CDST: A Toolkit for Testing Cockpit Display Systems of Avionics
  • Providing Validation Evidence for a Clinical-Science Module: Improving Testing Reliability with Quizzes
  • On Testing Microservice Systems
  • Performance analysis of SIIT implementations: Testing and improving the methodology
  • On automation in software engineering
  • Remote laboratory testing demonstration
  • Testing Coverage Criteria for Deep Forests
  • Impact of direct-to-consumer genetic testing on Australian clinical genetics services
  • Automated testing to detect status data loss in android applications
  • Critical mass: The rise of a touchscreen technology community for rodent cognitive testing
  • Testing in Global Software Development–A Pattern Approach
  • Data loss detector: automatically revealing data loss bugs in Android apps
  • Penetration testing ROS
  • Vibration Fatigue–Fem Analysis vs. Real Testing
  • Fault-driven stress testing of distributed real-time systems based on UML models
  • Testing of a Program to Automatically Analyze Students’ Concept Maps
  • Testing the identification effectiveness of an unknown outbreak of the Infectious Diseases Seeker (IDS) using and comparing the novel coronavirus disease …
  • Experience of the distance testing system development and operation
  • Developing of Computerized Adaptive Testing to Measure Physics Higher Order Thinking Skills of Senior High School Students and Its Feasibility of Use.
  • AMADEUS: towards the AutoMAteD secUrity teSting
  • HW_TEST, a program for comprehensive HARDY-WEINBERG equilibrium testing
  • Full latent growth and its use in PLS-SEM: Testing moderating relationships
  • Analytical Techniques for Testing: Optimal Distribution of Testing Resources Between Different System Levels
  • A Language for Autonomous Vehicles Testing Oracles
  • Double Cycle Hybrid Testing of Hybrid Distributed IoT System
  • Localizing software performance regressions in web applications by comparing execution timelines
  • Testing Web Service Compositions: Approaches, Methodology and Automation
  • Testing Robotic Systems: A New Battlefield!
  • Learning input tokens for effective fuzzing
  • Asserting Functional Equivalence between C Code and SCADE Models in Code-to-Model Transformations
  • Non-destructive testing and Finite Element Method integrated procedure for heritage diagnosis: The Seville Cathedral case study
  • Improving regression testing efficiency and reliability via test-suite transformations
  • Design and Development of mini Universal Testing Machine (mini UTM)
  • Design of integrated performance testing equipment for ranging/irradiator
  • Practical use of Windows data collector process and testing analysis
  • CoCoNuT: Combining context-aware neural translation models using ensemble for program repair
  • Security testing of second order permission re-delegation vulnerabilities in Android apps
  • Experimental modal analysis of nonlinear systems by using response-controlled stepped-sine testing
  • Evaluation of open source static analysis security testing (SAST) tools for c
  • Testing Antivirus in Linux: An Investigation on the Effectiveness of Solutions Available for Desktop Computers
  • Anxiety and hemodynamic reactivity during cardiac stress testing: The role of gender and age in myocardial ischemia
  • Relocatable addressing model for symbolic execution
  • Non-Destructive Testing of GFRP-Wrapped Reinforced-Concrete Slabs
  • Agile development technology of test application program suitable for semiconductor device testing
  • Sandbox: A Secured Testing Framework for Applications
  • Running symbolic execution forever
  • Do memories haunt you? An automated black box testing approach for detecting memory leaks in android apps
  • A reference test setup and comparison between different HPEM testing schemes
  • Whole-Genome Assembly of Yersinia pestis 231, the Russian Reference Strain for Testing Plague Vaccine Protection
  • A Study on Testing Autonomous Driving Systems
  • Grammar-based testing for little languages: an experience report with student compilers
  • Usability testing of mobile flipboard application on both non-users and novice users
  • Finding minimum locating arrays using a CSP solver
  • Documentation-Guided Fuzzing for Testing Deep Learning API Functions
  • A framework for testing large-scale distributed soil erosion and sediment delivery models: Dealing with uncertainty in models and the observational data
  • Analysis, Integration and Testing the Component Based Adoption Techniques During Runtime Configuration
  • A point-of-care testing sensor based on fluorescent nanoclusters for rapid detection of septicemia in children
  • Smartphone-based self-testing of covid-19 using breathing sounds
  • Optimized Fuzzy Hierarchical Clustering based Automated Test case generation for Improving Regression Testing on Mobile Apps
  • Smartphone-Based Automated Non-Destructive Testing Devices
  • Commissioning of L1Calo Phase I Upgrade at ATLAS: development and testing of eFEX and FTM modules
  • An approach to security testing in the context of smart power grids
  • Development and Application of a New Triaxial Testing System for Subzero Rocks
  • Testing Campus-Class-Technology Theory in Student Engagement: A Large Sample Path Analysis
  • Net benefit analysis of Visual Regression Testing in a Continuous integration environment: An industrial Case study
  • Closing the RISC-V Compliance Gap: Looking from the Negative Testing Side*
  • DAPT: A Package Enabling Distributed Automated Parameter Testing
  • A Modified Artificial Bee Colony Based Test Suite Generation Strategy for Uniform T-Way Testing
  • Research on Testing System for an Intelligent and Connected Vehicle
  • Exploring Application of Knowledge Space Theory in Accessibility Testing
  • Research and Application of Relay Protection Testing Method in the Intelligent Substation
  • Development of an application to simulate a blood and plasma testing device
  • Experience in Automated Functional and Load Testing in the Life Cycle of the Mission-critical System
  • Performance of the VITEK® 2 advanced expert system™ for the validation of antimicrobial susceptibility testing results
  • Security Assessment and Testing
  • Defining suitable testing levels, methods and practices for an agile web application project
  • Regression Testing in Era of Internet of Things and Machine Learning
  • Floating Point Accuracy Testing in Deep Neural Network Computations via Hypothesis Testing
  • A Study on the Use of Exploraroty Testing in College Game Development Projects
  • Testing, checking, linting
  • A new dynamic direct shear testing device on rock joints
  • Property-based testing of ERC-20 smart contracts
  • Measuring MC/DC Coverage and Boolean Fault Severity of Object-Oriented Programs Using Concolic Testing
  • Empirical study of Team Usability Testing: a laboratory experiment
  • SISO Space Reference FOM-Tools and Testing
  • Computer aided testing of materials through interfacing device
  • Pooling of SARS-CoV-2 samples to increase molecular testing throughput
  • Affordable Virtual Reality Setup for Educational Aerospace Robotics Simulation and Testing
  • Automated Requirements-Based Testing of Black-Box Reactive Systems
  • Ethical Testing in the Real World: Evaluating Physical Testing of Adversarial Machine Learning
  • Testing and optimization of Recurrent Signal Processor
  • Usage of simulation software for differential protection testing
  • A Concept of an Attack Model for a Model-Based Security Testing Framework
  • Automated molecular testing of saliva for SARS-COV-2 detection
  • End-to-end testing on Web Experience Management Platform
  • Determining the existence and strength of teen dating violence policy: testing a comparative state internal determinants model
  • The Process of Maintenance and Assessment of The Universal Testing Material Machine H50KS
  • Testing mediation via indirect effects in PLS-SEM: A social networking site illustration
  • Low performance of rapid antigen detection test as frontline testing for COVID-19 diagnosis
  • Graphic Augmented Defect Recognition for Phased Array Ultrasonic Testing on Tubular TKY Joints
  • How many familial relationship testing results could be wrong?
  • Digital BOPE Testing–A Case Study Leading to Improved Technical Assurance While Reducing Time Requirements and Cost in Onshore Drilling Operations
  • A paradigm of automatic ICT testing system development in practice
  • Matching & Testing of Turbocharger Based on FSC Racing Engine
  • Closing the Wearable Gap-Part VII: A Retrospective of Stretch Sensor Tool Kit Development for Benchmark Testing
  • Physics-of-failure and computer-aided simulation fusion approach with a software system for electronics reliability analysis
  • A new analysis of the factors influencing the philosophy of value creation; the empirical testing of contingency theory
  • Construction of intelligent testing system for electronic components
  • Improving Engagement Assessment in Gameplay Testing Sessions using IoT Sensors
  • Adapting to disruption of research during the COVID-19 pandemic while testing nonpharmacological approaches to pain management
  • Flexible Combinatorial Interaction Testing
  • Unique approach to quality assurance in viscoelastic testing
  • A database of laboratory analogue models of caldera collapse testing the role of inherited structures
  • Commercial filament testing for use in 3D printed phantoms
  • Testing the applicability of dendrochemistry using X-ray fluorescence to trace environmental contamination at a glassworks site
  • A Differential Testing Approach for Evaluating Abstract Syntax Tree Mapping Algorithms
  • Features of Thermal Nondestructive Testing of Impact Damage to Products Made of Polymer Composite Materials
  • Testing Encyclopedias in Production
  • Kaya: A Testing Framework for Blockchain-based Decentralized Applications
  • Innovative and rapid antimicrobial susceptibility testing systems
  • Fast Delivery, Continuously Build, Testing and Deployment with DevOps Pipeline Techniques on Cloud
  • Frequency of testing for COVID 19 infection and the presence of higher number of available beds per country predict outcomes with the infection, not the GDP of the …
  • DigiCAV: A platform for simulation augmented physical testing of connected autonomous vehicle technologies
  • Fly-by-Pi: Open source closed-loop control for geotechnical centrifuge testing applications
  • of the Thesis: Automated testing with wireless communication in digitalised
  • Ultrasonic pitch and catch technique for non-destructive testing of reinforced concrete slabs
  • Vibration testing for dynamic properties of building floors
  • Deep Reinforcement Learning for Black-Box Testing of Android Apps
  • Observation Tree Approach: Active Learning Relying on Testing
  • Ethnographic Upscaling: Exploring and Testing Hypotheses Drawn from In-depth Ethnographic Findings in Spatially Continuous Cases
  • Testing, testing…
  • An Approach of Usability Testing for Web User Interface Through Interaction Flow Modeling Language (IFML) Models
  • Deficient testing databases: a reliability-driven evaluation of privacy models providing a trade-off between data integrity and re-identification risk
  • Testing prospective effects in longitudinal research: Comparing seven competing cross-lagged models.
  • Virtual-Real Interaction Testing for Functions of Intelligent Ships
  • Software engineering
  • Pandora: A Cyber Range Environment for the Safe Testing and Deployment of Autonomous Cyber Attack Tools
  • Testing the Kerr Black Hole Hypothesis with GX 339–4 by a Combined Analysis of Its Thermal Spectrum and Reflection Features
  • Bridging a Gap in SAR-ATR: Training on Fully Synthetic and Testing on Measured Data
  • A Methodology for Verification Testing of Data Evidence in Mobile Forensics
  • In Silico Study on Testing Antidiabetic Compounds Candidate from Azaphilone Mold Monascus sp.
  • An algorithm for detecting SQL injection vulnerability using black-box testing
  • A flexible virtual environment for autonomous driving agent-human interaction testing
  • A Universal Machine-Learning-Based Automated Testing System for Consumer Electronic Products. Electronics 2021, 10, 136
  • Acoustic Performance Testing of CBA Concrete
  • Patch based vulnerability matching for binary programs
  • Test Case Minimization for Regression Testing of Composite Service Based on Modification Impact Analysis
  • Testing a file carving tool using realistic datasets generated with openness by a user level file system
  • THE TESTING OF LIBRARY APPLICATION BY USING BOUNDARY VALUE ANALYSIS
  • Adaptive Test Feedback Loop: A Modeling Approach for Checking Side Effects during Test Execution in Advised Explorative Testing
  • The new soaking test approach for testing the SONiC network testbed
  • Hardness Testing Changes with the Times
  • Checking Security Properties of Cloud Service REST APIs
  • 3D EM Simulation Environment for Development, Testing, and Functioning of Internet of Things
  • Continuous Integration in Automation Testing
  • A Search-Based Testing Framework for Deep Neural Networks of Source Code Embedding
  • Patch testing in New Zealand: Barriers to evidence‐based care
  • Terrestrial testing of multi-agent, relative guidance, navigation, and control algorithms
  • Scaling Test Case Generation For Expressive Decision Tables
  • Testing whether ensemble modelling is advantageous for maximising predictive performance of species distribution models
  • New perspectives on statistical data analysis: challenges and possibilities of digitalization for hypothesis testing in quantitative research
  • Repeatable Simulation for Highly Automated Driving Development and Testing
  • Testing Recognition of Computer-generated Icons
  • The mathematical strategy that could transform coronavirus testing
  • Electrical testing of small-series multi-chip microcircuit samples combining Wire Bond and Flip-Chip technologies
  • Towards a Scalable and Flexible Simulation and Testing Environment Toolbox for Intelligent Microgrid Control
  • Protocol development, validation, and troubleshooting of in-situ fiber optic bathless dissolution system (FODS) for a pharmaceutical drug testing
  • Feasibility of virtual telehealth cochlear-implant testing
  • Combining Dynamic Symbolic Execution, Machine Learning and Search-Based Testing to Automatically Generate Test Cases for Classes
  • PolySTest: Robust statistical testing of proteomics data with missing values improves detection of biologically relevant features
  • The state of the art of testing standards for integrated robotic systems
  • Onset detection of ultrasonic signals for the testing of concrete foundation piles by coupled continuous wavelet transform and machine learning algorithms
  • Mechanical testing ontology for digital-twins: A roadmap based on EMMO
  • Automated classification of actions in bug reports of mobile apps
  • SKI: A new agile framework that supports DevOps, continuous delivery, and lean hypothesis testing
  • TimelyRep: Timing deterministic replay for Android web applications
  • Testing Self Driving Cars with Game Development Tools
  • Evaluating the impacts of machine learning to the future of A/B testing
  • Technical standards for respiratory oscillometry
  • Research on Optical Performance Testing of Deck-embedded Lamps
  • Firmware development and testing of semi-invasive multichannel esophageal ECG recorder for 3D mapping of electrical heart activity
  • MUTATION TESTING OF ACCESS CONTROL POLICIES
  • Assessing Cognitive Demand Testing Methods for Voice-Based Infotainment Systems
  • Hardware-in-the-loop Model-based Testing of a Motor Relay with Secondary Injection
  • Measurement Invariance Testing in Counseling
  • SmartFuzz: An automated smart fuzzing approach for testing SmartThings apps
  • An ultraportable and versatile point-of-care DNA testing platform
  • Modes of automated driving system scenario testing: Experience report and recommendations
  • Testing exoplanet evaporation with multitransiting systems
  • Visual vs. Tactile Reaction Testing Demonstrates Problems with Online Cognitive Testing
  • Development of a high-throughput SARS-CoV-2 antibody testing pathway using dried blood spot specimens
  • System Integration Testing for Unintended Behaviors in Flight-Critical Aerospace Applications
  • Validation Testing of Autonomous Learning Systems
  • Automatic Generation of Challenging Road Networks for ALKS Testing based on Bezier Curves and Search
  • Group testing for severe acute respiratory syndrome–coronavirus 2 to enable rapid scale-up of testing and real-time surveillance of incidence
  • Continued Development and Flight Testing of a Long-Endurance Solar-Powered Unmanned Aircraft: UIUC-TUM Solar Flyer
  • The SPLICE Project: Safe and Precise Landing Technology Development and Testing
  • Application of digital image correlation method for road and railway material testing
  • Chest CT vs. Reverse Transcription Polymerase Chain Reaction Testing for COVID Diagnosis
  • Testing the residential daylight score: Comparing climate-based daylighting metrics for 2444 individual dwelling units in temperate climates
  • Open geospatial software and data: A review of the current state and a perspective into the future
  • Using tabular notation to support model based testing: A practical experience using STTSpec and Spec Explorer
  • Unblind your apps: Predicting natural-language labels for mobile GUI components by deep learning
  • A Review of Penetration Testing and Vulnerability Assessment in Cloud Environment
  • Towards FAIR principles for research software
  • A PROTOTYPE AND ITS TESTING METHOD DEVELOPMENT FOR FIVE TRAPS METAL CATCHERS TO REMOVE METAL IMPURITIES IN FOOD PRODUCTS
  • TEACHERS’COMPETENCIES COMPUTER-AIDED TESTING THROUGH AN INTERNAL SYSTEM OF EDUCATION QUALITY ASSESSMENT IN ADDITIONAL …
  • Observability and Controllability in Scenario-based Integration Testing of Time-Constrained Distributed Systems
  • Hybrid Simulation Framework for Multi-hazard Testing
  • Performance-based Comparative Analysis of OpenSource Vulnerability Testing Tools for WebDatabase Applications
  • Local Language Testing: Design, Implementation, and Development
  • RegularMutator: A Mutation Testing Tool for Solidity Smart Contracts
  • Synthesizing Traffic Scenarios from Formal Specifications for Testing Automated Vehicles
  • The Sociopolitics of English Language Testing
  • Testing and analysis of additively manufactured stainless steel CHS in compression
  • Data mining technology of computer testing system for intelligent machining
  • SISTEM PENCEGAHAN SERANGAN SQL INJECTION PADA WEB PENETRATION TESTING DAMN VULNERABLE WEB ATTACK DVWA MENGGUNAKAN METODE …
  • Testing archaeological mail armour in a virtual environment: 3rd century BC to 10th century AD
  • Testing Signal Processing Techniques for Digital VHF/UHF Transceiver in High-level SDR Programming Environment
  • Supplemental file to the Language Testing paper “An eye-tracking study of attention to visual cues in L2 listening tests”
  • Testing ERP and MES with Digital Twins
  • Testing performance of RaspberryPi as IDS using SNORT
  • Towards Flexible Security Testing of OT Devices
  • 5G Packet Core Testing Strategies
  • Local language testing: Design, implementation, and development
  • System Architecture Modularity for Facilitated Testing and Resiliency for Humanoid Robotics
  • Model-In-the-Loop Testing of Control Systems and Path Planner Algorithms for QuadRotor UAVs
  • Automated Vulnerability Testing via Executable Attack Graphs
  • Cardiovascular health and mitochondrial function: testing an association
  • Real-time PCR, the best approaches for rapid testing for Mycobacterium chimaera detection in heater cooler units and extracorporeal membrane oxygenation
  • Remote teaching and supervision of graduate scholars in the unprecedented and testing times
  • V0ltpwn: Attacking x86 processor integrity from software
  • Testing, tracing and isolation in compartmental models
  • Digital Experimentation and Startup Performance: Evidence from A/B Testing
  • Out-Of-Step Protection Modeling for Playback and Real-Time Testing
  • Camera testing technique for auto recognition
  • Design, Construction and Testing of Portable Systems for Temperature, Humidity and Ammonia Monitoring of Chicken Coop
  • Testing and validating AnTraGoS algorithms with impact beating spatters
  • Scalable Electric-Motor-in-the-Loop Testing for Vehicle Powertrains
  • WEIZZ: Automatic grey-box fuzzing for structured binary formats
  • Using Bayes factor hypothesis testing in neuroscience to establish evidence of absence
  • Drop-weight impact testing for the study of energy absorption in automobile crash boxes made of composite material
  • Automatic monitoring of service reliability for web applications: a simulation‐based approach
  • Performance-based Comparative Analysis of Open Source Vulnerability Testing Tools for Web Database Applications
  • Development and testing of a conveyor for detecting various types of vehicles when transporting agricultural products from the field
  • Bridge Load Testing: State-of-the-Practice
  • Design, Testing and Field Deployment of an Online Sand Sampling and Particle Size Analysis Package
  • Who am I? Testing I3S Contour on the facial mask of the Western polecat (Mustela putorius).
  • Reliability Simulation Research for Nondestructive Ultrasonic Structure Testing Based on In Situ Influential Factors
  • Virtual Simulation and Testing Platform for Self-Driving Cars
  • Research and Design of Vehicle Simulation Subsystem of Testing Platform for CBTC System Based
  • Non-destructive testing and evaluation of composite materials/structures: A state-of-the-art review
  • Docker Image Selenium Test: A proof of concept for automating testing
  • Detection and Testing of Dependencies Between Input and Output Data in the Implementation of Multi-Digit Algorithms in a Parallel Computational Model
  • A Dissertation on the Testing Approaches of Autonomous Cyber-Physical Systems
  • Quality assurance practices for point of care testing programs: Recommendations by the canadian society of clinical chemists point of care testing interest group
  • HDSI: High dimensional selection with interactions algorithm on feature selection and testing
  • MET: a Java package for fast molecule equivalence testing
  • How to establish an academic SARS-CoV-2 testing laboratory
  • Design and experimental testing of a control system for a morphing wing model actuated with miniature BLDC motors
  • Designing and testing the employees performance management model: An integrated approach in Iran’s state-owned banks
  • Development and Performance Testing of the Automated Building Energy Management System with IoT (ABEMS-IoT) Case Study: Big-Scale Automobile Factory
  • Controller Area Network (CAN) Bus Simulator and Data-logger for In-Vehicle Infotainment Testing
  • Do links between personality and life outcomes generalize? Testing the robustness of trait–outcome associations across gender, age, ethnicity, and analytic …
  • Changing the design of a synchronous motor after testing
  • Routine testing for hyposplenism in a lupus clinic diagnoses; new cases and opportunities for intervention
  • Testing Alertness of Emergency Physicians: A Novel Quantitative Measure of Alertness and Implications for Worker and Patient Care
  • Thermal design, analysis, and testing of the first Turkish 3U communication CubeSat in low earth orbit
  • Security Testing in Safety-Critical Networks
  • Applying visual optical methods of non-destructive testing while diagnosing metal structures of mine hoisting plants
  • Virtual Testing of Counterbalance Forklift Trucks: Implementation and Experimental Validation of a Numerical Multibody Model
  • Testing Our Assumptions: Preliminary Results from the Data Curation Network
  • Experimental Methods in Chemical Engineering: High throughput catalyst testing—HTCT
  • Testing the efficacy of the economic policy uncertainty index on tourism demand in USMCA: Theory and evidence
  • Normality Testing for Vectors on Perceptron Layers
  • Breaking hypothesis testing for failure rates
  • Penetration Testing Artificial Intelligence
  • Usability Testing of Educational Computer Games on the Topic” Safe Internet”.
  • Symbolic Testing for C and Rust
  • Experimental Design, Instrumentation, and Testing of a Laboratory-Scale Test Rig for Torsional Vibrations—The Next Generation
  • Digital neurocognitive testing
  • Experimental testing and numerical modeling approach of punch tests on Kevlar 29 composites
  • Hypothesis Testing
  • Testing the performance of the Milankovi\’c telescope
  • Pooled testing with replication as a mass testing strategy for the COVID-19 pandemics
  • BUILDING AND TESTING A WIND TURBINE EXPERIMENTAL KIT FOR STUDENTS
  • Motorized testing framework for a computer vision application
  • An Empirical Evaluation for Object Initialization of Member Variables in Unit Testing
  • DESIGN AND EMPIRICAL TESTING OF A FRAMEWORK FOR IMPLEMENTING PFABC COSTING SYSTEMS
  • Evaluation of ultra-rapid susceptibility testing of ceftolozane-tazobactam by a flow cytometry assay directly from positive blood cultures
  • A new user specific multiple testing method for business applications: the SiMaFlex procedure
  • A deep cnn ensemble framework for efficient ddos attack detection in software defined networks
  • PCB Design for EMC Testing
  • Dynamic boundary of floating platform and its influence on the deepwater testing tube
  • EMC Characteristics of Helical Antennas used in Automotive Testing
  • Design, manufacturing and testing of a prototype two-stroke engine with rhombic drive mechanism
  • Increasing pediatric HIV testing positivity rates through focused testing in high-yield points of service in health facilities—Nigeria, 2016-2017
  • A Formal Model-Based Testing Framework for Validating an IoT Solution for Blockchain-based Vehicles Communication.
  • Thyroid cytology smear slides: An untapped resource for ThyroSeq testing
  • Guest Editorial: Recent Advances in Non-destructive Testing Methods
  • A Novel Method for High Temperature Fatigue Testing of Nickel Superalloy Turbine Blades with Additional NDT Diagnostics
  • User-adaptable Natural Language Generation for Regression Testing within the Finance Domain.
  • Putting Randomized Compiler Testing into Production (Artifact)
  • PerpLE: Improving the Speed and Effectiveness of Memory Consistency Testing

Research Topics Computer Science

 
   
 

Topic Covered

Top 10 research topics of Software Testing | list of research topics of Software Testing | trending research topics of Software Testing | research topics for dissertation in Software Testing | dissertation topics of Software Testing in pdf | dissertation topics in Software Testing | research area of interest Software Testing | example of research paper topics in Software Testing | top 10 research thesis topics of Software Testing | list of research thesis  topics of Software Testing| trending research thesis topics of Software Testing | research thesis  topics for dissertation in Software Testing | thesis topics of Software Testing in pdf | thesis topics in Software Testing | examples of thesis topics of Software Testing | PhD research topics examples of  Software Testing | PhD research topics in Software Testing | PhD research topics in computer science | PhD research topics in software engineering | PhD research topics in information technology | Masters (MS) research topics in computer science | Masters (MS) research topics in software engineering | Masters (MS) research topics in information technology | Masters (MS) thesis topics in Software Testing.

Related Posts:

  • Software testing strategies MCQs - Software Project  Management(unit testing, integration testing, system testing)
  • Alpha Software Testing and Beta Software Testing With Examples, Advantages And Disadvantages
  • Software Formal Methods Research Topics for MS PhD
  • Software Fault Tolerance Research Topics for MS PhD
  • Software Formal Verification Research Topics for MS PhD
  • Software Security Research Topics Ideas [MS PhD]

You must be logged in to post a comment.

Admission Open – batch#11

  • Our Promise
  • Our Achievements
  • Our Mission
  • Proposal Writing
  • System Development
  • Paper Writing
  • Paper Publish
  • Synopsis Writing
  • Thesis Writing
  • Assignments
  • Survey Paper
  • Conference Paper
  • Journal Paper
  • Empirical Paper
  • Journal Support
  • Software Engineering PhD Topics

Software Engineering is an important branch in computer science, which effectively addresses the software design, testing and maintenance of software. Based on software engineering domain, here we discuss multiple areas and trending peculiar topics for performing a meaningful PhD project:

  • Advanced Software Engineering Methodologies
  • Development and future generation Agile Methodologies
  • For large-scale and complicated projects, the hybrid models are synthesized with conventional methods.
  • AI and Machine Learning in Software Development
  • AI-based automated software testing and debugging
  • To improve programming tools and forecast software development results, implement machine learning algorithms.
  • Software Security and Privacy
  • Considering the evolving technologies like cloud computing, IoT and blockchain, apply modernized algorithms in software security.
  • For executing differential secrecy, privacy-preserving software development training incorporates efficient methods.
  • Human-Computer Interaction (HCI)
  • Regarding AR (Augmented Reality) and VR (Virtual Reality) platforms, create innovative user interface architectures.
  • To help users with incapacities, address the disability issues and propose findings.
  • Software Architecture and Design
  • Reflecting on distributed systems which involve serverless computing and microservices, implement novel systems.
  • For AI (Artificial Intelligence) and machine learning-based systems, develop patterns.
  • DevOps and Continuous Software Engineering
  • In order to advance software capacity and rapid delivery, enhance the DevOps methods and tools.
  • Automated testing in highly organized or important platforms.
  • Software Reliability and Quality Assurance
  • To evaluate and advance the dependability of machine learning models in software applications, apply productive algorithms.
  • Encompassing predictive models for anomaly detection and findings, the modernized software testing techniques address the issue and propose effective measures.
  • Software for Social Good
  • For the purpose of generating technology findings to solve global issues like healthcare and climate change, establish software engineering techniques.
  • Social and ethical consequences of software in sensible technologies.
  • Open Source Software and Community Dynamics
  • Develop systems or infrastructure for endurable software development.
  • Reflecting on open source projects, it influences community organization and software quality.
  • Cloud Computing and Edge Computing

DiffCopycode

  • Blockchain and Distributed Ledger Technologies
  • Ethics and Professionalism in Software Engineering
  • Software Engineering Education

You must crucially consider your self-interest and possible consequences of your research as well as analyze the existing status of study and technical developments, while selecting a topic for doctoral research. For your PhD project, cooperation with industry experts, multidisciplinary study or participating in a free software community paves the way for novel routes.

What are some questions and issues being researched in software engineering?

Research questions are the key tool to analyze the area which is underexplored or require sufficient information. According to existing and modern studies on the subject of software engineering, some of the primary questions are topics are provided below:

  • In what way the agile methodologies are relevant and enhance the various kinds of software projects, incorporating large-scale and distributed teams?
  • What are the effects of DevOps methods on software metrics, delivery speed, and team cooperation?
  • Software Quality and Reliability
  • How can software testing and verification techniques be improved to identify and rectify the anomalies more productively?
  • What are the efficient methods for assuring software security and secrecy in an expansively globalized world?
  • Artificial Intelligence and Machine Learning in Software Engineering
  • How can AI (Artificial Intelligence) and ML (Machine Learning) be synthesized into software development tools to aid in coding, testing, and debugging processes?
  • What are the problems in examining the dependability and integrity of AI-based systems?
  • How can user interface (UI) and user experience (UX) formulate standards which are enhanced to develop more perceptive and approachable software?
  • What are the impacts of evolving technologies like virtual reality (VR) and augmented reality (AR) on software interaction models?
  • Software Maintenance and Evolution
  • What tactics might be deployed to efficiently handle technical complexity and legacy systems?
  • How can software be developed to promote further upgrades and conservation over its lifecycle?
  • What are the productive techniques for creating and organizing adaptable, strong distributed systems?
  • How cloud-native architectures are enhanced for performance, security, and cost?
  • How does engagement in open source projects impact software metrics and discoveries?
  • What models of governance and durability are most effective for open source projects?
  • In what way the software engineering standards are implemented to solve societal problems, such as health care, education, and ecological conservation?
  • While creating software which is designed for social consequences, what are the encountered ethical concerns?
  • How are developing software business models, such as SaaS (Software as a Service), the environment of software development and employment?
  • What are the impacts of software licensing models on discoveries and competition?
  • Education and Training in Software Engineering
  • What are efficient teaching methodologies and tools for software engineering education?
  • How can consistent professional development in software engineering be best supported and encouraged?

For the purpose of improving software engineering and solving the technical problems of the future, these research areas are highly beneficial for crying out an extensive exploration. Explorers and professionals are able to dedicate themselves to the evolution of more dependable, compelling and user-friendly systems through investigating these questions.

Software Engineering PhD Research Ideas

Software engineering ensures that the application is developed following a systematic process, adhering to the correct format, and delivered on schedule and within the allocated budget, while meeting the specified requirements. At phdservices.org, we provide assistance in selecting the best software tools that align with your concept, accompanied by comprehensive explanations. To facilitate your decision-making process, our team of research professionals has curated a list of research areas within the field of software engineering, from which you can choose your PhD topic.

  • Teaching an object-oriented software development lifecycle in undergraduate software engineering education
  • Big data analytics on large-scale socio-technical software engineering archives
  • A demonstration case study of software engineering senior project coordinating the international standard
  • Interdisciplinary Project-Based Learning in Ergonomics for Software Engineers: A Case Study
  • A Serious Game to Promote Object Oriented Programming and Software Engineering Basic Concepts Learning
  • A user evaluation of synchronous collaborative software engineering tools
  • Motivation to Perform Systematic Reviews and their Impact on Software Engineering Practice
  • Educational software engineering: Where software engineering, education, and gaming meet
  • Designing Control Software for Robot Swarms: Software Engineering for the Development of Automatic Design Methods
  • A unified framework for the software engineering process system standards and models
  • Software Measurement in Software Engineering Education: A Delphi Study to Develop a List of Teaching Topics and Related Levels of Learning
  • A comparative study of three personality assessment models in software engineering field
  • Studying the impact of evolution in R libraries on software engineering research
  • A curriculum development methodology for professional software engineers and its evaluation
  • The Basic Research of Human Factor Analysis Based on Knowledge in Software Engineering
  • Influencing the adoption of software engineering methods using social software
  • A worldwide survey of base process activities towards software engineering process excellence
  • Software Engineering Process and Methodology in Blockchain-Oriented Software Development: A Systematic Study
  • A SOA Based Software Engineering Design Approach in Service Engineering
  • Automated Feedback for Quality Assurance in Software Engineering Education

MILESTONE 1: Research Proposal

Finalize journal (indexing).

Before sit down to research proposal writing, we need to decide exact journals. For e.g. SCI, SCI-E, ISI, SCOPUS.

Research Subject Selection

As a doctoral student, subject selection is a big problem. Phdservices.org has the team of world class experts who experience in assisting all subjects. When you decide to work in networking, we assign our experts in your specific area for assistance.

Research Topic Selection

We helping you with right and perfect topic selection, which sound interesting to the other fellows of your committee. For e.g. if your interest in networking, the research topic is VANET / MANET / any other

Literature Survey Writing

To ensure the novelty of research, we find research gaps in 50+ latest benchmark papers (IEEE, Springer, Elsevier, MDPI, Hindawi, etc.)

Case Study Writing

After literature survey, we get the main issue/problem that your research topic will aim to resolve and elegant writing support to identify relevance of the issue.

Problem Statement

Based on the research gaps finding and importance of your research, we conclude the appropriate and specific problem statement.

Writing Research Proposal

Writing a good research proposal has need of lot of time. We only span a few to cover all major aspects (reference papers collection, deficiency finding, drawing system architecture, highlights novelty)

MILESTONE 2: System Development

Fix implementation plan.

We prepare a clear project implementation plan that narrates your proposal in step-by step and it contains Software and OS specification. We recommend you very suitable tools/software that fit for your concept.

Tools/Plan Approval

We get the approval for implementation tool, software, programing language and finally implementation plan to start development process.

Pseudocode Description

Our source code is original since we write the code after pseudocodes, algorithm writing and mathematical equation derivations.

Develop Proposal Idea

We implement our novel idea in step-by-step process that given in implementation plan. We can help scholars in implementation.

Comparison/Experiments

We perform the comparison between proposed and existing schemes in both quantitative and qualitative manner since it is most crucial part of any journal paper.

Graphs, Results, Analysis Table

We evaluate and analyze the project results by plotting graphs, numerical results computation, and broader discussion of quantitative results in table.

Project Deliverables

For every project order, we deliver the following: reference papers, source codes screenshots, project video, installation and running procedures.

MILESTONE 3: Paper Writing

Choosing right format.

We intend to write a paper in customized layout. If you are interesting in any specific journal, we ready to support you. Otherwise we prepare in IEEE transaction level.

Collecting Reliable Resources

Before paper writing, we collect reliable resources such as 50+ journal papers, magazines, news, encyclopedia (books), benchmark datasets, and online resources.

Writing Rough Draft

We create an outline of a paper at first and then writing under each heading and sub-headings. It consists of novel idea and resources

Proofreading & Formatting

We must proofread and formatting a paper to fix typesetting errors, and avoiding misspelled words, misplaced punctuation marks, and so on

Native English Writing

We check the communication of a paper by rewriting with native English writers who accomplish their English literature in University of Oxford.

Scrutinizing Paper Quality

We examine the paper quality by top-experts who can easily fix the issues in journal paper writing and also confirm the level of journal paper (SCI, Scopus or Normal).

Plagiarism Checking

We at phdservices.org is 100% guarantee for original journal paper writing. We never use previously published works.

MILESTONE 4: Paper Publication

Finding apt journal.

We play crucial role in this step since this is very important for scholar’s future. Our experts will help you in choosing high Impact Factor (SJR) journals for publishing.

Lay Paper to Submit

We organize your paper for journal submission, which covers the preparation of Authors Biography, Cover Letter, Highlights of Novelty, and Suggested Reviewers.

Paper Submission

We upload paper with submit all prerequisites that are required in journal. We completely remove frustration in paper publishing.

Paper Status Tracking

We track your paper status and answering the questions raise before review process and also we giving you frequent updates for your paper received from journal.

Revising Paper Precisely

When we receive decision for revising paper, we get ready to prepare the point-point response to address all reviewers query and resubmit it to catch final acceptance.

Get Accept & e-Proofing

We receive final mail for acceptance confirmation letter and editors send e-proofing and licensing to ensure the originality.

Publishing Paper

Paper published in online and we inform you with paper title, authors information, journal name volume, issue number, page number, and DOI link

MILESTONE 5: Thesis Writing

Identifying university format.

We pay special attention for your thesis writing and our 100+ thesis writers are proficient and clear in writing thesis for all university formats.

Gathering Adequate Resources

We collect primary and adequate resources for writing well-structured thesis using published research articles, 150+ reputed reference papers, writing plan, and so on.

Writing Thesis (Preliminary)

We write thesis in chapter-by-chapter without any empirical mistakes and we completely provide plagiarism-free thesis.

Skimming & Reading

Skimming involve reading the thesis and looking abstract, conclusions, sections, & sub-sections, paragraphs, sentences & words and writing thesis chorological order of papers.

Fixing Crosscutting Issues

This step is tricky when write thesis by amateurs. Proofreading and formatting is made by our world class thesis writers who avoid verbose, and brainstorming for significant writing.

Organize Thesis Chapters

We organize thesis chapters by completing the following: elaborate chapter, structuring chapters, flow of writing, citations correction, etc.

Writing Thesis (Final Version)

We attention to details of importance of thesis contribution, well-illustrated literature review, sharp and broad results and discussion and relevant applications study.

How PhDservices.org deal with significant issues ?

1. novel ideas.

Novelty is essential for a PhD degree. Our experts are bringing quality of being novel ideas in the particular research area. It can be only determined by after thorough literature search (state-of-the-art works published in IEEE, Springer, Elsevier, ACM, ScienceDirect, Inderscience, and so on). SCI and SCOPUS journals reviewers and editors will always demand “Novelty” for each publishing work. Our experts have in-depth knowledge in all major and sub-research fields to introduce New Methods and Ideas. MAKING NOVEL IDEAS IS THE ONLY WAY OF WINNING PHD.

2. Plagiarism-Free

To improve the quality and originality of works, we are strictly avoiding plagiarism since plagiarism is not allowed and acceptable for any type journals (SCI, SCI-E, or Scopus) in editorial and reviewer point of view. We have software named as “Anti-Plagiarism Software” that examines the similarity score for documents with good accuracy. We consist of various plagiarism tools like Viper, Turnitin, Students and scholars can get your work in Zero Tolerance to Plagiarism. DONT WORRY ABOUT PHD, WE WILL TAKE CARE OF EVERYTHING.

3. Confidential Info

We intended to keep your personal and technical information in secret and it is a basic worry for all scholars.

  • Technical Info: We never share your technical details to any other scholar since we know the importance of time and resources that are giving us by scholars.
  • Personal Info: We restricted to access scholars personal details by our experts. Our organization leading team will have your basic and necessary info for scholars.

CONFIDENTIALITY AND PRIVACY OF INFORMATION HELD IS OF VITAL IMPORTANCE AT PHDSERVICES.ORG. WE HONEST FOR ALL CUSTOMERS.

4. Publication

Most of the PhD consultancy services will end their services in Paper Writing, but our PhDservices.org is different from others by giving guarantee for both paper writing and publication in reputed journals. With our 18+ year of experience in delivering PhD services, we meet all requirements of journals (reviewers, editors, and editor-in-chief) for rapid publications. From the beginning of paper writing, we lay our smart works. PUBLICATION IS A ROOT FOR PHD DEGREE. WE LIKE A FRUIT FOR GIVING SWEET FEELING FOR ALL SCHOLARS.

5. No Duplication

After completion of your work, it does not available in our library i.e. we erased after completion of your PhD work so we avoid of giving duplicate contents for scholars. This step makes our experts to bringing new ideas, applications, methodologies and algorithms. Our work is more standard, quality and universal. Everything we make it as a new for all scholars. INNOVATION IS THE ABILITY TO SEE THE ORIGINALITY. EXPLORATION IS OUR ENGINE THAT DRIVES INNOVATION SO LET’S ALL GO EXPLORING.

Client Reviews

I ordered a research proposal in the research area of Wireless Communications and it was as very good as I can catch it.

I had wishes to complete implementation using latest software/tools and I had no idea of where to order it. My friend suggested this place and it delivers what I expect.

It really good platform to get all PhD services and I have used it many times because of reasonable price, best customer services, and high quality.

My colleague recommended this service to me and I’m delighted their services. They guide me a lot and given worthy contents for my research paper.

I’m never disappointed at any kind of service. Till I’m work with professional writers and getting lot of opportunities.

- Christopher

Once I am entered this organization I was just felt relax because lots of my colleagues and family relations were suggested to use this service and I received best thesis writing.

I recommend phdservices.org. They have professional writers for all type of writing (proposal, paper, thesis, assignment) support at affordable price.

You guys did a great job saved more money and time. I will keep working with you and I recommend to others also.

These experts are fast, knowledgeable, and dedicated to work under a short deadline. I had get good conference paper in short span.

Guys! You are the great and real experts for paper writing since it exactly matches with my demand. I will approach again.

I am fully satisfied with thesis writing. Thank you for your faultless service and soon I come back again.

Trusted customer service that you offer for me. I don’t have any cons to say.

I was at the edge of my doctorate graduation since my thesis is totally unconnected chapters. You people did a magic and I get my complete thesis!!!

- Abdul Mohammed

Good family environment with collaboration, and lot of hardworking team who actually share their knowledge by offering PhD Services.

I enjoyed huge when working with PhD services. I was asked several questions about my system development and I had wondered of smooth, dedication and caring.

I had not provided any specific requirements for my proposal work, but you guys are very awesome because I’m received proper proposal. Thank you!

- Bhanuprasad

I was read my entire research proposal and I liked concept suits for my research issues. Thank you so much for your efforts.

- Ghulam Nabi

I am extremely happy with your project development support and source codes are easily understanding and executed.

Hi!!! You guys supported me a lot. Thank you and I am 100% satisfied with publication service.

- Abhimanyu

I had found this as a wonderful platform for scholars so I highly recommend this service to all. I ordered thesis proposal and they covered everything. Thank you so much!!!

Related Pages

  • Student Services Online
  • Class search
  • Student email
  • Change my password
  • MyCDES+ (job board)
  • Course outlines
  • Learning essentials
  • Libraries and Learning Services
  • Forms, policies and guidelines
  • Campus Card
  • Enrol in courses
  • Postgraduate students
  • Summer school
  • AskAuckland
  • Student Hubs
  • Student IT Hub
  • Student Health and Counselling
  • Harassment, bullying, sexual assault and other violence
  • Complaints and incidents
  • Career Development and Employability Services (CDES)
  • Ratonga Hauātanga Tauira | Student Disability Services (SDS)
  • Rainbow support
  • Emergency information
  • Report concerns, incidents and hazards
  • Health and safety topics
  • Staff email
  • Staff intranet
  • ResearchHub
  • PeopleSoft HR
  • Forms register
  • Careers at the University
  • Education Office
  • Early childhood centres
  • University Calendar
  • Opportunities
  • Update your details
  • Make a donation
  • Publications
  • Photo galleries
  • Video and audio
  • Career services
  • Virtual Book Club
  • Library services
  • Alumni benefits
  • Office contact details
  • Alumni and friends on social media
  • No events scheduled for today You have no more events scheduled for today
  • Next event:
  • Show {0} earlier events Show {0} earlier event
  • Event_Time Event_Name Event_Description
  • My Library Account
  • Change Password
  • Edit Profile
  • My GPA Grade Point Average About your GPA GPA not available Why can't I see my GPA?
  • My Progress
  • Points Required Completed points My Progress Progress not available All done!
  • Student hubs
  • Health and counselling
  • All support
  • Health, safety and well-being

Breadcrumbs List.

  • Ngā akoranga | Study
  • Study options
  • Find a study option
  • Software Engineering
  • You are currently on: Doctoral

Doctoral study in Software Engineering

Why study with us.

  • The highest-ranked engineering faculty in New Zealand (QS World University Rankings by Subject, 2021)
  • Opportunities to be supervised by experts in the field, such as world-class researchers in the areas of Human Aspects of Software Engineering , Parallel and Reconfigurable Computing , and Software Engineering for Robotics
  • Connections to professional, industry and research organisations, including the Association of Computing Machinery (ACM) and Software Innovation New Zealand
  • Access to Postgraduate Research Student Support (PReSS) funding for research expenses

Research opportunities

Pursuing a PhD at our University gives you access to a high-calibre research community – you may have the opportunity to publish papers, attend international conferences, and develop your network in academia and industry.

We welcome research proposals in topics relating to our key areas, including:

  • Human and social aspects of software engineering , with emphasis on the people involved in software development processes, including studying ways to improve coordination on software teams, improving comprehension of software programs, and devising novel techniques to help software developers understand what users want from the software. 
  • Software testing , which involves studying the ways to improve the verification of software systems, such as non-determinism in testing (test flakiness), test oracle generation/improvement, automated software testing, and testing of concurrent software programs.
  • Machine Learning for software engineering , focusing on best practices in designing and developing software solutions with machine learning algorithms at the core. Applied Machine Learning, including designing systems for autonomous vehicles, intelligent and automated health care systems, automatic speech recognition for the speech impaired, and speaker identification and verification.
  • Parallel and reconfigurable computing , including task scheduling for parallel systems, reconfigurable computing with FPGAs, reliability in scheduling, and design of novel scheduling algorithms. 
  • Software security , including examining novel approaches for the mitigation of attacks in Cyber-Physical Systems (CPS), such as medical devices and smart grids. Digital educational engineering to improve student learning by applying the software engineering process with the latest technologies, including machine learning, virtual reality, augmented reality, and more. 
  • Software engineering for robotics , including improving software tools and processes for robotic drivers and speech systems.

phd topics in software testing

Dr Kelly Blincoe is an expert in the human aspects of software engineering. Her research focus is on collaborative software development. She studies software dependencies and the resulting coordination needs between software developers. She was awarded a Marsden Fast Start grant to investigate new techniques to automate software dependency updates, which can enable more secure software products. She also does research in software requirements engineering and diversity and inclusion on software teams. Kelly is a leader in the International Software Engineering research community. She is an Associate Editor of the IEEE Transactions on Software Engineering, the Empirical Software Engineering Journal, and the Journal of Systems and Software. She serves on the executive committee of Software Innovation New Zealand and is the Diversity, Inclusion, and Belonging co-chair for the ACM’s Special Interest Group on Software Engineering.

More experts in Software Engineering:

  • Professor Bruce MacDonald
  • Associate Professor Catherine Watson
  • Dr Craig Sutherland
  • Dr Jesin James
  • Dr Kevin Wang
  • Dr Nasser Giacaman
  • Dr Nitish Patel
  • Associate Professor Oliver Sinnen
  • Professor Partha Roop
  • Dr Reza Shahamiri
  • Dr Valerio Terragni

Past research topics

  • Task Allocation in Agile Software Development Teams | Supervised by Dr Kelly Blincoe and Dr Rashina Hoda
  • Automated software test oracle | Supervised by Dr Reza Shahamiri
  • Cloud Computing with Annotation Parallel Task (@PT)  | Supervised by Associate Professor Oliver Sinnen and Dr Nasser Giacaman
  • Program Comprehension Challenges Detection For Pull Requests With Machine Learning | Supervised by Dr Kelly Blincoe
  • Deep Neural Network-based Speaker Identification | Supervised by Dr Reza Shahamiri
  • Optimal Task Scheduling for Parallel Systems using State-Space Search | Supervised by Associate Professor Oliver Sinnen and Dr Avinash Malik
  • Formal Methods for functional Safety of Industrial Automation Systems | Supervised by Professor Partha Roop
  • Robot application programming interface and language design | Supervised by Professor Bruce MacDonald , Dr Beryl Plimmer, and Professor John Hosking

Scholarships and awards

There are several scholarships you may be eligible for when you decide to pursue your PhD in Operations Research, including the University of Auckland Doctoral Scholarships .

Help and advice

For general student enquiries, please contact the Student Hubs.

If you would like to find out more about studying Software Engineering, you can contact a Postgraduate Adviser .

Apply for doctoral study

Doctoral programmes.

  • Doctor of Philosophy

Related subjects

  • Computer Systems Engineering
  • Electrical and Electronic Engineering

Related links

  • How to apply

We have 18 Computer Science (software testing) PhD Projects, Programmes & Scholarships

Computer Science

All locations

Institution

All Institutions

All PhD Types

All Funding

Computer Science (software testing) PhD Projects, Programmes & Scholarships

Intelligent software engineering in the era of large language model, phd research project.

PhD Research Projects are advertised opportunities to examine a pre-defined topic or answer a stated research question. Some projects may also provide scope for you to propose your own ideas and approaches.

Competition Funded PhD Project (Students Worldwide)

This project is in competition for funding with other projects. Usually the project which receives the best applicant will be successful. Unsuccessful projects may still go ahead as self-funded opportunities. Applications for the project are welcome from all suitably qualified candidates, but potential funding may be restricted to a limited set of nationalities. You should check the project and department details for more information.

PhD in Rami Bahsoon's Autonomous, Intelligent and Distributed Software Engineering Lab

Intelligent and efficient testing and verification of deep neural networks, self-funded phd students only.

This project does not have funding attached. You will need to have your own means of paying fees and living costs and / or seek separate funding from student finance, charities or trusts.

Methods and tools for the verification of plug-and-produce robots in distributed manufacturing systems

Fully funded phd position - programming group, univ. of st.gallen, switzerland, funded phd project (students worldwide).

This project has funding attached, subject to eligibility criteria. Applications for the project are welcome from all suitably qualified candidates, but its funding may be restricted to a limited set of nationalities. You should check the project and department details for more information.

AI-Enhanced Security Fuzzing: Advancing Vulnerability Detection in Software and Hardware Systems

Large language models in intelligent robotic systems for environment clean up, funded phd project (uk students only).

This research project has funding attached. It is only available to UK citizens or those who have been resident in the UK for a period of 3 years or more. Some projects, which are funded by charities or by the universities themselves may have more stringent restrictions.

Development of a Novel Structural Health Monitoring system using Machine Learning Approaches

Competition funded phd project (uk students only).

This research project is one of a number of projects at this institution. It is in competition for funding with one or more of these projects. Usually the project which receives the best applicant will be awarded the funding. The funding is only available to UK citizens or those who have been resident in the UK for a period of 3 years or more. Some projects, which are funded by charities or by the universities themselves may have more stringent restrictions.

Autonomous Robots for Gloveboxes

Harnessing ai systems to innovate media interaction through llms and media metadata, automated mhealth application development: a case study on the p-step app for atrial fibrillation, epsrc dtp phd studentship: towards an innovative design platform for the structural optimisation of impact-absorbing metamaterials [fully funded], automated verification of webassembly programs, instrumenting cloud systems for scalability and resilience, evaluation of ml/ai techniques to increase resilience of iot edge networks under cyberattacks.

FindAPhD. Copyright 2005-2024 All rights reserved.

Unknown    ( change )

Have you got time to answer some quick questions about PhD study?

Select your nearest city

You haven’t completed your profile yet. To get the most out of FindAPhD, finish your profile and receive these benefits:

  • Monthly chance to win one of ten £10 Amazon vouchers ; winners will be notified every month.*
  • The latest PhD projects delivered straight to your inbox
  • Access to our £6,000 scholarship competition
  • Weekly newsletter with funding opportunities, research proposal tips and much more
  • Early access to our physical and virtual postgraduate study fairs

Or begin browsing FindAPhD.com

or begin browsing FindAPhD.com

*Offer only available for the duration of your active subscription, and subject to change. You MUST claim your prize within 72 hours, if not we will redraw.

phd topics in software testing

Create your account

Looking to list your PhD opportunities? Log in here .

Filtering Results

  • Skip to content

SoftwareDegrees.org

SoftwareDegrees.org

PhD in Software Engineering Programs

phd topics in software testing

On This Page:

Take your education to the highest peak with our PhD in software engineering guide! This real-world resource will help you understand how doctoral programs in software are structured & delivered. Learn about admissions, coursework, research, and dissertation requirements. Take a closer look at PhD program costs, online learning opportunities, and the career benefits of earning a doctorate in software engineering. And find answers to frequently asked questions from potential students.

Have you already decided on a doctorate? Skip ahead to our state-by-state listings of PhD in software engineering programs !

What is a Doctorate in Software Engineering?

A PhD in software engineering transforms great software engineers into field experts. PhD programs allow students to immerse themselves in advanced focus areas such as software organization and properties, notations and tools, and creation and management. In addition, doctoral students complete original and detailed research in order to become a go-to expert on their dissertation topic.

A doctorate in software engineering is a top-level educational qualification. Professionals who pursue this path usually plan to become university professors, high-flying researchers in major tech companies, and well-paid consultants. Before you commit to 4-5 years of hard work, it’s worth knowing where you’re headed.

Software Engineering PhD Programs: Your Degree Options

Phd in software engineering.

A PhD in software engineering has a two-fold purpose. It hones your ability to engineer efficient and practical software systems. But it also challenges you to consider the theories behind software development, study its applications, and develop new tools. In doing so, you’ll be prepared to:

  • Lead research and development teams in advancing software architecture
  • Teach software engineering (and pursue tenure) at the university level
  • Assume executive positions responsible for top-level software-related decisions

PhD in Software Development

A PhD in software development prepares you to apply advanced problem-solving techniques to the field of software. You’ll design, develop, validate, and maintain large software applications and work with the latest technologies. Like PhD in software engineering candidates, most software development PhD graduates pursue university-level teaching jobs and research-focused industry positions (e.g. senior or principal software developer).

PhD in Computer Science with a Software Engineering Concentration

A PhD in computer science with a software engineering concentration will provide you with the research skills to advance software systems through computational theory, algorithmic research & development, and/or practical design innovations. PhD graduates play a lead role in advancing cutting-edge technologies like Artificial Intelligence (AI). They also apply for software engineering & computer science faculty positions at colleges and universities.

PhD Program Overview: Curriculum, Admission Requirements & Costs

Structure & timeline.

Have a look at the curriculum links in our listings to get a sense of how a doctorate is structured. PhD programs in software engineering consist of core courses, electives, research, and a dissertation. They typically take four or five years to complete.

  • Years 1-3: At most universities, doctoral students in software engineering complete core requirements and electives in the first two or three years of the program. During this time, you will also select a dissertation topic, develop a proposal, and defend your plan in a public setting. PhD students earn candidate status once the proposal is approved.
  • Years 4-5: PhD programs become research-heavy in the final two years. You should expect to spend a couple of years conducting research and writing your dissertation. A faculty advisor will help guide you through the dissertation process, providing advice on topic selection, assistance with research, and prep for your dissertation defense. At the end of the program, you will publicly defend your findings in front of a faculty dissertation committee.

PhD in Software Engineering: Curriculum

Core coursework & electives.

Software engineering PhD programs contain core coursework and electives, with specific credit mandates. Each school will allow you to explore different topics, easing the process of creating an impactful and motivating dissertation proposal. Advisors will tailor your coursework to help you discover and focus on your specialization.

For example, a PhD in software engineering from the University of California Irvine has a 48-credit coursework requirement, consisting of:

  • The software engineering core
  • Five electives in software engineering topics
  • Three courses of individual study and/or thesis supervision
  • Additional coursework to fill in credits toward the 48-credit requirement
  • Attending dozens of seminars

A PhD in software engineering from Carnegie Mellon features:

  • One core research course in software engineering
  • Four “star” and two elective courses, each selected by the student
  • A practicum
  • Two semesters as a teaching assistant serving as an assistant teacher

North Dakota State University’s software and security engineering PhD program contains:

  • Six core courses
  • One of two focus tracks in either software engineering or cybersecurity, each requiring three courses
  • The doctoral dissertation

You’ll notice that some PhD in software engineering courses overlap with subjects that have been addressed in master’s programs. The difference is that doctoral courses are much more in-depth. Top-level coursework completed within PhD programs can include:

  • Models of software systems
  • Type systems for programming languages
  • Cloud and security foundations
  • Optimizing compilers for modern architectures
  • Global e-business strategy
  • Information security and privacy
  • Human aspects of software development

Research & Dissertation Preparation

While you’re tackling courses, you’ll also be exploring possible research ideas for your dissertation. This phase of your PhD in software engineering can cover a large range of topics. You may wish to investigate advanced areas in software such as:

  • Software architecture and design
  • Security and privacy
  • Analysis and quality assurance
  • Developer tools
  • Management and organization of software development

Faculty members will help you break down these general categories into an impactful & targeted research topic for your PhD dissertation. You must receive approval for your dissertation topic before you are allowed to complete the last few years of your doctorate.

Be prepared to hit the ground running. Research work will usually begin in the early stages of your doctoral program. The University of California Irvine and Carnegie Mellon specifically mention working on research projects at the onset of the PhD. Some schools even provide directed study opportunities. Directed study allows you to conduct research under the oversight of a faculty member in preparation for your dissertation.

Dissertation

Software engineering PhD students are required to conduct original research that will explore new territory and broaden the industry’s knowledge of the field. You’ll be expected to present your conclusions & findings in a written and publicly defended dissertation. Carnegie Mellon’s handbook offers a thorough account of the dissertation process, from the proposal to its ultimate defense.

Once you have decided on a dissertation topic, completed your research, and created your dissertation:

  • A committee of several faculty members involved in your doctoral work will review your written work.
  • You will then be required to defend your findings in an oral presentation. A dissertation defense takes approximately 45 minutes, followed by questions.
  • The committee can decide to approve—either with or without corrections—or reject the dissertation.

Wondering what a dissertation in software engineering looks like? Examine the following completed dissertations by PhD candidates at UC Irvine and Auburn University:

  • Reusable Method Summaries for Improving Performance of Dynamic Dependence Analysis by Vijay Krishna Palepu (PhD graduate from the University of California Irvine)
  • Popularity-Aware Storage Systems for Big Data Applications by Ting Cao (PhD graduate from Auburn University)

PhD Admission Requirements

Admission requirements to software engineering PhD programs vary by school. However, you can expect to see most (if not all) of the following listed in university doctoral admissions guides:

  • Master’s Degree in a Related Field: Common MS majors include software engineering, computer science, software development, etc. (Some schools will consider BS applicants).
  • High GPA: Universities will usually ask for a minimum 3.0 GPA at the undergraduate and graduate levels.
  • Competitive GRE Scores
  • Personal Statement:  Universities will want to know about your interests, goals, and/or professional experience.
  • Letters of Recommendation
  • Proof of Proficiency in English: International students from non-English speaking countries may need to take a IELTS or TOEFL test.

Admission to PhD in software engineering programs is highly competitive, so be aware that schools will be considering other aspects of your background. For example, UC Irvine reviews design portfolios, GitHub profiles, and any relevant writing (e.g. scholarly papers).

Tuition Costs & Funding for Software Engineering PhD Programs

It’s important to note that most PhD programs in software engineering are fully funded. If you are considering a doctorate in a STEM field, be sure to ask if tuition is covered. For example:

  • The University of Michigan-Dearborn’s PhD in Computer and Information Science (CIS): Software Engineering Concentration follows the university’s fully-funded PhD model.
  • PhD candidates earn a tuition waiver and monthly stipend, plus health insurance, in exchange for their work as a graduate student instructor or research assistant (or both).

Similar arrangements exist for PhD candidates at UC Irvine and North Dakota State University.

If you are unable to find a fully funded PhD program, you may wish to look into filing a Free Application for Federal Student Aid ( FAFSA ) for graduate students, scholarship and fellowship options, and—as a last resort—private loans. Tuition for non-funded doctorates will vary from school to school, but you can expect to see tuition prices range from $15,000 to north of $50,000 per year.

Online PhD in Software Engineering Programs

Software development needs no lab work and few physical references, so some online PhD in software engineering programs do exist. However, virtual doctorates are still far less common than online BS in software engineering degrees and online MS in software engineering programs .

Examples of online doctoral programs in the field include the:

  • Online PhD in Systems Engineering at Colorado State University
  • Online PhD in Computer Science with software engineering coursework at the University of North Dakota

These are doctorates from regionally accredited institutions with solid brick & mortar reputations. You’ll be able to view on-campus lectures live or watch recordings afterwards. You can discuss your work in virtual meetings with your faculty advisors. And you can fit your dissertation research around other commitments. Be aware that online PhD programs aren’t usually funded—you may end up paying tuition costs of $800+ per credit.

PhD Career Benefits & Opportunities

What can you do with a phd in software engineering.

A PhD in software engineering makes you the world’s expert on your dissertation topic. You will be acknowledged as a specialist in software engineering & development wherever you go. While your expertise in the field awards you some flexibility in the roles you choose to pursue, there are a handful of opportunities that are tailor-made for software engineering PhD graduates.

University Faculty in Software Engineering : A PhD is the standard requirement for tenured faculty positions. Entering the world of academia will involve a number of responsibilities, including:

  • Instructing undergraduate and graduate students on software engineering principles
  • Developing new course materials to address advances in software engineering
  • Writing grant proposals to fund research into new technologies
  • Conducting research to expand the field of software engineering
  • Writing white papers and presenting at conferences and seminars

Computer & Information Research Scientists : Computer and information research scientists design new computer architectures to improve network technology, increase computing speeds, and advance data security measures.

Principal Software Engineers : Principal software engineers function as a company’s technical and managerial focal point for software engineering projects. They ensure clients’ satisfaction with the end product and provide executive management updates on budgetary and resource constraints.

Executives or Start-up Founders : Executives and founders create and guide a company’s vision by applying in-depth knowledge of software systems and applications. If you find yourself interested in leading a start-up, then it’s likely you’ve created—or are involved with—a new software technology or product with industry potential.

Industry Experts & Consultants : Legislatures and agencies enforce various compliance requirements to ensure data security. Industry experts serve as consultants to develop and modify policies and regulations. You essentially monetize your knowledge by lending your expertise wherever it is needed.

Salaries for PhD in Software Engineering Graduates

General salaries.

Wondering if earning a PhD in software engineering will have a positive impact on your earning potential? Well, according to Glassdoor, the answer is a resounding “yes.” Software engineers with PhD degrees earn an average of $40,000 more than master’s degree earners. In 2023, PhD in software engineering earners averaged $164,835 per year ($130,041 base pay and $34,794 additional pay), compared to $121,158 per year ($101,096 base pay and $20,062 additional pay) for master’s in software engineering earners .

Big Tech Company Salaries

Large technology companies—like Google and Meta—seek out elite software engineers. These firms pay well to recruit the best candidates, so your chances of being hired increase significantly with a PhD.

Company Total Yearly Pay Base Pay Additional Pay
Google $212,916 $142,464 $70,452
Meta $216,389 $145,371 $70,598

Specific Job Salaries

Job Total Yearly Pay Base Pay Additional Pay
Assistant Professor in Software Engineering $202,338 $145,720 $56,618
Computer and Information Research Scientist $131,490 N/A N/A

Sources : U.S. Bureau of Labor Statistics (BLS) provided a computer and information research scientist’s salary (updated May 2021). Glassdoor provided all other salary estimates (updated February 2023). Additional pay refers to cash bonuses and profit sharing.

Is a PhD in Software Engineering Worth it?

You’ve reviewed what earning a PhD in software engineering entails, how long it will take, and what it might cost . You’ve considered admissions criteria , carefully reviewing your own background and your odds of gaining entry to a reputable program. Now for the most important question: Is a PhD in software engineering really worth it?

This is a difficult question to answer, as the decision ultimately depends on your professional goals, existing responsibilities, and your budget. To help you decide, we’ve made the case for both sides.

Pros of a PhD in Software Engineering

Earning a PhD in software engineering is worth it if you want to pursue advanced career opportunities that are unavailable to those with an undergraduate or master’s degree. For example, you may wish to:

  • Apply for a top Research & Development (R&D) position within global tech companies (e.g. Microsoft or Google)
  • Support start-ups who rely on skilled researchers and innovators as they develop new technologies
  • Join the academic world in order to lead groundbreaking research while educating future software engineers

If any of the above sound like you, then a PhD in software engineering is worth it.

Cons of a PhD in Software Engineering

Earning a PhD in software engineering is not worth it if you’re not prepared for the obstacles and intense commitment required to complete a doctorate. For example, you may:

  • Have existing responsibilities (family, career, etc.) that make dedicating four to five years to a doctoral program an impossibility
  • Are unable to secure admission to a fully-funded program and are overwhelmed with the idea of taking on enormous debt in exchange for an advanced degree
  • Either have not considered your career goals or are unsure about your interest in the opportunities available to PhD holders

If the above points ring true for you, then a PhD in Software Engineering is not worth it.

PhD in Software Engineering: Frequently Asked Questions

Can you pursue a doctorate in software engineering without earning a master’s degree first.

Yes. Several schools allow bachelor’s degree graduates to apply without first completing a master’s degree. For example:

  • University of Texas at Dallas requires a Bachelor of Science in a related field, 3.5 GPA, and strong GRE scores.
  • North Dakota State University requires a Bachelor of Science degree, at least three years of full-time professional software engineering experience, and one programming language (C++, C#, or Java preferred).
  • Auburn University requires a relevant bachelor’s degree, with computer science, software engineering, and cybersecurity engineering being preferred.

How Long Are Software Engineering PhD programs?

Most doctoral programs require a full-time commitment of four to five years. PhD programs in software engineering are split into two major phases: coursework and the dissertation. PhD coursework requires two to three years of full-time effort. The dissertation typically takes an additional two to three years of research, writing, and defense.

How Are Master’s Degree and PhD in Software Engineering Programs Different?

Master’s degrees and PhD programs are advanced educational qualifications in software engineering, but there are some important differences between them:

  • Program Length : A software engineering master’s degree usually takes two years of full-time study; a PhD program requires a full-time commitment of four to five years.
  • Coursework : Master’s programs typically require 30 course credits, culminating with a thesis or final project. PhD programs are four to five years long and involve core coursework, electives, and the completion of a PhD dissertation.
  • Master’s Thesis vs. PhD Dissertation : A master’s thesis involves analyzing and commenting on existing research in the world of software engineering. A PhD dissertation requires unique research and the development of an original concept. PhD students ultimately contribute new knowledge to the field of software engineering.
  • Career Opportunities : A master’s degree in software engineering will provide you with advanced skills required to thrive within software development companies. You’ll be able to apply your in-depth knowledge to create & manage complex software applications through the entire development cycle. A software engineering PhD prepares you to conduct research and educate students within academia or pursue professional R&D positions.

All PhD in Software Engineering Programs

8 Schools Found

Auburn University

Samuel Ginn College of Engineering

Auburn University, Alabama

PhD in Computer Science and Software Engineering

Naval postgraduate school.

Department of Computer Science

Monterey, California

Doctor of Philosophy (PhD) in Software Engineering

Offered Online

University of California-Irvine

Department of Informatics

Irvine, California

PhD Software Engineering

North dakota, north dakota state university-main campus.

College of Engineering

Fargo, North Dakota

PhD in Software and Security Engineering

Pennsylvania, carnegie mellon university.

Institute for Software Research

Pittsburgh, Pennsylvania

Southern Methodist University

Lyle School of Engineering

Dallas, Texas

Doctor of Engineering in Software Engineering

The university of texas at arlington.

Arlington, Texas

Doctorate in Computer Science - Software Engineering Track

The university of texas at dallas.

Erik Jonsson School of Engineering and Computer Science

Richardson, Texas

IMAGES

  1. List of Software testing lecture topics

    phd topics in software testing

  2. List of Software testing lecture topics

    phd topics in software testing

  3. List of Software testing lecture topics

    phd topics in software testing

  4. Software Testing Phd Topics

    phd topics in software testing

  5. PhD Research Topics in Software Engineering

    phd topics in software testing

  6. Ppt On Software Testing Topics

    phd topics in software testing

VIDEO

  1. Introduction to Software Testing

  2. Selection parameters for PhD Topics

  3. PhD Topics in Economics

  4. Software Testing Research Topics ideas for MS and PHD Thesis

  5. SRS in Software Engineering in Hindi #softwareengineering #cse #computerscience

  6. IMPORTANT TOPICS SOFTWARE TESTING AND QUALITY ASSURANCE VITH SEM BCA#calicutuniversity

COMMENTS

  1. What are the current PhD thesis ideas on software testing?

    National University of Singapore. 1. Test case prioritization and optimization 2. Testing of SOA 3. Fault prediction in OO systems using machine learning techniques 4. Reliability estimation in OO ...

  2. software testing PhD Projects, Programmes & Scholarships

    software testing PhD Projects, Programmes & Scholarships We have 45 software testing PhD Projects, Programmes ... is doing research on several topics at the intersection of programming languages and software engineering such as. Read more Supervisor: Prof G Salvaneschi. Year round applications PhD Research Project Funded PhD ...

  3. software testing PhD Research Projects PhD Projects ...

    We have 51 software testing PhD Research Projects PhD Projects, Programmes & Scholarships. Show more Show all ... is doing research on several topics at the intersection of programming languages and software engineering such as. Read more Supervisor: Prof G Salvaneschi. Year round applications PhD Research Project Funded PhD Project (Students ...

  4. Software Engineering (software testing) PhD Projects ...

    Intelligent Software Engineering in the Era of Large Language Model. Software systems are eating the world but Artificial intelligence (AI) is eating the software systems. Given the tremendous development of AI in recent years, innovations like the Large Language Model (LLM), e.g., ChartGPT, have significantly impacted our daily lives.

  5. Software Engineering (PhD)

    The University of Arizona's College of Engineering has launched the Software Engineering PhD degree in response to the high demand for individuals trained in the software engineering discipline. The degree program is critical in driving student success in a rapidly changing world and tackling essential problems at the edges of human endeavor.

  6. Ph.D. Software Engineering

    The software engineering Ph.D. program offers students the opportunity to tackle these challenges, whether it is through designing new tools, performing studies of developers and teams at work, creating new infrastructures or developing new theories about software and how it is developed. No fewer than six faculty members bring a broad range of ...

  7. Software Engineering PhD Program

    But as software systems increase in capability, they increase in complexity, resulting in delays, defects, and vulnerabilities. Our Ph.D. program in Software Engineering seeks to educate the next generation of high-impact software engineering research, development, and educational leaders who will solve the problems associated with building ...

  8. Doctor of Philosophy in Software Engineering

    The PhD in Software Engineering program is tailored to the student. ... such as big data, cyber physical, and autonomous adaptable systems, which continue to drive leading edge research in software engineering on diverse topics. Key research areas include requirements engineering, architecture, design, service-oriented computing, testing and ...

  9. Programming Languages, Formal Methods, and Software Engineering

    Software testing is one of our core strengths in software engineering; it is often the case that 10% or more of all the papers in top testing conferences are authored by Illinois faculty. In programming languages, we cover semantics and logics for program reasoning very well, proposing frameworks and foundations that are significantly better ...

  10. SIGSOFT

    PhD Dissertations in the Area of Software Engineering. This list is provided as a resource for PhD candidates, researchers, scientists, and engineers who are actively pursuing advanced research in Software Engineering. If you are a PhD graduate, we invite you to submit information about your dissertation using this form. The information you ...

  11. Top 10 Software Engineer Research Topics for 2024

    List of Software Engineer Research Topics in 2024. Here is a list of Software Engineer research topics: Artificial Intelligence and Software Engineering. Natural Language Processing. Applications of Data Mining in Software Engineering. Data Modeling. Verification and Validation. Software Project Management.

  12. The Hitchhiker's Guide to Research Software Engineering: From PhD to

    A study conducted by the Royal Society in 2010 reported that only 3.5% of PhD graduates end up in permanent research positions in academia. Leaving aside the roots of the brain drain on Universities, it is a compelling statistic that the vast majority of post-graduates end up leaving academia for industry at some point in their career.

  13. Software Organization and Properties

    Software architecture is the study of design at scale, with emphasis on high-level structures and interactions that govern the overarching design and evolution of the system. ... This topic combines research from natural language processing, formal methods, knowledge representation and judgement and decision-making to predict how systems are ...

  14. Research Topics

    Possible collaboration and PhD topics in this area cover the complete spectrum of activity in software engineering (in its traditional and emergent forms). CREST is particularly well-known for work on SBSE applications to software analysis and testing, repair, refactoring, management and requirements engineering.

  15. Software Testing Research Topics for MS PhD

    Physics-of-failure and computer-aided simulation fusion approach with a software system for electronics reliability analysis. A new analysis of the factors influencing the philosophy of value creation; the empirical testing of contingency theory. Construction of intelligent testing system for electronic components.

  16. Software Engineering PhD Topics

    Software Engineering is an important branch in computer science, which effectively addresses the software design, testing and maintenance of software. Based on software engineering domain, here we discuss multiple areas and trending peculiar topics for performing a meaningful PhD project: Advanced Software Engineering Methodologies

  17. Best Ph.D. Degrees in Software Engineering

    A bachelor's degree or a master's degree in computer science or a related field. Proficiency in software engineering with at least 18 credits in the field. A GPA of 3.0 or better (some schools require a 3.5 minimum) Programming skills in multiple languages such as C++, C#, or Java.

  18. Your complete guide to a PhD in Software Engineering

    Software Engineering topics include: computer programming, algorithms, data structures, human-computer interaction, web development, software project management, architecture and operating systems, security and usability, social responsibility and ethics, etc. Software engineers usually work in teams. They can take on different types of ...

  19. Doctoral study in Software Engineering

    Software testing, which involves studying the ways to improve the verification of software systems, such as non-determinism in testing (test flakiness), test oracle generation/improvement, automated software testing, and testing of concurrent software programs. Machine Learning for software engineering, focusing on best practices in designing ...

  20. PhD programmes in Software Engineering in United States

    Informatics and Computing - Cyber and Software Systems. Ph.D. / Full-time / On Campus. 27,460 EUR / year. 8 years. Northern Arizona University Flagstaff, Arizona, United States. Ranked top 5%.

  21. Computer Science (software testing) PhD Projects, Programmes ...

    FindAPhD. Search Funded PhD Projects, Programmes & Scholarships in Computer Science, software testing. Search for PhD funding, scholarships & studentships in the UK, Europe and around the world.

  22. PDF Essentials of Software Testing

    he completed his PhD degree (UCC). He has lectured in many topics, including software testing, software engineering, databases, programming, computing ethics, wireless sensor networking, computer architecture. He is an active researcher in wireless networking. Dr. Edgar Galván is a senior researcher in the Department of Computer Science, Maynooth

  23. PhD in Software Engineering Programs

    Software engineers with PhD degrees earn an average of $40,000 more than master's degree earners. In 2023, PhD in software engineering earners averaged $164,835 per year ($130,041 base pay and $34,794 additional pay), compared to $121,158 per year ($101,096 base pay and $20,062 additional pay) for master's in software engineering earners.