VLDB 2026 Research / reviewers in the wild / expert
Timothy Lethbridge
dblp:l/TimothyLethbridge · also Timothy C. Lethbridge
· DBLP profile ↗
63ranked-venue papers
16as first author
5since 2021 · last 2025
0000-0001-9410-2056ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 45 · 8 first-author · 5 since 2021Human-computer interaction and ubiquitous computing · 14 · 7 first-authorArtificial intelligence and machine learning · 2Databases, data management, data science and information retrieval · 1Graphics, computer vision, multimedia, augmented reality and games · 1 · 1 first-authorApplied, interdisciplinary, general and emerging computing · 1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | Automatic instantiation of assurance cases from patterns using large language modelsabstractAn assurance case is a structured set of arguments supported by evidence, demonstrating that a system’s nonfunctional requirements (e.g., safety, security, reliability) have been correctly implemented. Assurance case patterns serve as templates derived from previous successful assurance cases, aimed at facilitating the creation of new assurance cases. Despite using these patterns to generate assurance cases, their instantiation remains a largely manual and error-prone process that heavily relies on domain expertise. Thus, exploring techniques to support their automatic instantiation becomes crucial. This study aims to investigate the potential of Large Language Models (LLMs) in automating the generation of assurance cases that comply with specific patterns. Specifically, we formalize assurance case patterns using predicate-based rules and then utilize LLMs, i.e., GPT- 4o and GPT-4 Turbo, to automatically instantiate assurance cases from these formalized patterns. Our findings suggest that LLMs can generate assurance cases that comply with the given patterns. However, this study also highlights that LLMs may struggle with understanding some nuances related to pattern-specific relationships. While LLMs exhibit potential in the automatic generation of assurance cases, their capabilities still fall short compared to human experts. Therefore, a semi-automatic approach to instantiating assurance cases may be more practical at this time. Oluwafemi Odu, Alvine B. Belle, Song Wang 0009, Segla Kpodjedo, Timothy Lethbridge, Hadi Hemmati |
J. Syst. Softw. | 5 |
| 2024 | A PRISMA-driven systematic mapping study on system assurance weakenersabstractAn assurance case is a structured hierarchy of claims aiming at demonstrating that a mission-critical system supports specific requirements (e.g., safety, security, privacy). The presence of assurance weakeners (i.e., assurance deficits, logical fallacies) in assurance cases reflects insufficient evidence, knowledge, or gaps in reasoning. These weakeners can undermine confidence in assurance arguments, potentially hindering the verification of mission-critical system capabilities which could result in catastrophic outcomes (e.g., loss of lives). Given the growing interest in employing assurance cases to ensure that systems are developed to meet their requirements, exploring the management of assurance weakeners becomes beneficial. As a stepping stone for future research on assurance weakeners, we aim to initiate the first comprehensive systematic mapping study on this subject. We followed the well-established PRISMA 2020 and SEGRESS guidelines to conduct our systematic mapping study. We searched for primary studies in five digital libraries and focused on the 2012–2023 publication year range. Our selection criteria focused on studies addressing assurance weakeners from a qualitative standpoint, resulting in the inclusion of 39 primary studies in our systematic review. Our systematic mapping study reports a taxonomy (map) that provides a uniform categorization of assurance weakeners and approaches proposed to manage them from a qualitative perspective. The taxonomy classifies weakeners in four categories: aleatory, epistemic, ontological, and argument uncertainty. Additionally, it classifies approaches supporting the management of weakeners in three main categories: representation, identification and mitigation approaches. Our study findings suggest that the SACM (Structured Assurance Case Metamodel) – a standard specified by the OMG (Object Management Group) – offers a comprehensive range of capabilities to capture structured arguments and reason about their potential assurance weakeners. Our findings also suggest novel assurance weakener management approaches should be proposed to better assure mission-critical systems. Kimya Khakzad Shahandashti, Alvine B. Belle, Timothy Lethbridge, Oluwafemi Odu, Mithila Sivakumar |
Inf. Softw. Technol. | 3 |
| 2024 | Requirements for modelling tools for teachingabstractAbstract Modelling is an important activity in software development and it is essential that students learn the relevant skills. Modelling relies on dedicated tools and these can be complex to install, configure, and use—distracting students from learning key modelling concepts and creating accidental complexity for teachers. To address these challenges, we believe that modelling tools specifically aimed at use in teaching are required. Based on discussions at a working session organised at MODELS 2023 and the results from an internationally shared questionnaire, we report on requirements for such modelling tools for teaching. We also present examples of existing modelling tools for teaching and how they address some of the requirements identified. Jörg Kienzle, Steffen Zschaler, Will Barnett, Timur Saglam, Antonio Bucchiarone, Silvia Abrahão, Eugene Syriani, Dimitrios S. Kolovos, Timothy Lethbridge, Sadaf Mustafiz, Sofia Meacham |
Softw. Syst. Model. | 9 |
| 2021 | Low-Code Is Often High-Code, So We Must Design Low-Code Platforms to Enable Proper Software Engineering
Timothy Lethbridge |
ISoLA | 1 |
| 2021 | Umple: Model-driven development for open source and educationabstractUmple is an open-source software modeling tool and compiler. It incorporates textual language constructs for UML modeling, including associations and state machines. It includes traits, aspects, and mixins for separation of concerns. It supports embedding methods written in many object-oriented languages, enabling it to generate complete multilingual systems. It provides comprehensive analysis of models and generates many kinds of diagrams, some of which can be edited to update the Umple code. Umple runs on the command line, in a web browser or in integrated development environments. It is designed to help developers reduce code volume, while they develop in an agile, model-driven manner. Umple is also targeted at educational users where students are motivated by its ability to generate real systems from their software models. Timothy Lethbridge, Andrew Forward, Omar Bahy Badreddin, Dusan Brestovansky, Miguel Garzón, Hamoud Aljamaan, Sultan Eid, Ahmed Husseini Orabi, Mahmoud Husseini Orabi, Vahdat Abdelzad, Opeyemi Adesina, Aliaa Alghamdi, Abdulaziz Algablan, Amid Zakariapour |
Sci. Comput. Program. | 1 |
| 2020 | Experiential Learning for Software Engineering using Agile Modeling in UmpleabstractIn this tutorial we will discuss a method of teaching a variety of software engineering topics in an integrated and experiential manner. Topics covered include agile processes, software modeling, open source development tools and processes, code generation and testing. Our approach involves using a textual modeling language called Umple that enables agile, model-driven, test-driven development. Students are introduced to this tool in an introduction to software engineering course, where they learn the basics of the above topics. Then in their capstone course they are able to actually contribute to the tool itself. Timothy Lethbridge |
CSEE&T | 1 |
| 2019 | Umple as a Template Language (Umple-TL)abstractWe extend Umple, a model-oriented programming language, to incorporate text emission from templates as an integral feature. Umple as a template language (Umple-TL) is the term we use to describe the template sublanguage of Umple. Using Umple-TL, developers can benefit from synergies among UML modelling, templating and programming in several target languages (Java, C++), all in one textual language – Umple. Umple itself is written in Umple; using Umple-TL, we eliminated Umple's dependency on third-party libraries for text emission. We also support any other application developed in JET to be converted to use Umple-TL and attain benefits such as smaller and faster executables, target-language independence and IDE independence. The word ‘template’ in this paper refers to patterns for the generation of output, and not to generic types, another common use of the term. Mahmoud Husseini Orabi, Ahmed Husseini Orabi, Timothy Lethbridge |
MODELSWARD | 3 |
| 2019 | Student experience with software modeling tools
Luciane Telinski Wiedermann Agner, Timothy Lethbridge, Inali Wisniewski Soares |
Softw. Syst. Model. | 2 |
| 2018 | Using Umple to Synergistically Process Features, Variants, UML Models and Classic Code
Timothy Lethbridge, Abdulaziz Algablan |
ISoLA (1) | 1 |
| 2018 | A Decade of Software Design and Modeling: A Survey to Uncover Trends of the PracticeabstractWe present the results of a survey of 228 software practitioners conducted on two phases ten years apart. The goal of the study is to uncover trends in the practice of software design and the adoption patterns of modeling languages such as UML. The first phase was conducted in April-December 2007 and included 113 responses. The second phase was conducted in March-November 2017 and included 115 responses. Both surveys were conducted online, employed identical solicitation mechanisms, and included the same set of questions. The survey results are analyzed within each phase and across phases. We present the results and analysis of the data identifying upward and downward trends in design and modeling practices. The results suggest some increase in formal and informal modeling and identify key challenges with modeling platforms and tools. The results can help researchers, practitioners, and educators to focus efforts on issues of relevance and significance to the profession. Omar Bahy Badreddin, Rahad Khandoker, Andrew Forward, Omar Masmali, Timothy Lethbridge |
MoDELS | 5 |
| 2018 | Component-based Modeling in Umple
Mahmoud Husseini Orabi, Ahmed Husseini Orabi, Timothy Lethbridge |
MODELSWARD | 3 |
| 2018 | Concurrent Programming using Umple
Mahmoud Husseini Orabi, Ahmed Husseini Orabi, Timothy Lethbridge |
MODELSWARD | 3 |
| 2018 | Improving formal analysis of state machines with particular emphasis on and-cross transitions
Opeyemi Adesina, Timothy Lethbridge, Stéphane S. Somé, Vahdat Abdelzad, Alvine B. Belle |
Comput. Lang. Syst. Struct. | 2 |
| 2018 | Design and implementation of distributed expert systems: On a control strategy to manage the execution flow of rule activation
Alvine B. Belle, Timothy Lethbridge, Miguel Garzón, Opeyemi Adesina |
Expert Syst. Appl. | 2 |
| 2017 | The University of Ottawa Undergraduate Software Engineering Program: Leading and InnovativeabstractWe nominate the University of Ottawa Software Engineering Program for the 2017 CSEE&T Hall of Fame. This was one of the first three undergraduate software engineering programs in Canada. It was used to help guide the development of the IEEE/ACM SE2004 curriculum recommendations. It is accredited by both the Canadian Engineering Accreditation Board and the Computer Science Accreditation Council of Canada. It is a bilingual English-French program that has undergone continuous improvement over the years, and now is co-op only, meaning that all its students are required to have three work terms of job experience before graduating. Timothy Lethbridge, Liam Peyton, Daniel Amyot, Stéphane S. Somé |
CSEE&T | 1 |
| 2017 | A Survey of Tool Use in Modeling EducationabstractWe present the results of a survey of tool use in software modeling education conducted from December 2016 to March 2017. The survey was conducted among 150 professors who taught modeling in 30 countries from all regions of the world. Professors reported using 32 modeling tools. Top motivations for choosing tools are simplicity of learning and installing, as well as the tools being free and supporting the most important notations. Top complaints about tools included not interacting with other tools, not supporting sufficient modeling aspects, and being complex to use. Seven of the tools were used by more than one professor as their main tools, and we analyzed these in more depth. Among these 7, lack of feedback about models emerged as another key weakness. The tools varied very considerably regarding which of these strengths and weaknesses they exhibited. The key lessons from the paper are a) that tool developers have many opportunities to improve their products, and b) that educators might benefit from introducing students to multiple different tools. Luciane Telinski Wiedermann Agner, Timothy Lethbridge |
MoDELS | 2 |
| 2017 | Promoting traits into model-driven development
Vahdat Abdelzad, Timothy Lethbridge |
Softw. Syst. Model. | 2 |
| 2016 | Merging Modeling and Programming Using Umple
Timothy Lethbridge, Vahdat Abdelzad, Mahmoud Husseini Orabi, Ahmed Husseini Orabi, Opeyemi Adesina |
ISoLA (2) | 1 |
| 2016 | Umple as a Component-based Language for the Development of Real-time and Embedded ApplicationsabstractComponent-based development enforces separation of concern to improve reusability and maintainability. In this paper, we show how we extended Umple (http://try.umple.org) to support component-based development. The development of components, ports, and connectors is enabled using easy-to-comprehend keywords. Development is supported in both textual and visual representations. The design pattern followed in our implementation is the active object pattern. We show a comparison between Umple and other modelling tools. We show that Umple has a set of component features comparable to commercial modelling tools, but is the most complete, particularly with regard to code generation, among the open source tools. Mahmoud Husseini Orabi, Ahmed Husseini Orabi, Timothy Lethbridge |
MODELSWARD | 3 |
| 2015 | Umple: A framework for Model Driven Development of Object-Oriented SystemsabstractHuge benefits are gained when Model Driven Engineering are adopted to develop software systems. However, it remains a challenge for software modelers to embrace the MDE approach. In this paper, we present Umple, a framework for Model Driven Development in Object-Oriented Systems that can be used to generate entire software systems (Model Driven Forward Engineering) or to recover the models from existing software systems (Model Driven Reverse Engineering). Umple models are written using a friendly human-readable modeling notation seamlessly integrated with algorithmic code. In other words, we present a model-is-the-code approach, where developers are more likely to maintain and evolve the code as the system matures simply by the fact that both model and code are integrated as aspects of the same system. Finally, we demonstrate how the framework can be used to elaborate on solutions supporting different scenarios such as software modernization and program comprehension. Miguel Garzón, Hamoud Aljamaan, Timothy Lethbridge |
SANER | 3 |
| 2014 | Teaching modeling using Umple: Principles for the development of an effective toolabstractUmple is a model-oriented programming technology designed to teach modeling while at the same time being practical for industrial application. In this paper we discuss six principles we followed in order to ensure Umple can be effective as a learning resource: being highly usable, facilitating incremental learning, providing an experience of positive reinforcement in learners, convincing learners about the value of the material, broadening learning opportunities, and being inexpensive. Timothy Lethbridge |
CSEE&T | 1 |
| 2014 | Specifying Trace Directives for UML Attributes and State MachinesabstractDevelopers using model driven development (MDD) to develop systems lack the ability to specify traces that operate at the model level. This results in specification of traces at the generated code level. In this paper, we are proposing trace directives that operate at the model level to specify the tracing of UML attributes and state machines. Trace directives are implemented as part of the Umple textual modeling language, thus these directives can be expressed in a textual form. Trace code will be injected into system source code that corresponds to trace directives specified at the model level. Hamoud Aljamaan, Timothy Lethbridge, Omar Bahy Badreddin, Geoffrey Guest, Andrew Forward |
MODELSWARD | 2 |
| 2014 | A Test-Driven Approach for Developing Software LanguagesabstractTest-Driven Development (TDD) is the practice of attempting to use the software you intend to write, before you write it. The premise is straightforward, but the specifics of applying it in different domains can be complex. In this paper, we provide aTDD approach for language development. The essence is to apply TDD at each of four levels of language processing, hence we call our approach Multi-Level TDD, or MLTDD. MLTDD can be applied to programming languages, preprocessors, domain specific languages, and transformation engines. MLTDD was used to build Umple, a model-oriented programming language available for Java, Ruby, and PHP. We present two case studies where this approach was implemented to develop two other domain specific languages. Omar Bahy Badreddin, Andrew Forward, Timothy Lethbridge |
MODELSWARD | 3 |
| 2014 | A Novel Approach to Versioning and Merging Model and Code UniformlyabstractModel Driven Architecture (MDA) advocates the use of models, rather than code, as the main development artifact. Yet model versioning and merging tools still lag in capabilities, ease of use and adoption relative to source code versioning and merging tools. This forces many teams to avoid model-based collaboration and concurrent model modifications. In this paper, we highlight the main challenges behind the relatively small adoption of model merging approaches. We present a novel model-based programming technology that addresses many of those challenges. The approach treats code and models uniformly, effectively enabling modelers to version and merge models using existing text-based technologies. Omar Bahy Badreddin, Timothy Lethbridge, Andrew Forward |
MODELSWARD | 2 |
| 2014 | Investigation and Evaluation of UML Action LanguagesabstractWe analyze the current direction of UML Action Language development and provide a classification of the proposed action language structure and statements. We also present a functioning implementation of an action language and discuss our platform for experimenting with Action Language based systems. We propose a novel approach that adopts a bottom-up technique to defining an action language. This approach embeds the action language into a textual environment that includes the UML modeling elements. Unlike current action languages that typically address class diagrams only, our proposal includes class and state machine modeling abstractions as part of the action language. We tackle the problem of modeling-in-text not by introducing yet another programming language, but instead by providing an increased level of abstraction to existing high level programming languages. Both, a textual representation of the model and its visual view represent the same underlying model but from different vantage points. Omar Bahy Badreddin, Timothy Lethbridge, Andrew Forward |
MODELSWARD | 2 |
| 2014 | Enhanced Code Generation from UML Composite State MachinesabstractAbstract: UML modelling tools provide poor support for composite state machine code generation. Generated code is typically complex and large, especially for composite state machines. Existing approaches either do not handle this case at all or handle it by flattening the composite state machine into a simple one with a combinatorial ex-plosion of states, and excessive generated code. This paper presents a new approach that transforms a composite state machine into an equivalent set of simple state machines before code generation. This avoids the combinato-rial explosion and leads to more concise and scalable generated code. We implement our approach in Umple.We report on a case study, comparing our approach to others in terms of code size and scalability. 1 Omar Bahy Badreddin, Timothy Lethbridge, Andrew Forward, Maged Elaasar, Hamoud Aljamaan, Miguel Garzón |
MODELSWARD | 2 |
| 2013 | Model oriented programming: bridging the code-model divideabstractModel Driven Engineering proposes the use of models as the main development artifacts. This methodology involves generating code from models and then perhaps adding some details to the generated code. Frequently, it is required to also reverse-engineer code to generate models. Despite the wide acceptance of modeling benefits, the use of Model Driven Engineering practices remains limited. We present model oriented programming as a new paradigm to reduce the ever-present tension between model-centric and code-centric development styles. The core of this approach is to add UML abstractions such as associations and state machines directly into a high-level programming language code. In this approach, model diagrams become just another abstract view of the code. The need for reverse engineering is eliminated, since everything in the diagram is represented directly in the code. Model orientation is illustrated using Umple, a working model oriented programming platform. A functional layer of an airline reservation system is presented as a case study. Omar Bahy Badreddin, Timothy Lethbridge |
MiSE | 2 |
| 2012 | A metamodel for the compact but lossless exchange of execution traces
Abdelwahab Hamou-Lhadj, Timothy Lethbridge |
Softw. Syst. Model. | 2 |
| 2012 | Model-driven rapid prototyping with UmpleabstractSUMMARY The emergence of model‐driven software development brings new opportunities and challenges for rapid prototyping. On the one hand, the modeling process is inherently abstract, removing the prototyper from details, and letting him or her focus on exploring design alternatives for various aspects of the system. On the other hand, the most popular modeling languages and tools entirely omit the modeling and generating of user interfaces. As a result, the benefit of user interface prototypes as a medium for interaction with the user and customer is lost. This paper presents a model‐oriented technology called Umple that can be used for prototyping and also supporting model driven engineering. Umple allows end users to quickly create class and state machine models and to incrementally embed implementation artifacts. At any point in the modeling process, users can quickly generate a fully functional prototype that exposes modeling implications on the user interface, and allows stakeholders to get a feel of how the full system will behave. Copyright © 2011 John Wiley & Sons, Ltd. Andrew Forward, Omar Bahy Badreddin, Timothy Lethbridge, Julian Solano |
Softw. Pract. Exp. | 3 |
| 2011 | Teaching UML using umple: Applying model-oriented programming in the classroomabstractWe show how a technology called Umple can be used to improve teaching UML and modeling. Umple allows UML to be viewed both textually and graphically, with updates to one view reflected in the other. It allows UML concepts to be added to programming languages, plus web-based code generation from UML to those languages. We have used Umple in student laboratories and assignments for two years, and also live in the classroom. In a survey, students showed enthusiasm about Umple, and indicated they believe it helps them understand UML better. Improvements in their grades also support our approach. Timothy Lethbridge, Gunter Mussbacher, Andrew Forward, Omar Bahy Badreddin |
CSEE&T | 1 |
| 2011 | Toward Reusability in Web Modeling - Using QVT Relations
Ali Fatolahi, Stéphane S. Somé, Timothy Lethbridge |
WEBIST | 3 |
| 2011 | Model-Driven Web Development for Multiple Platforms
Ali Fatolahi, Stéphane S. Somé, Timothy Lethbridge |
J. Web Eng. | 3 |
| 2010 | Automated Generation of Use Case Descriptions from Problem FramesabstractIn order to reduce the risk of failure in software projects, it is critical to achieve a true understanding of the problem and requirements. Several requirements engineering tools and techniques have been proposed amongst which, problem-oriented approaches are recognized as techniques that start with problem analysis rather than solution analysis. Such approaches are distinguished by their ability of solving a software-related problem based on the category the problem falls into. In this paper, a mapping from problem frames (PF) as one problem-oriented approach to use cases as the most popular requirements engineering technique is provided. Bridging problem frames with use cases is important for benefiting from the popularity of use cases while observing the advantages of problem frames. It can also build up a trust to PF approaches within the software engineering community. Ali Fatolahi, Stéphane S. Somé, Timothy Lethbridge |
SERA | 3 |
| 2010 | A study of applying a research prototype tool in industrial practiceabstractOur research tool, Umple, has the objective of raising the abstraction level of programming languages by adding modeling abstractions such as UML associations, attributes and state machines. My research focuses on the syntax and semantics of state machines in Umple plus the empirical validation of Umple. The latter consists of a grounded theory study of Umple users, and action research involving the use of Umple in an industrial sitting. The grounded theory study is guiding our research and development of Umple. The action research is enlarging the pool of Umple users and contributing to the validation of Umple's approach. Omar Bahy Badreddin, Timothy Lethbridge |
SIGSOFT FSE | 2 |
| 2009 | Improving program comprehension by enhancing program constructs: An analysis of the Umple languageabstractUmple is a set of extensions to object-oriented languages that provides a concrete syntax for UML abstractions like associations. We argue that Umple will help increase program comprehension by allowing developers to describe a system at a more abstract level, and by reducing the volume of code. Andrew Forward, Timothy Lethbridge, Dusan Brestovansky |
ICPC | 2 |
| 2008 | Problems and opportunities for model-centric versus code-centric software development: a survey of software professionalsabstractWe present some results of a survey of 113 software practitioners conducted between April and December 2007. The aim of the survey was to uncover their attitudes and experiences regarding software modeling, and development approaches that avoid modeling. We were motivated by observations that modeling is not widely adopted; many developers continue to take a code-centric approach. Key findings overall include: Modeling tools are primarily used to create documentation and for up-front design with little code generation; and participants believe that model-centric approaches to software engineering are easier but are currently not very popular as most participants currently work in code-centric environments. Key findings from sub-samples include: problems identified with model-centric approaches are similar regardless of a participant's country. Programmers that model extensively (versus those that do not model much) are more likely to agree that models become out of date and inconsistent with code. Andrew Forward, Timothy Lethbridge |
MiSE | 2 |
| 2008 | A Model-Driven Approach for the Semi-automated Generation of Web-based Applications from Requirements
Ali Fatolahi, Stéphane S. Somé, Timothy Lethbridge |
SEKE | 3 |
| 2007 | CodeSnippets Plug-in to Eclipse: Introducing Web 2.0 Tagging to Improve Software Developer RecallabstractPutting aside the marketing hype of Web2.0, a few central themes have emerged: user generated content, software to enable users (not restrict them), building a community and instant feedback. Many of these concepts can equally apply to rich client applications and a focus on software development teams. The initial motivation for Code Snippets was to fulfill the personal needs of software developers. At times, they need to reuse the same coding constructs, library access, method calls, and Web services. Recalling (or finding) this information is sometimes difficult. Drawing on similar success as online tagging libraries like del.icio.us and flickr.com, we have developed an Eclipse plug-in called CodeSnippets that allows software teams to document, store, share and search communal code to help answer the question, "How do I code that? ". Andrew Forward, Timothy Lethbridge, Dwight Deugo |
SERA | 2 |
| 2006 | Summarizing the Content of Large Traces to Facilitate the Understanding of the Behaviour of a Software SystemabstractIn this paper, we present a semi-automatic approach for summarizing the content of large execution traces. Similar to text summarization, where abstracts can be extracted from large documents, the aim of trace summarization is to take an execution trace as input and return a summary of its main content as output. The resulting summary can then be converted into a UML sequence diagram and used by software engineers to understand the main behavioural aspects of the system. Our approach to trace summarization is based on the removal of implementation details such as utilities from execution traces. To achieve our goal, we have developed a metric based on fan-in and fan-out to rank the system components according to whether they implement key system concepts or they are mere implementation details. We applied our approach to a trace generated from an object-oriented system called Weka that initially contains 97413 method calls. We succeeded to extract a summary from this trace that contains 453 calls. According to the developers of the Weka system, the resulting summary is an adequate high-level representation of the main interactions of the traced scenario Abdelwahab Hamou-Lhadj, Timothy Lethbridge |
ICPC | 2 |
| 2005 | Software Engineering Education (SEE) Research and Publication: Issues, Challenges and DirectionsabstractSummary form only given, as follows. The complete presentation was not made available for publication as part of the conference proceedings. The workshop has three objectives: To address the question: what constitutes research in software engineering education (SEE)? What areas of SEE needs to be systematically investigated? Methods of course delivery? Industrial needs? Curriculum improvement? Furthermore, how should the result of such investigation to be evaluated and most effectively organized? To address the question: what are the best outlets, beyond CSEE&T, for publishing the result of research in SEE? In particular, does the SEE community need its own SEE journal? To discuss synergy between research in SEE and research in related disciplines. What learning theories, teaching frameworks, and training practices from other disciplines can be transitioned into the SEE? We will discuss each of the above items in turn. Furthermore, we will review the researchers guide prepared for this conference. Participants will be asked to suggest improvements to it and to comment on how it has affected the quality and rigor of the research presented at the conference. Hossein Saiedian, Timothy Lethbridge, Daniel Port |
CSEE&T | 2 |
| 2005 | Measuring Various Properties of Execution Traces to Help Build Better Trace Analysis ToolsabstractUnderstanding the behavior of a software system by studying its execution traces can be extremely difficult due to the sheer size and complexity of typical traces. In this paper, we propose that if various aspects that contribute to a trace's complexity could be measured and if this information could be used by tools, then trace analysis could be facilitated. For this purpose, we present a set of simple and practical metrics that aim at measuring various properties of execution traces. We also show the results of applying these metrics to traces of three software systems and suggest how the results could be used to improve existing trace analysis tools. Abdelwahab Hamou-Lhadj, Timothy Lethbridge |
ICECCS | 2 |
| 2005 | Software engineering 2004: ACM/IEEE-CS guidelines for undergraduate programs in software engineeringabstractThis paper is an overview of Software Engineering 2004, the Software Engineering volume of the Computing Curricula 2001 project. We briefly describe the contents of the volume, the process used in developing the volume's guidelines, and how we expect the volume to be used in practice. Joanne M. Atlee, Richard J. LeBlanc, Timothy Lethbridge, Ann E. Kelley Sobel, J. Barrie Thompson |
ICSE | 3 |
| 2005 | Studying Software Engineers: Data Collection Techniques for Software Field Studies
Timothy Lethbridge, Susan Elliott Sim, Janice Singer |
Empir. Softw. Eng. | 1 |
| 2004 | Generating Undergraduate Software Engineering Courses/Programs Using the Computing Curricula Software Engineering VolumeabstractThe Software Engineering Volume is part of the IEEE-CS/ACM Computing Curricula effort that began in the fall of 1998 when a group of dedicated individuals from the IEEE Computer Society and the ACM were appointed by the two societies to begin work on what was then called Computing Curriculum 2001. This Steering Committee came to the conclusion that the area of computing had gone beyond the boundaries of computer science and that one volume would not effectively contain all of the newer areas of computing that had been developed. It was decided to split the Computing Curriculum effort into several volumes: namely, Computer Science, Computer Engineering, Software Engineering, and Information Systems volumes. The main goals of the IEEE-CS/ACM Computing Curricula effort are to provide guidance to academic institutions and accreditation agencies about what should constitute an undergraduate education in one of the aforementioned areas. Richard J. LeBlanc, Timothy Lethbridge, Ann E. Kelley Sobel |
CSEE&T | 2 |
| 2004 | IEEE-CS/ACM computing curricula: computer engineering & software engineering volumesabstractArticle Share on IEEE-CS/ACM computing curricula: computer engineering & software engineering volumes Authors: John Impagliazzo Hofstra University, Hempstead, NY Hofstra University, Hempstead, NYView Profile , Esther A. Hughes Virginia Commonwealth University, Richmond, VA Virginia Commonwealth University, Richmond, VAView Profile , Richard LeBlanc Georgia Tech, Atlanta, GA Georgia Tech, Atlanta, GAView Profile , Tim Lethbridge University of Ottawa, Ottawa, Ontario, Canada University of Ottawa, Ottawa, Ontario, CanadaView Profile , Andrew McGettrick University of Strathclyde, Glasgow, United Kingdom University of Strathclyde, Glasgow, United KingdomView Profile , Ann E. K. Sobel Miami University, Oxford, OH Miami University, Oxford, OHView Profile , Pradip K. Srimani Clemson University, Clemson, SC Clemson University, Clemson, SCView Profile , Mitchell D. Theys University of Illinois at Chicago, Chicago, IL University of Illinois at Chicago, Chicago, ILView Profile Authors Info & Claims SIGCSE '04: Proceedings of the 35th SIGCSE technical symposium on Computer science educationMarch 2004 Pages 450–452https://doi.org/10.1145/971300.971453Published:01 March 2004Publication History 0citation798DownloadsMetricsTotal Citations0Total Downloads798Last 12 Months4Last 6 weeks1 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteGet Access John Impagliazzo, Esther A. Hughes, Richard J. LeBlanc, Timothy Lethbridge, Andrew D. McGettrick, Ann E. Kelley Sobel, Pradip K. Srimani, Mitchell D. Theys |
SIGCSE | 4 |
| 2003 | IEEE-CS/ACM Computing Curriculum Software Engineering Volume ProjectabstractThe Software Engineering Volume is part of the IEEE-CS/ACM Computing Curriculum effort that began in the Fall of 1998 when individuals from the IEEE Computer Society and the ACM formed a Steering Committee and began work on the Computer Science Volume. This Steering Committee came to the conclusion that the area of computing had gone beyond the boundaries of computer science and that one volume could not effectively cover the newer areas that had been developed. It was decided to split the Computing Curriculum effort into several volumes; to cover Computer Engineering, Software Engineering, and Information Systems. The Steering Committee continued to work on the Computer Science Volume and appointed others to work on the other volumes. Richard J. LeBlanc, Mordechai Ben-Menachem, Thomas B. Hilburn, Susan A. Mengel, Timothy Lethbridge, J. Barrie Thompson, Ann E. Kelley Sobel, Jorge L. Díaz-Herrera |
CSEE&T | 5 |
| 2003 | Evaluating Individual Contribution Toward Group Software Engineering ProjectsabstractIt is widely acknowledged that group or team projects are a staple of undergraduate and graduate software engineering courses. Such projects provide students with experiences that better prepare them for their careers, so teamwork is often required or strongly encouraged by accreditation agencies. While there are a multitude of educational benefits of group projects, they also pose considerable challenge in fairly and accurately discerning individual contribution for evaluation purposes. Issues, approaches, and best practices for evaluating individual contribution are presented from the perspectives of the University of Kentucky, University of Ottawa, University of Southern California, and others. The techniques utilized within a particular course generally are a mix of (1) the group mark is everybody's mark, (2) everybody reports what they personally did, (3) other group members report the relative contributions of other group members, (4) pop quizzes on project details, and (5) cross-validating with the results of individual work. Jane Huffman Hayes, Timothy Lethbridge, Daniel Port |
ICSE | 2 |
| 2003 | Mining the Maintenance History of a Legacy Software SystemabstractA considerable amount of system maintenance experience can be found in bug tracking and source code configuration management systems. Data mining and machine learning techniques allow one to extract models from past experience that can be used in future predictions. By mining the software change record, one can therefore generate models that can be used in future maintenance activities. In this paper, we present an example of such a model that represents a relation between pairs of files and show how it can be extracted from the software update records of a real world legacy system. We show how different sources of data can be used to extract sets of features useful in describing this model, as well as how results are affected by these different feature sets and their combinations. Our best results were obtained from text-based features, i.e. those extracted from words in the problem reports as opposed to syntactic structures in the source code. Jelber Sayyad-Shirabad, Timothy Lethbridge, Stan Matwin |
ICSM | 2 |
| 2003 | IEEE-CS/ACM computing curricula: software engineering volumeabstractOne of the problems in advancing the state of the software engineering discipline is the inadequate preparation of students entering the profession from undergraduate computing programs. This panel reports on the IEEE-CS/ACM Computing Curricula project and the guidance it will provide for developing undergraduate software engineering programs. In particular, the panel will address the development process used to construct the Software Engineering Volume, the contents of the first draft of the Volume, and the application of the software engineering curriculum guidelines to international curriculum models. Ann E. Kelley Sobel, Timothy Lethbridge |
ITiCSE | 2 |
| 2003 | Client sponsored projects in software engineering coursesabstractNo abstract available. Williams C. Judith, Bettina Bair, Jürgen Börstler, Timothy Lethbridge, Ken Surendran |
SIGCSE | 4 |
| 2002 | The relevance of software documentation, tools and technologies: a surveyabstractThis paper highlights the results of a survey of software professionals. One of the goals of this survey was to uncover the perceived relevance (or lack thereof) of software documentation, and the tools and technologies used to maintain, verify and validate such documents. The survey results highlight the preferences for and aversions against software documentation tools. Participants agree that documentation tools should seek to better extract knowledge from core resources. These resources include the system's source code, test code and changes to both. Resulting technologies could then help reduce the effort required for documentation maintenance, something that is shown to rarely occur. Our data reports compelling evidence that software professionals value technologies that improve automation of the documentation process, as well as facilitating its maintenance. Andrew Forward, Timothy Lethbridge |
ACM Symposium on Document Engineering | 2 |
| 2002 | Panel IntroducionabstractThe IEEE/ACM CCSE initiative to propose guidelines for an undergraduate program in software engineering provides an opportunity to rethink the role of software maintenance and evolution in software engineering curricula. The purpose of this panel is to share experiences and discuss novel ways in which evolution and maintenance can be incorporated in an undergraduate software engineering curriculum. Arie van Deursen, Timothy Lethbridge, Perdita Stevens |
ICSM | 2 |
| 2001 | Supporting Software Maintenance by Mining Software Update RecordsabstractThis paper describes the application of inductive methods to data extracted from both source code and software maintenance records. We would like to extract relations that indicate which files in, a legacy system, are relevant to each other in the context of program maintenance. We call these relations maintenance relevance relations. Such a relation could reveal existing complex interconnections among files in the system, which may in turn be useful in comprehending them. We discuss the methodology we employed to extract and evaluate the relations. We also point out some of the problems we encountered and our solutions for them. Finally, we present some of the results that we have obtained. Jelber Sayyad-Shirabad, Timothy Lethbridge, Stan Matwin |
ICSM | 2 |
| 2001 | Mixing Software Engineering Research and Development-What Needs Ethical Review and What Does Not?
Timothy Lethbridge |
Empir. Softw. Eng. | 1 |
| 2000 | Evaluating a domain-specialist-oriented knowledge management system
Timothy Lethbridge |
Int. J. Hum. Comput. Stud. | 1 |
| 2000 | Priorities for the education and training of software engineers
Timothy Lethbridge |
J. Syst. Softw. | 1 |
| 1999 | Recovering software architecture from the names of source filesabstractWe discuss how to extract a useful set of subsystems from a set of existing source-code file names. This problem is challenging because many legacy systems use thousands of files names, including some that are very short and cryptic. At the same time the problem is important because software maintainers often find it difficult to understand such systems. We propose a general algorithm to cluster files based on their names, and a set of alternative methods for implementing the algorithm. One of the key tasks is picking candidate words to try to identify in file names. We do this by (a) iteratively decomposing file names, (b) finding common substrings, and (c) choosing words in routine names, in an English dictionary or in source-code comments. In addition, we investigate generating abbreviations from the candidate words in order to find matches in file names, as well as how to split file names into components given no word markers. To compare and evaluate our five approaches, we present two experiments. The first compares the ‘concepts’ found in each file name by each method with the results of manually decomposing file names. The second experiment compares automatically generated subsystems with subsystem examples proposed by experts. We conclude that two methods are most effective: extracting concepts using common substrings and extracting those concepts that relate to the names of routines in the files. Copyright © 1999 John Wiley & Sons, Ltd. Nicolas Anquetil, Timothy Lethbridge |
J. Softw. Maintenance Res. Pract. | 2 |
| 1998 | A Survey of the Relevance of Computer Science and Software Engineering EducationabstractWe describe a study of 168 software professionals to determine how relevant their education has been to their careers. Starting with a list of 57 topics, we asked the participants to indicate how much they learned in university, how much they know now, how useful the material has been and whether they would like to learn more. We conclude from the results that certain software engineering topics should be given more emphasis, while the emphasis on certain mathematics topics should be changed. Timothy Lethbridge |
CSEE&T | 1 |
| 1998 | Extracting Concepts from File Names: A New File Clustering CriterionabstractDecomposing complex software systems into conceptually independent subsystems is a significant software engineering activity which received considerable research attention. Most of the research in this domain considers the body of the source code; trying to cluster together files which are conceptually related. We discuss techniques for extracting concepts (abbreviations) from a more informal source of information: file names. The task is difficult because nothing indicates where to split the file names into substrings. In general, finding abbreviations would require domain knowledge to identify the concepts that are referred to in a name and intuition to recognize such concepts in abbreviated forms. We show by experiment that the techniques we propose allow about 90% of the abbreviations to be found automatically. Nicolas Anquetil, Timothy Lethbridge |
ICSE | 2 |
| 1998 | Metrics for Concept-Oriented Knowledge BasesabstractMetrics are widely researched and used in software engineering; however there is little analogous work in the field of knowledge engineering. In other words, there are no widely-known metrics that the developers of knowledge bases can use to monitor and improve their work. In this paper we adapt the GQM (Goals-Questions-Metrics) methodology that is used to select and develop software metrics. We use the methodology to develop a series of metrics that measure the size and complexity of concept-oriented knowledge bases. Two of the metrics measure raw size; seven measure various aspects of complexity on scales of 0 to 1, and are shown to be largely independent of each other. The remaining three are compound metrics that combine aspects of the other nine in an attempt to measure the overall 'difficulty' or 'complexity' of a knowledge base. The metrics have been implemented and tested in the context of a knowledge management system called CODE4. Timothy Lethbridge |
Int. J. Softw. Eng. Knowl. Eng. | 1 |
| 1997 | An Undergraduate Option in Software Engineering: Analysis and RationaleabstractThis paper discusses an undergraduate option in software engineering which is currently in the approval process at the University of Ottawa. The proposed option represents a close collaboration between the Department of Computer Science and the Department of Electrical and Computer Engineering. In this paper we present an analysis of the weaknesses of the graduates of existing programs and some criteria for the choice of courses in the new option. In particular, we examine why a significant amount of additional project-based experience should be required in the software engineering option. The resulting option differs from those at other universities in that it has a somewhat greater emphasis on both human factors and the object oriented approach. Timothy Lethbridge, Dan Ionescu, Ali Mili 0001, David Gibbons |
CSEE&T | 1 |
| 1995 | CODE4: a unified system for managing conceptual knowledge
Douglas R. Skuce, Timothy Lethbridge |
Int. J. Hum. Comput. Stud. | 2 |
| 1989 | A simple heuristically-based method for expressive Stimulus-Response animation
Timothy Lethbridge, Colin Ware |
Comput. Graph. | 1 |