VLDB 2026 Research / reviewers in the wild / expert
Margaret-Anne D. Storey
dblp:s/MargaretAnneDStorey
· DBLP profile ↗
115ranked-venue papers
27as first author
19since 2021 · last 2026
0000-0003-2278-2536ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 92 · 21 first-author · 17 since 2021Databases, data management, data science and information retrieval · 12 · 4 first-author · 1 since 2021Human-computer interaction and ubiquitous computing · 11 · 3 first-author · 1 since 2021Artificial intelligence and machine learning · 2Graphics, computer vision, multimedia, augmented reality and games · 2Theory of computation · 2 · 2 first-authorApplied, interdisciplinary, general and emerging computing · 2Security and privacy · 1 · 1 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | Grasping AI Reliance in Program Comprehension and Coding through the AIRELI Persona Taxonomy
Tarek Alakmeh, Norman Anderson, Victoria Jackson, Guilherme Vaz Pereira, Umit Akirmak, Anthony Estey, Rafael Prikladnicki, André van der Hoek, Margaret-Anne D. Storey, Thomas Fritz 0001 |
ICPC | 9 |
| 2026 | Who "controls" where work shall be done? State-of-practice in post-pandemic remote work regulationabstractABSTRACT The COVID-19 pandemic has permanently altered workplace structures, making remote work a widespread practice. While many employees advocate for flexibility, many employers reconsider their attitude toward remote work and opt for structured return-to-office mandates. Media headlines repeatedly emphasize that the corporate world returns to full-time office work. This study examines how companies in software-intensive industry regulate work location, whether corporate policies have evolved in the last five years, and, if so, how, and why. We collected data on remote work regulation from corporate HR and management representatives from 68 companies that vary in size, location, and preferred work modality. Our findings reveal that although many companies prioritize office-oriented work (50%), most companies in our sample permit hybrid work (84%) and only four companies are returning to full-time office work. Remote work regulation does not reveal any particular new “best practice” as policies differ greatly; however, the single most popular arrangement was the three in-office days per week. More than half of the companies (53%) encourage or mandate office attendance centrally, with additional 18% having decentralized mandates. Over a quarter (28%) have changed regulations gradually increasing the mandatory office presence or implementing differentiated conditions. Our key recommendation for office-oriented companies is to consider trust-based recommendations as an alternative to centralized office presence mandates, while for companies oriented toward remote working, we warn about the points of no (or hard) return. Finally, the current state of policies is clearly not final, as companies continue to experiment and adjust their work regulation Darja Smite, Nils Brede Moe, Maria Teresa Baldassarre, Fabio Calefato, Guilherme Horta Travassos, Marcin Floryan, Marcos Kalinowski, Daniel Méndez 0001, Graziela Pereira, Margaret-Anne D. Storey, Rafael Prikladnicki |
J. Syst. Softw. | 10 |
| 2025 | Code Review Comprehension: Reviewing Strategies Seen Through Code Comprehension TheoriesabstractDespite the popularity and importance of modern code review, the understanding of the cognitive processes that enable reviewers to analyze code and provide meaningful feedback is lacking. To address this gap, we observed and interviewed ten experienced reviewers while they performed 25 code reviews from their review queue. Since comprehending code changes is essential to perform code review and the primary challenge for reviewers, we focused our analysis on this cognitive process. Using Letovsky's model of code comprehension, we performed a theorydriven thematic analysis to investigate how reviewers apply code comprehension to navigate changes and provide feedback. Our findings confirm that code comprehension is fundamental to code review. We extend Letovsky's model to propose the Code Review Comprehension Model and demonstrate that code review, like code comprehension, relies on opportunistic strategies. These strategies typically begin with a context-building phase, followed by code inspection involving code reading, testing, and discussion management. To interpret and evaluate the proposed change, reviewers construct a mental model of the change as an extension of their understanding of the overall software system and contrast mental representations of expected and ideal solutions against the actual implementation. Based on our findings, we discuss how review tools and practices can better support reviewers in employing their strategies and in forming understanding. Data and material: https://doi.org/10.5281/zenodo.14748996 Pavlína Wurzel Gonçalves, Pooja Rani 0001, Margaret-Anne D. Storey, Diomidis Spinellis, Alberto Bacchelli |
ICPC | 3 |
| 2025 | Fuzzy to clear: Elucidating the threat hunter cognitive process and cognitive support needsabstractWith security threats increasing in frequency and severity, it is critical that we consider the important role of threat hunters. These highly-trained security professionals learn to see, identify, and intercept security threats. Many recent works and existing tools in cybersecurity are focused on automating the threat hunting process, often overlooking the critical human element. Our study shifts this paradigm by emphasizing a human-centered approach to understanding the lived experiences of threat hunters. By observing threat hunters during hunting sessions and analyzing the rich insights they provide, we seek to advance the understanding of their cognitive processes and the tool support they need. Through an in-depth observational study of threat hunters, we introduce a model of how they build and refine their mental models during threat hunting sessions. We also present 23 themes that provide a foundation to better understand threat hunter needs and suggest five actionable design propositions to enhance the tools that support them. Through these contributions, our work enriches the theoretical understanding of threat hunting and provides practical insights for designing more effective, human-centered cybersecurity tools. Alessandra Maciel Paz Milani, Arty Starr, Samantha Hill, Callum Curtis, Norman Anderson, David Moreno-Lumbreras, Margaret-Anne D. Storey |
Comput. Secur. | 7 |
| 2025 | Guiding principles for mixed methods research in software engineeringabstractAbstract Mixed methods research is often used in software engineering, but researchers outside of the social or human sciences often lack experience when using these designs. This paper provides guiding principles and advice on how to design mixed method research, and to encourage the intentional, rigorous, and innovative application of mixed methods in software engineering. It also presents key properties of core mixed method research designs. Through a number of fictitious but recognizable software engineering research scenarios, we showcase how to choose suitable mixed method designs and consider the inevitable trade-offs any design choice leads to. We describe several antipatterns that illustrate what to avoid in mixed method research, and when mixed method research should be considered over other approaches. Margaret-Anne D. Storey, Rashina Hoda, Alessandra Maciel Paz Milani, Maria Teresa Baldassarre |
Empir. Softw. Eng. | 1 |
| 2025 | Software Engineering by and for Humans in an AI EraabstractThe landscape of software engineering is undergoing a transformative shift driven by advancements in machine learning, Artificial Intelligence (AI), and autonomous systems. This roadmap article explores how these technologies are reshaping the field, positioning humans not only as end users but also as critical components within expansive software ecosystems. We examine the challenges and opportunities arising from this human-centered paradigm, including ethical considerations, fairness, and the intricate interplay between technical and human factors. By recognizing humans at the heart of the software lifecycle—spanning professional engineers, end users, and end user developers—we emphasize the importance of inclusivity, human-aligned workflows, and the seamless integration of AI-augmented socio-technical systems. As software systems evolve to become more intelligent and human-centric, software engineering practices must adapt to this new reality. This article provides a comprehensive examination of this transformation, outlining current trends, key challenges, and opportunities that define the emerging research and practice landscape, and envisioning a future where software engineering and AI work synergistically to place humans at the core of the ecosystem. Silvia Abrahão, John C. Grundy, Mauro Pezzè, Margaret-Anne D. Storey, Damian A. Tamburri |
ACM Trans. Softw. Eng. Methodol. | 4 |
| 2024 | Questioning the Questions We Ask About the Impact of AI on Software Engineering : MSR 2024 KeynoteabstractThe recent advent and wide diffusion of generative AI has initiated a fundamental change in how software is developed. This technology is just one innovation along a long arc of disruptions in software engineering that include the internet, high-level programming languages, integrated development environments, open source, agile development, and social coding environments. Disruptive technologies such as these show the potential to augment and accelerate development activities along many socio-technical dimensions, while altering fundamental business processes and paradigms. Yet paradoxically, these innovations have the potential to eventually undermine the very advancements they seek to promote, rendering technologies and methods obsolete [1]. Margaret-Anne D. Storey |
MSR | 1 |
| 2024 | P-Inti: Interactive Visual Representation of Programming Concepts for Learning and InstructionabstractLearning to program poses significant challenges, not only to learners but also teaching challenges to instructors. Several previous approaches to facilitate learning to program or analyze algorithms have employed visuals and visualizations, but they are limited in interactivity and in the ability of instructors and learners to customize the visuals to their learning goals. In this work, we present the design and implementation of P-Inti, an interactive constructive learning aid designed to allow learners to use a visual canvas to explore aspects of the state, control flow and execution of a program or algorithm. Instructors can also use the tool to generate interactive visual explanations for code and support quick switching between different algorithms. Shishir Halaharvi, Gonzalo Méndez 0002, Hamid Mansoor, Quinton Yong, Alessandra Maciel Paz Milani, Margaret-Anne D. Storey, Miguel A. Nacenta |
VL/HCC | 6 |
| 2024 | Generative AI in Software Engineering Must Be Human-Centered: The Copenhagen Manifesto
Daniel Russo 0002, Sebastian Baltes, Niels van Berkel, Paris Avgeriou, Fabio Calefato, Beatriz Cabrero-Daniel, Gemma Catolino, Jürgen Cito, Neil A. Ernst, Thomas Fritz 0001, Hideaki Hata, Reid Holmes, Maliheh Izadi, Foutse Khomh, Mikkel Baun Kjærgaard, Grischa Liebel, Alberto Lluch-Lafuente, Stefano Lambiase, Walid Maalej, Gail C. Murphy, Nils Brede Moe, Gabrielle O'Brien, Elda Paja, Mauro Pezzè, John Stouby Persson, Rafael Prikladnicki, Paul Ralph, Martin P. Robillard, Thiago Rocha Silva, Klaas-Jan Stol, Margaret-Anne D. Storey, Viktoria Stray, Paolo Tell, Christoph Treude, Bogdan Vasilescu |
J. Syst. Softw. | 31 |
| 2024 | A Disruptive Research Playbook for Studying Disruptive InnovationsabstractAs researchers today, we are witnessing a fundamental change in our technologically-enabled world due to the advent and diffusion of highly disruptive technologies such as generative Artificial Intelligence (AI), Augmented Reality (AR) and Virtual Reality (VR). In particular, software engineering has been profoundly affected by the transformative power of disruptive innovations for decades, with a significant impact of technical advancements on social dynamics due to its socio-technical nature. In this article, we reflect on the importance of formulating and addressing research problems in software engineering through a socio-technical lens, thus ensuring a holistic understanding of the complex phenomena in this field. We propose a research playbook with the aim of providing a guide to formulate compelling and socially relevant research questions and to identify the appropriate research strategies for empirical investigations, with an eye on the long-term implications of technologies or their use. We showcase how to apply the research playbook. Firstly, we show how it can be used retrospectively to reflect on a prior disruptive technology, Stack Overflow, and its impact on software development. Secondly, we show how it can be used to question the impact of two current disruptive technologies: AI and AR/VR. Finally, we introduce a specialized GPT model to support the researcher in framing future investigations. We conclude by discussing the broader implications of adopting the playbook for both researchers and practitioners in software engineering and beyond. Margaret-Anne D. Storey, Daniel Russo 0002, Nicole Novielli, Takashi Kobayashi 0001, Dong Wang 0044 |
ACM Trans. Softw. Eng. Methodol. | 1 |
| 2023 | A Framework for Automating the Measurement of DevOps Research and Assessment (DORA) MetricsabstractThe DevOps Research and Assessment (DORA) metrics have been widely accepted by the software industry as a powerful method to quantify DevOps performance, leading to significant interest in their measurement. Existing proprietary solutions are highly customised, and require specific types of cloud infrastructure, limiting their suitability for projects such as libraries, frameworks, and open source projects. To address this gap, we present a framework which operationalizes the DORA metrics independently of a project’s software development life-cycle or type of deployment. We demonstrate the general applicability of this framework by using it to calculate the throughput and stability of 304 popular open source repositories. We find that the time-series data it produces provides meaningful insights into the trending direction of a project’s recent and retrospective throughput and stability performance, especially when significant changes in metrics are correlated with major events in the project’s history. We conclude with recommendations for augmenting our approach with additional information such as bug criticality when such information is available. Brennan Wilkes, Alessandra Maciel Paz Milani, Margaret-Anne D. Storey |
ICSME | 3 |
| 2023 | An Actionable Framework for Understanding and Improving Developer ExperienceabstractDeveloper experience is an important concern for software organizations as enhancing developer experience improves productivity, satisfaction, engagement and retention. We set out to understand what affects developer experience through semi-structured interviews with 21 developers from industry, which we transcribed and iteratively coded. Our findings elucidate factors that affect developer experience and characteristics that influence their respective importance to individual developers. We also identify strategies employed by individuals and teams to improve developer experience and the barriers that stand in their way. Lastly, we describe the coping mechanisms of developers when developer experience cannot be sufficiently improved. Our findings result in the DX Framework, an actionable conceptual framework for understanding and improving developer experience. The DX Framework provides a go-to reference for organizations that want to enable more productive and effective work environments for their developers. Michaela Greiler, Margaret-Anne D. Storey, Abi Noda |
IEEE Trans. Software Eng. | 2 |
| 2023 | DASP: A Framework for Driving the Adoption of Software Security PracticesabstractImplementing software security practices is a critical concern in modern software development. Industry practitioners, security tool providers, and researchers have provided standard security guidelines and sophisticated security development tools to ensure a secure software development pipeline. But despite these efforts, there continues to be an increase in the number of vulnerabilities that can be exploited by malicious hackers. There is thus an urgent need to understand why developers still introduce security vulnerabilities into their applications and to understand what can be done to motivate them to write more secure code. To understand and address this problem further, we propose DASP, a framework for diagnosing and driving the adoption of software security practices among developers. DASP was conceived by combining behavioral science theories to shape a cross-sectional interview study with 28 software practitioners. Our interviews lead to a framework that consists of a comprehensive set of 33 drivers grouped into 7 higher-level categories that represent what needs to happen or change so that the adoption of software security practices occurs. Using the DASP framework, organizations can design interventions suitable for developers’ specific development contexts that will motivate them to write more secure code. Enrique Larios Vargas, Omar Elazhary, Soroush Yousefi, Derek Lowlind, Michael L. W. Vliek, Margaret-Anne D. Storey |
IEEE Trans. Software Eng. | 6 |
| 2022 | Error identification strategies for Python Jupyter notebooksabstractComputational notebooks---such as Jupyter or Colab---combine text and data analysis code. They have become ubiquitous in the world of data science and exploratory data analysis. Since these notebooks present a different programming paradigm than conventional IDE-driven programming, it is plausible that debugging in computational notebooks might also be different. More specifically, since creating notebooks blends domain knowledge, statistical analysis, and programming, the ways in which notebook users find and fix errors in these different forms might be different. In this paper, we present an exploratory, observational study on how Python Jupyter notebook users find and understand potential errors in notebooks. Through a conceptual replication of study design investigating the error identification strategies of R notebook users, we presented users with Python Jupyter notebooks pre-populated with common notebook errors---errors rooted in either the statistical data analysis, the knowledge of domain concepts, or in the programming. We then analyzed the strategies our study participants used to find these errors and determined how successful each strategy was at identifying errors. Our findings indicate that while the notebook programming environment is different from the environments used for traditional programming, debugging strategies remain quite similar. It is our hope that the insights presented in this paper will help both notebook tool designers and educators make changes to improve how data scientists discover errors more easily in the notebooks they write. Derek Robinson, Neil A. Ernst, Enrique Larios Vargas, Margaret-Anne D. Storey |
ICPC | 4 |
| 2022 | Why secret detection tools are not enough: It's not just about false positives - An industrial case study
Rayhanur Rahman, Nasif Imtiaz, Margaret-Anne D. Storey, Laurie A. Williams |
Empir. Softw. Eng. | 3 |
| 2022 | A Tale of Two Cities: Software Developers Working from Home during the COVID-19 PandemicabstractThe COVID-19 pandemic has shaken the world to its core and has provoked an overnight exodus of developers who normally worked in an office setting to working from home. The magnitude of this shift and the factors that have accompanied this new unplanned work setting go beyond what the software engineering community has previously understood to be remote work. To find out how developers and their productivity were affected, we distributed two surveys (with a combined total of 3,634 responses that answered all required questions) weeks apart to understand the presence and prevalence of the benefits, challenges, and opportunities to improve this special circumstance of remote work. From our thematic qualitative analysis and statistical quantitative analysis, we find that there is a dichotomy of developer experiences influenced by many different factors (that for some are a benefit, while for others a challenge). For example, a benefit for some was being close to family members but for others having family members share their working space and interrupting their focus, was a challenge. Our surveys led to powerful narratives from respondents and revealed the scale at which these experiences exist to provide insights as to how the future of (pandemic) remote work can evolve. Denae Ford, Margaret-Anne D. Storey, Thomas Zimmermann 0001, Christian Bird, Sonia Jaffe, Chandra Shekhar Maddila, Jenna L. Butler, Brian Houck, Nachiappan Nagappan |
ACM Trans. Softw. Eng. Methodol. | 2 |
| 2022 | Uncovering the Benefits and Challenges of Continuous Integration PracticesabstractIn 2006, Fowler and Foemmel defined ten core Continuous Integration (CI) practices that could increase the speed of software development feedback cycles and improve software quality. Since then, these practices have been widely adopted by industry and subsequent research has shown they improve software quality. However, there is poor understanding ofhoworganizations implement these practices, of thebenefitsdevelopers perceive they bring, and of thechallengesdevelopers and organizations experience in implementing them. In this article, we discuss a multiple-case study of three small- to medium-sized companies using the recommended suite of ten CI practices. Using interviews and activity log mining, we learned that these practices are broadly implemented buthowthey are implemented varies depending on their perceived benefits, the context of the project, and the CI tools used by the organization. We also discovered that CI practices can create new constraints on the software process that hurt feedback cycle time. For researchers, we show that how CI is implemented varies, and thus studying CI (for example, using data mining) requires understanding these differences as important context for research studies. For practitioners, our findings reveal in-depth insights on the possible benefits and challenges from using the ten practices, and how project context matters. Omar Elazhary, Colin M. Werner, Ze Shi Li, Derek Lowlind, Neil A. Ernst, Margaret-Anne D. Storey |
IEEE Trans. Software Eng. | 6 |
| 2021 | "How Was Your Weekend?" Software Development Teams Working From Home During COVID-19abstractThe mass shift to working at home during the COVID-19 pandemic radically changed the way many software development teams collaborate and communicate. To investigate how team culture and team productivity may also have been affected, we conducted two surveys at a large software company. The first, an exploratory survey during the early months of the pandemic with 2,265 developer responses, revealed that many developers faced challenges reaching milestones and that their team productivity had changed. We also found through qualitative analysis that important team culture factors such as communication and social connection had been affected. For example, the simple phrase "How was your weekend?" had become a subtle way to show peer support. In our second survey, we conducted a quantitative analysis of the team cultural factors that emerged from our first survey to understand the prevalence of the reported changes. From 608 developer responses, we found that 74% of these respondents missed social interactions with colleagues and 51% reported a decrease in their communication ease with colleagues. We used data from the second survey to build a regression model to identify important team culture factors for modeling team productivity. We found that the ability to brainstorm with colleagues, difficulty communicating with colleagues, and satisfaction with interactions from social activities are important factors that are associated with how developers report their software development team's productivity. Our findings inform how managers and leaders in large software companies can support sustained team productivity during times of crisis and beyond. Courtney Miller, Paige Rodeghero, Margaret-Anne D. Storey, Denae Ford, Thomas Zimmermann 0001 |
ICSE | 3 |
| 2021 | Towards a Theory of Software Developer Job Satisfaction and Perceived ProductivityabstractDeveloper satisfaction and work productivity are important considerations for software companies. Enhanced developer satisfaction may improve the attraction, retention and health of employees, while higher productivity should reduce costs and increase customer satisfaction through faster software improvements. Many researchers and companies assume that perceived productivity and job satisfaction are related and may be used as proxies for one another, but these claims are a current topic of debate. There are also many social and technical factors that may impact satisfaction and productivity, but which factors have the most impact is not clear, especially for specific development contexts. Through our research, we developed a theory articulating a bi-directional relationship between software developer job satisfaction and perceived productivity, and identified what additional social and technical factors, challenges and work context variables influence this relationship. The constructs and relationships in our theory were derived in part from related literature in software engineering and knowledge work, and we validated and extended these concepts through a rigorously designed survey instrument. We instantiate our theory with a large software company, which suggests a number of propositions about the relative impact of various factors and challenges on developer satisfaction and perceived productivity. Our survey instrument and analysis approach can be applied to other development settings, while our findings lead to concrete recommendations for practitioners and researchers. Margaret-Anne D. Storey, Thomas Zimmermann 0001, Christian Bird, Jacek Czerwonka, Brendan Murphy, Eirini Kalliamvakou |
IEEE Trans. Software Eng. | 1 |
| 2020 | Code Duplication and Reuse in Jupyter NotebooksabstractDuplicating one's own code makes it faster to write software. This expediency is particularly valuable for users of computational notebooks. Duplication allows notebook users to quickly test hypotheses and iterate over data. In this paper, we explore how much, how and from where code duplication occurs in computational notebooks, and identify potential barriers to code reuse. Previous work in the area of computational notebooks describes developers' motivations for reuse and duplication but does not show how much reuse occurs or which barriers they face when reusing code. To address this gap, we first analyzed GitHub repositories for code duplicates contained in a repository's Jupyter notebooks, and then conducted an observational user study of code reuse, where participants solved specific tasks using notebooks. Our findings reveal that repositories in our sample have a mean self-duplication rate of 7.6%. However, in our user study, few participants duplicated their own code, preferring to reuse code from online sources. Andreas Koenzen, Neil A. Ernst, Margaret-Anne D. Storey |
VL/HCC | 3 |
| 2020 | How software engineering research aligns with design science: a reviewabstractAbstract Background Assessing and communicating software engineering research can be challenging. Design science is recognized as an appropriate research paradigm for applied research, but is rarely explicitly used as a way to present planned or achieved research contributions in software engineering. Applying the design science lens to software engineering research may improve the assessment and communication of research contributions. Aim The aim of this study is 1) to understand whether the design science lens helps summarize and assess software engineering research contributions, and 2) to characterize different types of design science contributions in the software engineering literature. Method In previous research, we developed a visual abstract template, summarizing the core constructs of the design science paradigm. In this study, we use this template in a review of a set of 38 award winning software engineering publications to extract, analyze and characterize their design science contributions. Results We identified five clusters of papers, classifying them according to their different types of design science contributions. Conclusions The design science lens helps emphasize the theoretical contribution of research output—in terms of technological rules—and reflect on the practical relevance, novelty and rigor of the rules proposed by the research. Emelie Engström, Margaret-Anne D. Storey, Per Runeson, Martin Höst, Maria Teresa Baldassarre |
Empir. Softw. Eng. | 2 |
| 2020 | The who, what, how of software engineering research: a socio-technical framework
Margaret-Anne D. Storey, Neil A. Ernst, Courtney Williams, Eirini Kalliamvakou |
Empir. Softw. Eng. | 1 |
| 2019 | Do as I Do, Not as I Say: Do Contribution Guidelines Match the GitHub Contribution Process?abstractDeveloper contribution guidelines are used in social coding sites like GitHub to explain and shape the process a project expects contributors to follow. They set standards for all participants and "save time and hassle caused by improperly created pull requests or issues that have to be rejected and re-submitted" (GitHub). Yet, we lack a systematic understanding of the content of a typical contribution guideline, as well as the extent to which these guidelines are followed in practice. Additionally, understanding how guidelines may impact projects that use Continuous Integration as part of the contribution process is of particular interest. To address this knowledge gap, we conducted a mixed-methods study of 53 GitHub projects with explicit contribution guidelines and coded the guidelines to extract key themes. We then created a process model using GitHub activity data (e.g., commit, new issue, new pull request) to compare the actual activity with the prescribed contribution guidelines. We show that approximately 68% of these projects diverge significantly from the expected process. Omar Elazhary, Margaret-Anne D. Storey, Neil A. Ernst, Andy Zaidman |
ICSME | 2 |
| 2019 | CloneCompass: Visualizations for Exploring Assembly Code Clone EcosystemsabstractAssembly code analysis is an intensive process undertaken by security analysts and reverse engineers to discover vulnerabilities in existing software when source code is unavailable. Kam1n0 is an efficient code clone search engine that facilitates assembly code analysis. However, Kam1n0 search results can contain millions of function-clone pairs, and efficiently exploring and comprehensively understanding the resulting data can be challenging. This paper presents a design study whereby we collaborated with analyst stakeholders to identify requirements for a tool that visualizes and scales to millions of function-clone pairs. These requirements led to the design of an interactive visual tool, CloneCompass, consisting of novel TreeMap Matrix and Adjacency Matrix visualizations to aid in the exploration of assembly code clones extracted from Kam1n0. We conducted a preliminary evaluation with the analyst stakeholders and show how CloneCompass enables these users to visually and interactively explore code clone data generated from software systems with suspected vulnerabilities. Jorin Weatherston, Margaret-Anne D. Storey, Daniel M. Germán |
VISSOFT | 3 |
| 2019 | Fostering good coding practices through individual feedback and gamification: an industrial case study
Matthieu Foucault, Xavier Blanc 0001, Jean-Rémy Falleri, Margaret-Anne D. Storey |
Empir. Softw. Eng. | 4 |
| 2018 | How modern news aggregators help development communities shape and share knowledgeabstractMany developers rely on modern news aggregator sites such as Reddit and Hacker News to stay up to date with the latest technological developments and trends. In order to understand what motivates developers to contribute, what kind of content is shared, and how knowledge is shaped by the community, we interviewed and surveyed developers that participate on the Reddit programming subreddit and we analyzed a sample of posts on both Reddit and Hacker News. We learned what kind of content is shared in these websites and developer motivations for posting, sharing, discussing, evaluating, and aggregating knowledge on these aggregators, while revealing challenges developers face in terms of how content and participant behavior is moderated. Our insights aim to improve the practices developers follow when using news aggregators, as well as guide tool makers on how to improve their tools. Our findings are also relevant to researchers that study developer communities of practice. Mauricio Finavaro Aniche, Christoph Treude, Igor Steinmacher, Igor Scaliante Wiese, Gustavo Pinto 0001, Margaret-Anne D. Storey, Marco Aurélio Gerosa |
ICSE | 6 |
| 2018 | When testing meets code review: why and how developers review testsabstractAutomated testing is considered an essential process for ensuring software quality. However, writing and maintaining high-quality test code is challenging and frequently considered of secondary importance. For production code, many open source and industrial software projects employ code review, a well-established software quality practice, but the question remains whether and how code review is also used for ensuring the quality of test code. The aim of this research is to answer this question and to increase our understanding of what developers think and do when it comes to reviewing test code. We conducted both quantitative and qualitative methods to analyze more than 300,000 code reviews, and interviewed 12 developers about how they review test files. This work resulted in an overview of current code reviewing practices, a set of identified obstacles limiting the review of test code, and a set of issues that developers would like to see improved in code review tools. The study reveals that reviewing test files is very different from reviewing production files, and that the navigation within the review itself is one of the main issues developers currently face. Based on our findings, we propose a series of recommendations and suggestions for the design of tools and future research. Davide Spadini, Mauricio Finavaro Aniche, Margaret-Anne D. Storey, Magiel Bruntink, Alberto Bacchelli |
ICSE | 3 |
| 2018 | Understanding, Debugging, and Optimizing Distributed Software Builds: A Design StudyabstractToday's build systems distribute build tasks across thousands of machines, reusing cached build results whenever possible. But despite the sophisticated nature of modern build tools, the core software architecture of the system under build defines the lower bound for how fast the system can compile. Long, consecutive build chains or slow individual build targets can introduce expensive compilation bottlenecks. Further, the growing complexity of both build systems and software systems under build makes comprehending, debugging, and optimizing build performance a significant challenge faced by many software engineers. We present a design study to describe and help mitigate the cognitive challenges faced by software engineers that use modern, cached, and distributed build systems. We characterize the performance analysis process and identify the main stakeholders involved, key usage scenarios, and elicit important requirements for tool support. We propose an interactiveBuildExplorertool for understanding, optimizing, and debugging cached and distributed build sessions, justifying our design decisions among alternative solutions. Our novel solution is evaluated through usage scenario walkthroughs, iterative deployments of the tool in the field, and a user study. Carlene Lebeuf, Elena Voyloshnikova, Kim Herzig, Margaret-Anne D. Storey |
ICSME | 4 |
| 2018 | How the R community creates and curates knowledge: an extended study of stack overflow and mailing lists
Alexey Zagalsky, Daniel M. Germán, Margaret-Anne D. Storey, Carlos Gómez Teshima, Germán Poo-Caamaño |
Empir. Softw. Eng. | 3 |
| 2017 | Using a Visual Abstract as a Lens for Communicating and Promoting Design Science Research in Software EngineeringabstractEmpirical software engineering research aims to generate prescriptive knowledge that can help software engineers improve their work and overcome their challenges, but deriving these insights from real-world problems can be challenging. In this paper, we promote design science as an effective way to produce and communicate prescriptive knowledge. We propose using a visual abstract template to communicate design science contributions and highlight the main problem/solution constructs of this area of research, as well as to present the validity aspects of design knowledge. Our conceptualization of design science is derived from existing literature and we illustrate its use by applying the visual abstract to an example use case. This is work in progress and further evaluation by practitioners and researchers will be forthcoming. Margaret-Anne D. Storey, Emelie Engström, Martin Höst, Per Runeson, Elizabeth Bjarnason |
ESEM | 1 |
| 2017 | Atlantis: Improving the Analysis and Visualization of Large Assembly Execution TracesabstractAssembly execution trace analysis is an effective approach for discovering potential software vulnerabilities. However, the size of the execution traces and the lack of source code makes this a manual, labor-intensive process. Instead of browsing billions of instructions one by one, software security analysts need higher-level information that can provide an overview of the execution of a program to assist in the identification of patterns of interest. The tool we present in this paper, Atlantis, is our trace analysis environment for multi-gigabyte assembly traces, and it contains a number of new features that make it particularly successful in meeting this goal. The contributions of this continuous work fall into three main categories: a) the ability to efficiently reconstruct and navigate the memory state of a program at any point in a trace; b) the ability to reconstruct and navigate functions and processes; and c) a powerful search facility to query and navigate traces. These contributions are not only novel for Atlantis but also for the field of assembly trace analysis. Software is becoming increasingly complex and many applications are designed as collaborative systems or modules interacting with each other, which makes the discovery of vulnerabilities extremely difficult. With the novel features we describe in this paper, our tool extends the security analyst's ability to investigate vulnerabilities of real-world large execution traces and can lay the groundwork for supporting trace analysis of interacting programs in the future. Huihui Nora Huang, Eric Verbeek 0002, Daniel M. Germán, Margaret-Anne D. Storey, Martin Salois |
ICSME | 4 |
| 2017 | Documenting and sharing software knowledge using screencasts
Laura MacLeod, Andi Bergen, Margaret-Anne D. Storey |
Empir. Softw. Eng. | 3 |
| 2017 | How Social and Communication Channels Shape and Challenge a Participatory Culture in Software DevelopmentabstractSoftware developers use many different communication tools and channels in their work. The diversity of these tools has dramatically increased over the past decade and developers now have access to a wide range of socially enabled communication channels and social media to support their activities. The availability of such social tools is leading to a participatory culture of software development, where developers want to engage with, learn from, and co-create software with other developers. However, the interplay of these social channels, as well as the opportunities and challenges they may create when used together within this participatory development culture are not yet well understood. In this paper, we report on a large-scale survey conducted with 1,449 GitHub users. We discuss the channels these developers find essential to their work and gain an understanding of the challenges they face using them. Our findings lay the empirical foundation for providing recommendations to developers and tool designers on how to use and improve tools for software developers. Margaret-Anne D. Storey, Alexey Zagalsky, Fernando Marques Figueira Filho, Leif Singer, Daniel M. Germán |
IEEE Trans. Software Eng. | 1 |
| 2016 | Work practices and challenges in pull-based development: the contributor's perspectiveabstractThe pull-based development model is an emerging way of contributing to distributed software projects that is gaining enormous popularity within the open source software (OSS) world. Previous work has examined this model by focusing on projects and their owners---we complement it by examining the work practices of project contributors and the challenges they face. Georgios Gousios, Margaret-Anne D. Storey, Alberto Bacchelli |
ICSE | 2 |
| 2016 | How the R community creates and curates knowledge: a comparative study of stack overflow and mailing listsabstractOne of the many effects of social media in software development is the flourishing of very large communities of practice where members share a common interest, such as programming languages, frameworks, and tools. These communities of practice use many different communication channels but little is known about how these communities create, share, and curate knowledge using such channels. In this paper, we report a qualitative study of how one community of practice---the R software development community---creates and curates knowledge associated with questions and answers (Q&A) in two of its main communication channels: the R-tag in Stack Overflow and the R-users mailing list. The results reveal that knowledge is created and curated in two main forms: participatory, where multiple members explicitly collaborate to build knowledge, and crowdsourced, where individuals work independently of each other. The contribution of this paper is a characterization of knowledge types that are exchanged by these communities of practice, including a description of the reasons why members choose one channel over the other. Finally, this paper enumerates a set of recommendations to assist practitioners in the use of multiple channels for Q&A. Alexey Zagalsky, Carlos Gómez Teshima, Daniel M. Germán, Margaret-Anne D. Storey, Germán Poo-Caamaño |
MSR | 4 |
| 2016 | Disrupting developer productivity one bot at a timeabstractBots are used to support different software development activities, from automating repetitive tasks to bridging knowledge and communication gaps in software teams. We anticipate the use of Bots will increase and lead to improvements in software quality and developer and team productivity, but what if the disruptive effect is not what we expect? Margaret-Anne D. Storey, Alexey Zagalsky |
SIGSOFT FSE | 1 |
| 2015 | The Emergence of GitHub as a Collaborative Platform for EducationabstractThe software development community has embraced GitHub as an essential platform for managing their software projects. GitHub has created efficiencies and helped improve the way software professionals work. It not only provides a traceable project repository, but it acts as a social meeting place for interested parties, supporting communities of practice. Recently, educators have seen the potential in GitHub's collaborative features for managing and improving---perhaps even transforming---the learning experience. In this study, we examine how GitHub is emerging as a collaborative platform for education. We aim to understand how environments such as GitHub---environments that provide social and collaborative features in conjunction with distributed version control---may improve (or possibly hinder) the educational experience for students and teachers. We conduct a qualitative study focusing on how GitHub is being used in education, and the motivations, benefits and challenges it brings. Alexey Zagalsky, Joseph Feliciano, Margaret-Anne D. Storey, Yiyun Zhao, Weiliang Wang |
CSCW | 3 |
| 2015 | Selecting research methods for studying a participatory culture in software development: keynoteabstractRecent innovations in social media have led to a paradigm shift in software development, with highly tuned participatory development cultures contributing to crowdsourced content and being supported by media that have become increasingly more social and transparent. Never before in the history of software development have we seen such rapid adoption of new tools by software developers. But there are many unanswered questions about the impact this tool adoption has on the quality of the software, the productivity and skills of the developers, the growth of projects and technologies developers contribute to, and how users can give feedback on and guide the software they use. Answering these questions is not trivial as this participatory development culture has become a virtual network of tightly coupled ecosystems consisting of developers, shared content and media channels. Margaret-Anne D. Storey |
EASE | 1 |
| 2015 | Work Practices and Challenges in Pull-Based Development: The Integrator's PerspectiveabstractIn the pull-based development model, the integrator has the crucial role of managing and integrating contributions. This work focuses on the role of the integrator and investigates working habits and challenges alike. We set up an exploratory qualitative study involving a large-scale survey of 749 integrators, to which we add quantitative data from the integrator's project. Our results provide insights into the factors they consider in their decision making process to accept or reject a contribution. Our key findings are that integrators struggle to maintain the quality of their projects and have difficulties with prioritizing contributions that are to be merged. Our insights have implications for practitioners who wish to use or improve their pull-based development process, as well as for researchers striving to understand the theoretical implications of the pull-based model in software development. Georgios Gousios, Andy Zaidman, Margaret-Anne D. Storey, Arie van Deursen |
ICSE (1) | 3 |
| 2015 | WAP: Cognitive aspects in unit testing: The hunting game and the hunter's perspectiveabstractHumans are hunters and love the chase — they hunt for food, they hunt for bugs in software. In the last decade, testing research has gone deeper and broader to help with the challenging task of catching bugs. Much of the literature approaches the problem from a theoretical-technical perspective and is often oriented to automated solutions. Yet, there is a gap between industry testing problems and research testing solutions. We take a different perspective and consider the human component as a major part of the solution for practical testing problems. Many of these human-related issues are reported in academic surveys of practitioners. We highlight the importance of human factors in testing by introducing a hunting metaphor. We also bring attention to evidence on cognitive support demands in unit test practices. An initial framework is proposed as an effort to bring understanding of cognitive support demands, and provides direction for further research on unit testing tools which support tester skill improvement. Marllos P. Prado, Eric Verbeek 0002, Margaret-Anne D. Storey, Auri M. R. Vincenzi |
ISSRE | 3 |
| 2015 | Code, camera, action: how software developers document and share program knowledge using YouTubeabstractCreating documentation is a challenging task in software engineering and most techniques involve the laborious and sometimes tedious job of writing text. This paper explores an alternative to traditional text-based documentation, the screen-cast, which captures a developer's screen while they narrate how a program or software tool works. We conducted a study to investigate how developers produce and share developer-focused screen casts using the You Tube social platform. First, we identified and analyzed a set of development screen casts to determine how developers have adapted to the medium to meet the demands of development-related documentation needs. We also explored the techniques and strategies used for sharing software knowledge. Second, we interviewed screen cast producers to understand their motivations for creating screen casts, and to uncover the perceived benefits and challenges in producing code-focused videos. Our findings reveal that video is a useful medium for communicating program knowledge between developers, and that developers build their online personas and reputation by sharing videos through social channels. Laura MacLeod, Margaret-Anne D. Storey, Andi Bergen |
ICPC | 2 |
| 2014 | Software engineering at the speed of light: how developers stay current using twitterabstractThe microblogging service Twitter has over 500 million users posting over 500 million tweets daily. Research has established that software developers use Twitter in their work, but this has not yet been examined in detail. Twitter is an important medium in some software engineering circles—understanding its use could lead to improved support, and learning more about the reasons for non-adoption could inform the design of improved tools. In a qualitative study, we surveyed 271 and interviewed 27 developers active on GitHub. We find that Twitter helps them keep up with the fast-paced development landscape. They use it to stay aware of industry changes, for learning, and for building relationships. We discover the challenges they experience and extract their coping strategies. Some developers do not want to or cannot embrace Twitter for their work—we show their reasons and alternative channels. We validate our findings in a follow-up survey with more than 1,200 respondents. Leif Singer, Fernando Marques Figueira Filho, Margaret-Anne D. Storey |
ICSE | 3 |
| 2014 | Peer Review on Open-Source Software Projects: Parameters, Statistical Models, and TheoryabstractPeer review is seen as an important quality-assurance mechanism in both industrial development and the open-source software (OSS) community. The techniques for performing inspections have been well studied in industry; in OSS development, software peer reviews are not as well understood. To develop an empirical understanding of OSS peer review, we examine the review policies of 25 OSS projects and study the archival records of six large, mature, successful OSS projects. We extract a series of measures based on those used in traditional inspection experiments. We measure the frequency of review, the size of the contribution under review, the level of participation during review, the experience and expertise of the individuals involved in the review, the review interval, and the number of issues discussed during review. We create statistical models of the review efficiency, review interval, and effectiveness, the issues discussed during review, to determine which measures have the largest impact on review efficacy. We find that OSS peer reviews are conducted asynchronously by empowered experts who focus on changes that are in their area of expertise. Reviewers provide timely, regular feedback on small changes. The descriptive statistics clearly show that OSS review is drastically different from traditional inspection. Peter C. Rigby, Daniel M. Germán, Laura L. E. Cowen, Margaret-Anne D. Storey |
ACM Trans. Softw. Eng. Methodol. | 4 |
| 2013 | Mutual assessment in the social programmer ecosystem: an empirical investigation of developer profile aggregatorsabstractThe multitude of social media channels that programmers can use to participate in software development has given rise to online developer profiles that aggregate activity across many services. Studying members of such developer profile aggregators, we found an ecosystem that revolves around the social programmer. Developers are assessing each other to evaluate whether other developers are interesting, worth following, or worth collaborating with. They are self-conscious about being assessed, and thus manage their public images. They value passion for software development, new technologies, and learning. Some recruiters participate in the ecosystem and use it to find candidates for hiring; other recruiters struggle with the interpretation of signals and issues of trust. This mutual assessment is changing how software engineers collaborate and how they advance their skills. Leif Singer, Fernando Marques Figueira Filho, Brendan Cleary, Christoph Treude, Margaret-Anne D. Storey, Kurt Schneider |
CSCW | 5 |
| 2013 | Automated Detection of Test Fixture Strategies and SmellsabstractDesigning automated tests is a challenging task. One important concern is how to design test fixtures, i.e. code that initializes and configures the system under test so that it is in an appropriate state for running particular automated tests. Test designers may have to choose between writing in-line fixture code for each test or refactor fixture code so that it can be reused for other tests. Deciding on which approach to use is a balancing act, often trading off maintenance overhead with slow test execution. Additionally, over time, test code quality can erode and test smells can develop, such as the occurrence of overly general fixtures, obscure in-line code and dead fields. In this paper, we show that test smells related to fixture set-up occur in industrial projects. We present a static analysis technique to identify fixture related test smells. We implemented this test analysis technique in a tool, called TestHound, which provides reports on test smells and recommendations for refactoring the smelly test code. We evaluate the tool through three industrial case studies and show that developers find that the tool helps them to understand, reflect on and adjust test code. Michaela Greiler, Arie van Deursen, Margaret-Anne D. Storey |
ICST | 3 |
| 2013 | Blogging developer knowledge: Motivations, challenges, and future directionsabstractWhy do software developers place so much effort into writing public blog posts about their knowledge, experiences, and opinions on software development? What are the benefits, problems, and tools needed-what can the research community do to help? In this paper, we describe a research agenda aimed at understanding the motivations and issues of software development blogging. We interviewed developers as well as mined and analyzed their blog posts. For this initial study, we selected developers from various backgrounds: IDE plugin development, mobile development, and web development. We found that developers used blogging for a variety of functions such as documentation, technology discussion, and announcing progress. They were motivated by a variety of reasons such as personal branding, knowledge retention, and feedback. Among the challenges for blog authors identified in our initial study, we found primitive tool support, difficulty recreating and recalling recent development experiences, and management of blog comments. Finally, many developers expressed that the motivations and benefits they received for blogging in public did not directly translate to corporate settings. Chris Parnin, Christoph Treude, Margaret-Anne D. Storey |
ICPC | 3 |
| 2013 | Fixing the 'out of sight out of mind' problem: one year of mood-based microblogging in a distributed software teamabstractDistributed teams face the challenge of staying connected. How do team members stay connected when they no longer see each other on a daily basis? What should be done when there is no coffee corner to share your latest exploits? In this paper we evaluate a microblogging system which makes this possible in a distributed setting. The system, WeHomer, enables the sharing of information and corresponding emotions in a fully distributed organization. We analyzed the content of over a year of usage data by 19 team members in a structured fashion, performed 5 semi-structured interviews and report our findings in this paper. We draw conclusions about the topics shared, the impact on software teams and the impact of distribution and team composition. Main findings include an increase in team-connectedness and easier access to information that is traditionally harder to consistently acquire. Kevin Dullemond, Ben van Gameren, Margaret-Anne D. Storey, Arie van Deursen |
MSR | 3 |
| 2013 | Strategies for avoiding text fixture smells during software evolutionabstractAn important challenge in creating automated tests is how to design test fixtures, i.e., the setup code that initializes the system under test before actual automated testing can start. Test designers have to choose between different approaches for the setup, trading off maintenance overhead with slow test execution. Over time, test code quality can erode and test smells can develop, such as the occurrence of overly general fixtures, obscure inline code and dead fields. In this paper, we investigate how fixture-related test smells evolve over time by analyzing several thousand revisions of five open source systems. Our findings indicate that setup management strategies strongly influence the types of test fixture smells that emerge in code, and that several types of fixture smells often emerge at the same time. Based on this information, we recommend important guidelines for setup strategies, and suggest how tool support can be improved to help in both avoiding the emergence of such smells as well as how to refactor code when test smells do appear. Michaela Greiler, Andy Zaidman, Arie van Deursen, Margaret-Anne D. Storey |
MSR | 4 |
| 2013 | Indented Tree or Graph? A Usability Study of Ontology Visualization Techniques in the Context of Class Mapping Evaluation
Bo Fu 0005, Natasha F. Noy, Margaret-Anne D. Storey |
ISWC (1) | 3 |
| 2013 | Understanding Ajax applications by connecting client and server-side execution tracesabstractAjax-enabled Web applications are a new breed of highly interactive, highly dynamic Web applications. Although Ajax allows developers to create rich Web applications, Ajax applications can be difficult to comprehend and thus to maintain. For this reason, we have created FireDetective, a tool that uses dynamic analysis at both the client (browser) and server-side to facilitate the understanding of Ajax applications. We evaluate FireDetective using (1) a pretest-posttest user study and (2) a field user study. Preliminary evidence shows that the FireDetective tool is an effective aid for Web developers striving to understand Ajax applications. Andy Zaidman, Nick Matthijssen, Margaret-Anne D. Storey, Arie van Deursen |
Empir. Softw. Eng. | 3 |
| 2012 | Test confessions: A study of testing practices for plug-in systemsabstractTesting plug-in-based systems is challenging due to complex interactions among many different plug-ins, and variations in version and configuration. The objective of this paper is to increase our understanding of what testers and developers think and do when it comes to testing plug-in-based systems. To that end, we conduct a qualitative (grounded theory) study, in which we interview 25 senior practitioners about how they test plug-in applications based on the Eclipse plug-in architecture. The outcome is an overview of the testing practices currently used, a set of identified barriers limiting test adoption, and an explanation of how limited testing is compensated by self-hosting of projects and by involving the community. These results are supported by a structured survey of more than 150 professionals. The study reveals that unit testing plays a key role, whereas plug-in specific integration problems are identified and resolved by the community. Based on our findings, we propose a series of recommendations and areas for future research. Michaela Greiler, Arie van Deursen, Margaret-Anne D. Storey |
ICSE | 3 |
| 2012 | WorkItemExplorer: Visualizing software development tasks using an interactive exploration environmentabstractThis demo introduces WorkItemExplorer, an interactive environment to visually explore data from software development tasks. WorkItemExplorer enables developers and managers to investigate activity and correlations in their task management system by making data exploration flexible and interactive, and by utilizing multiple coordinated views. Our preliminary evaluation shows that WorkItemExplorer is able to answer questions that developers ask, while also enabling them to gain new insights through the free exploration of data. Christoph Treude, Patrick Gorman, Lars Grammel, Margaret-Anne D. Storey |
ICSE | 4 |
| 2012 | MSR 2012 keynote: The evolution of the social programmerabstractSummary form only given. Software architecture is a complex domain and one of the cornerstones to successful software development. The complexity appears in learning and teaching as well as in real-life projects, where architectural thinking emerges as a process of life-long learning. In order to develop a structured and comprehensive architectural awareness, we present an explanatory model for dealing with architecture. Margaret-Anne D. Storey |
MSR | 1 |
| 2012 | Addressing Cognitive and Social Challenges in Designing and Using Ontologies in the Biomedical Domain
Margaret-Anne D. Storey |
SLE | 1 |
| 2012 | The National Center for Biomedical OntologyabstractThe National Center for Biomedical Ontology is now in its seventh year. The goals of this National Center for Biomedical Computing are to: create and maintain a repository of biomedical ontologies and terminologies; build tools and web services to enable the use of ontologies and terminologies in clinical and translational research; educate their trainees and the scientific community broadly about biomedical ontology and ontology-based technology and best practices; and collaborate with a variety of groups who develop and use ontologies and terminologies in biomedicine. The centerpiece of the National Center for Biomedical Ontology is a web-based resource known as BioPortal. BioPortal makes available for research in computationally useful forms more than 270 of the world's biomedical ontologies and terminologies, and supports a wide range of web services that enable investigators to use the ontologies to annotate and retrieve data, to generate value sets and special-purpose lexicons, and to perform advanced analytics on a wide range of biomedical data. Mark A. Musen, Natasha F. Noy, Nigam H. Shah, Patricia L. Whetzel, Christopher G. Chute, Margaret-Anne D. Storey, Barry Smith 0001 |
J. Am. Medical Informatics Assoc. | 6 |
| 2012 | Work Item Tagging: Communicating Concerns in Collaborative Software DevelopmentabstractIn collaborative software development projects, work items are used as a mechanism to coordinate tasks and track shared development work. In this paper, we explore how “tagging,” a lightweight social computing mechanism, is used to communicate matters of concern in the management of development tasks. We present the results from two empirical studies over 36 and 12 months, respectively, on how tagging has been adopted and what role it plays in the development processes of several professional development projects with more than 1,000 developers in total. Our research shows that the tagging mechanism was eagerly adopted by the teams, and that it has become a significant part of many informal processes. Different kinds of tags are used by various stakeholders to categorize and organize work items. The tags are used to support finding of tasks, articulation work, and information exchange. Implicit and explicit mechanisms have evolved to manage the tag vocabulary. Our findings indicate that lightweight informal tool support, prevalent in the social computing domain, may play an important role in improving team-based software development practices. Christoph Treude, Margaret-Anne D. Storey |
IEEE Trans. Software Eng. | 2 |
| 2011 | Workshop on flexible modeling tools: (FlexiTools 2011)abstractModeling tools are often not used for tasks during the software lifecycle for which they should be more helpful; instead free-from approaches, such as office tools and white boards, are frequently used. Prior workshops explored why this is the case and what might be done about it. The goal of this workshop is to continue those discussions and also to form an initial set of challenge problems and research challenges that researchers and developers of flexible modeling tools should address. Harold Ossher, André van der Hoek, Margaret-Anne D. Storey, John C. Grundy, Rachel K. E. Bellamy, Marian Petre |
ICSE | 3 |
| 2011 | Understanding broadcast based peer review on open source software projectsabstractSoftware peer review has proven to be a successful technique in open source software (OSS) development. In contrast to industry, where reviews are typically assigned to specific individuals, changes are broadcast to hundreds of potentially interested stakeholders. Despite concerns that reviews may be ignored, or that discussions will deadlock because too many uninformed stakeholders are involved, we find that this approach works well in practice. In this paper, we describe an empirical study to investigate the mechanisms and behaviours that developers use to find code changes they are competent to review. We also explore how stakeholders interact with one another during the review process. We manually examine hundreds of reviews across five high profile OSS projects. Our findings provide insights into the simple, community-wide techniques that developers use to effectively manage large quantities of reviews. The themes that emerge from our study are enriched and validated by interviewing long-serving core developers. Peter C. Rigby, Margaret-Anne D. Storey |
ICSE | 2 |
| 2011 | How do programmers ask and answer questions on the web?abstractQuestion and Answer (Q&A) websites, such as Stack Overflow, use social media to facilitate knowledge exchange between programmers and fill archives with millions of entries that contribute to the body of knowledge in software development. Understanding the role of Q&A websites in the documentation landscape will enable us to make recommendations on how individuals and companies can leverage this knowledge effectively. In this paper, we analyze data from Stack Overflow to categorize the kinds of questions that are asked, and to explore which questions are answered well and which ones remain unanswered. Our preliminary findings indicate that Q&A websites are particularly effective at code reviews and conceptual questions. We pose research questions and suggest future work to explore the motivations of programmers that contribute to Q&A websites, and to understand the implications of turning Q&A exchanges into technical mini-blogs through the editing of questions and answers. Christoph Treude, Ohad Barzilay, Margaret-Anne D. Storey |
ICSE | 3 |
| 2011 | Second international workshop on web 2.0 for software engineering: (Web2SE 2011)abstractSocial software is built around an "architecture of participation" where user data is aggregated as a side-effect of using Web 2.0 applications. Web 2.0 implies that processes and tools are socially open, and that content can be used in several different contexts. Web 2.0 tools and technologies support interactive information sharing, data interoperability and user centered design. For instance, wikis, blogs, tags and feeds help us organize, manage and categorize content in an informal and collaborative way. Some of these technologies have made their way into collaborative software development processes and development platforms. These processes and environments are just scratching the surface of what can be done by incorporating Web 2.0 approaches and technologies into collaborative software development. Web 2.0 opens up new opportunities for developers to form teams and collaborate, but it also comes with challenges for developers and researchers. Web2SE aims to improve our understanding of how Web 2.0, manifested in technologies such as mashups or dashboards, can change the culture of collaborative software development. Christoph Treude, Margaret-Anne D. Storey, Arie van Deursen, Andrew Begel, Sue Black 0001 |
ICSE | 2 |
| 2011 | Invited TalkabstractSummary form only given, as follows. This invited talk was the winner of the "Most Influential Paper Award for IWPC2001." A decade ago, projects in the program comprehension community investigated how software visualization could enhance the exploration and navigation of large software systems. At IWPC in 2001, we demonstrated the SHriMP (Simple Hierarchical Multiple Perspective) visualization tool, which provided a navigable interface integrating a variety of graph-based layouts with hypertext versions of source code and documentation. At the time, there were a number of tools that shared some of SHriMP's features and researchers shared challenges when implementing these tools, as well as in understanding how they could evaluate these tools for future adoption. In this talk, I will review SHriMP's early features and demonstrate how the tool was eventually integrated with the Eclipse Integrated Development Environment. I will also discuss some of the successful and unsuccessful approaches we used to evaluate this and other visualization tools. I will conclude by discussing the many lessons we learned throughout the SHriMP research project, while highlighting some of the challenges that are still relevant in today's research. Margaret-Anne D. Storey |
ICPC | 1 |
| 2011 | Effective communication of software development knowledge through community portalsabstractKnowledge management plays an important role in many software organizations. Knowledge can be captured and distributed using a variety of media, including traditional help files and manuals, videos, technical articles, wikis, and blogs. In recent years, web-based community portals have emerged as an important mechanism for combining various communication channels. However, there is little advice on how they can be effectively deployed in a software project. Christoph Treude, Margaret-Anne D. Storey |
SIGSOFT FSE | 2 |
| 2011 | Erratum to "How Information Visualization Novices Construct Visualizations"
Lars Grammel, Melanie Tory, Margaret-Anne D. Storey |
IEEE Trans. Vis. Comput. Graph. | 3 |
| 2010 | A Visualization Service for the Semantic Web
Sean M. Falconer, Chris Callendar, Margaret-Anne D. Storey |
EKAW | 3 |
| 2010 | Ontology Development for the Masses: Creating ICD-11 in WebProtégé
Tania Tudorache, Sean M. Falconer, Natasha F. Noy, Csongor Nyulas, Tevfik Bedirhan Üstün, Margaret-Anne D. Storey, Mark A. Musen |
EKAW | 6 |
| 2010 | Flexible Modeling Tools (FlexiTools2010)abstractModeling tools are often not used for tasks during the software lifecycle for which they should be helpful; more free-from approaches, such as office tools and white boards, are frequently used instead. Why is this? What might be done to make modeling tools more suitable? What key research challenges must be overcome to achieve this? The goal of this workshop is to bring together people who understand the activities and needs of developers and other stakeholders throughout the software lifecycle, user interface design and tool infrastructure to explore these questions. Harold Ossher, André van der Hoek, Margaret-Anne D. Storey, John C. Grundy, Rachel K. E. Bellamy |
ICSE (2) | 3 |
| 2010 | Awareness 2.0: staying aware of projects, developers and tasks using dashboards and feedsabstractSoftware development teams need to maintain awareness of various different aspects ranging from overall project status and process bottlenecks to current tasks and incoming artifacts. Currently, there is a lack of theoretical foundations to guide tool selection and tool design to best support awareness tasks. In this paper, we explore how the combination of highly configurable project, team and contributor dashboards along with individual event feeds is used to accomplish extensive awareness. Our results stem from an empirical study of several large development teams, with a detailed study of a team of 150 developers and additional data from another four project teams. We present how dashboards become pivotal to task prioritization in critical project phases and how they stir competition while feeds are used for short term planning. Our findings indicate that the distinction between high-level and low-level awareness is often unclear and that integrated tooling could improve development practices. Christoph Treude, Margaret-Anne D. Storey |
ICSE (1) | 2 |
| 2010 | Bridging lightweight and heavyweight task organization: the role of tags in adopting new task categoriesabstractIn collaborative software development projects, tasks are often used as a mechanism to coordinate and track shared development work. Modern development environments provide explicit support for task management where tasks are typically organized and managed through predefined categories. Although there have been many studies that analyze data available from task management systems, there has been relatively little work on the design of task management tools. In this paper we explore how tagging with freely assigned keywords provides developers with a lightweight mechanism to further categorize and annotate development tasks. We investigate how tags that are frequently used over a long period of time reveal the need for additional predefined categories of keywords in task management tool support. Finally, we suggest future work to explore how integrated lightweight tool features in a development environment may improve software development practices. Christoph Treude, Margaret-Anne D. Storey |
ICSE (2) | 2 |
| 2010 | Web2SE: First Workshop on Web 2.0 for Software EngineeringabstractSocial software is built around an "architecture of participation" where user data is aggregated as a side-effect of using Web 2.0 applications. Web 2.0 implies that processes and tools are socially open, and that content can be used in several different contexts. Web 2.0 tools and technologies support interactive information sharing, data interoperability and user centered design. For instance, wikis, blogs, tags and feeds help us organize, manage and categorize content in an informal and collaborative way. One goal of this workshop is to investigate how these technologies can improve software development practices. Some of these technologies have made their way into collaborative software development processes such as Agile and Scrum, and in development platforms such as Rational Team Concert which draw their inspiration from Web 2.0. These processes and environments are just scratching the surface of what can be done by incorporating Web 2.0 approaches and technologies into collaborative software development. This workshop aims to improve our understanding of how Web 2.0, manifested in technologies such as mashups or dashboards, can change the culture of collaborative software development. Christoph Treude, Margaret-Anne D. Storey, Kate Ehrlich, Arie van Deursen |
ICSE (2) | 2 |
| 2010 | Connecting Traces: Understanding Client-Server Interactions in Ajax ApplicationsabstractAjax-enabled web applications are a new breed of highly interactive, highly dynamic web applications. Although Ajax allows developers to create rich web applications, Ajax applications can be difficult to comprehend and thus to maintain. For this reason, we have created FireDetective, a tool that uses dynamic analysis at both the client (browser) and server side to facilitate the understanding of Ajax applications. Using an exploratory pre-experimental user study, we see that web developers encounter problems when understanding Ajax applications. We also find preliminary evidence that the FireDetective tool allows web developers to understand Ajax applications more effectively, more efficiently and with more confidence. Nick Matthijssen, Andy Zaidman, Margaret-Anne D. Storey, R. Ian Bull, Arie van Deursen |
ICPC | 3 |
| 2010 | A comparative exploration of FreeBSD bug lifetimesabstractIn this paper, we explore the viability of mining the basic data provided in bug repositories to predict bug lifetimes. We follow the method of Lucas D. Panjer as described in his paper, Predicting Eclipse Bug Lifetimes. However, in place of Eclipse data, the FreeBSD bug repository is used. We compare the predictive accuracy of five different classification algorithms applied to the two data sets. In addition, we propose future work on whether there is a more informative way of classifying bugs than is considered by current bug tracking systems. Gargi Bougie, Christoph Treude, Daniel M. Germán, Margaret-Anne D. Storey |
MSR | 4 |
| 2010 | Using dynamic analysis to create trace-focused user interfaces for IDEsabstractThis research demonstration presents the tool, Dynamic Interactive Views for Reverse Engineering (Diver). Diver supports software understanding through a trace focused user interface. The trace focused user interface is a method of re-organizing the user interface of integrated development environments so that developers can focus their attention on artifacts related to the run-time behaviour of the software that they are investigating. The tool combines concepts from research in software visualization, dynamic analysis, software reconnaissance, and task focused user interfaces. Del Myers, Margaret-Anne D. Storey |
SIGSOFT FSE | 2 |
| 2010 | How Information Visualization Novices Construct VisualizationsabstractIt remains challenging for information visualization novices to rapidly construct visualizations during exploratory data analysis. We conducted an exploratory laboratory study in which information visualization novices explored fictitious sales data by communicating visualization specifications to a human mediator, who rapidly constructed the visualizations using commercial visualization software. We found that three activities were central to the iterative visualization construction process: data attribute selection, visual template selection, and visual mapping specification. The major barriers faced by the participants were translating questions into data attributes, designing visual mappings, and interpreting the visualizations. Partial specification was common, and the participants used simple heuristics and preferred visualizations they were already familiar with, such as bar, line and pie charts. We derived abstract models from our observations that describe barriers in the data exploration process and uncovered how information visualization novices think about visualization specifications. Our findings support the need for tools that suggest potential visualizations and support iterative refinement, that provide explanations and help with learning, and that are tightly integrated into tool support for the overall visual analytics process. Lars Grammel, Melanie Tory, Margaret-Anne D. Storey |
IEEE Trans. Vis. Comput. Graph. | 3 |
| 2009 | Creating Visualizations through Ontology MappingabstractWe explore how to support the creation of customized visualizations of ontology instance data through the specification of ontology mappings. We combine technologies from the disciplines of software modeling and ontology engineering. The feasibility of our approach is demonstrated by extending an existing ontology mapping tool, CogZ, to translate ontology mappings into software model transformation rules. The tool uses these transformations to automatically convert domain instance data into data that conforms to a model describing a visualization. After this transformation, a visualization of the domain instance data is generated. Sean M. Falconer, R. Ian Bull, Lars Grammel, Margaret-Anne D. Storey |
CISIS | 4 |
| 2009 | How tagging helps bridge the gap between social and technical aspects in software developmentabstractEmpirical research on collaborative software development practices indicates that technical and social aspects of software development are often intertwined. The processes followed are tacit and constantly evolving, thus not all of them are amenable to formal tool support. In this paper, we explore how ldquotaggingrdquo, a lightweight social computing mechanism, is used to bridge the gap between technical and social aspects of managing work items. We present the results from an empirical study on how tagging has been adopted and adapted over the past two years of a large project with 175 developers. Our research shows that the tagging mechanism was eagerly adopted by the team, and that it has become a significant part of many informal processes. Our findings indicate that lightweight informal tool support, prevalent in the social computing domain, may play an important role in improving team-based software development practices. Christoph Treude, Margaret-Anne D. Storey |
ICSE | 2 |
| 2009 | ConcernLines: A timeline view of co-occurring concernsabstractUnderstanding the evolution of a software system requires understanding how information about the release history, non-functional requirements and project milestones relates to functional requirements on the software components. This short paper describes a new tool, called CONCERNLINES, that supports this cognitive process by visualizing co-occurring concerns over time. Christoph Treude, Margaret-Anne D. Storey |
ICSE | 2 |
| 2009 | Using a degree of interest model to facilitate ontology navigationabstractUnderstanding and maintaining the structure of large ontologies is a cognitively demanding task. Visualizations are commonly used as a cognitive aid for presenting large ontologies and instance data. One challenge with these visual techniques is that the generated views are often very dense and complex. It is difficult for users to navigate to concepts within the overall structure that meet the needs of the current task. In this paper, we present our work towards understanding the cognitive support requirements for navigating ontologies and our application of these requirements to the design of a plugin for the popular ontology editor Protege. Tricia d'Entremont, Margaret-Anne D. Storey |
VL/HCC | 2 |
| 2009 | How Software Developers Use Tagging to Support Reminding and RefindingabstractDevelopers frequently add annotations to source code to help them remember pertinent information and mark locations of interest for future investigation. Finding and refinding these notes is a form of navigation that is integral to software maintenance. Although there is some tool support in modern development environments for authoring and navigating these comments, we have observed that these annotations often fail to remind and are sometimes difficult to find by the programmer. To address these shortcomings, we have designed a new approach for software navigation called tags for software engineering activities (TagSEA). TagSEA combines the notion of waypointing (a mechanism for marking locations in spatial navigation) with social tagging to support programmers in defining semantically rich annotations to source code comments. The tool provides support for creating, editing, navigating, and managing these annotations. We present the results from two empirical studies, where we observed and then analyzed how professional programmers used source code annotations to support their development activities over 24 months. Our findings indicate that the addition of semantic information to annotations can improve their value. We also provide suggestions on how annotation tools in general may be improved. Margaret-Anne D. Storey, Jody Ryall, Janice Singer, Del Myers, Li-Te Cheng, Michael J. Muller |
IEEE Trans. Software Eng. | 1 |
| 2008 | An Interactive Tool for Visualizing Design Heterogeneity in Clinical Trials
Maria-Elena Hernandez, Simona Carini, Margaret-Anne D. Storey, Ida Sim |
AMIA | 3 |
| 2008 | Open source software peer review practices: a case study of the apache serverabstractPeer review is seen as an important quality assurance mechanism in both industrial development and the open source software (OSS) community. The techniques for performing inspections have been well studied in industry; in OSS development, peer reviews are less well understood. We examine the two peer review techniques used by the successful, mature Apache server project: review-then-commit and commit-then-review. Using archival records of email discussion and version control repositories, we construct a series of metrics that produces measures similar to those used in traditional inspection experiments. Specifically, we measure the frequency of review, the level of participation in reviews, the size of the artifact under review, the calendar time to perform a review, and the number of reviews that find defects. We provide a comparison of the two Apache review techniques as well as a comparison of Apache review to inspection in an industrial project. We conclude that Apache reviews can be described as (1) early, frequent reviews (2) of small, independent, complete contributions (3) conducted asynchronously by a potentially large, but actually small, group of self-selected experts (4) leading to an efficient and effective peer review technique. Peter C. Rigby, Daniel M. Germán, Margaret-Anne D. Storey |
ICSE | 3 |
| 2008 | TODO or to bug: exploring how task annotations play a role in the work practices of software developersabstractSoftware development is a highly collaborative activity that requires teams of developers to continually manage and coordinate their programming tasks. In this paper, we describe an empirical study that explored how task annotations embedded within the source code play a role in how software developers manage personal and team tasks. We present findings gathered by combining results from a survey of professional software developers, an analysis of code from open source projects, and interviews with software developers. Our findings help us describe how task annotations can be used to support a variety of activities fundamental to articulation work within software development. We describe how task management is negotiated between the more formal issue tracking systems and the informal annotations that programmers write within their source code. We report that annotations have different meanings and are dependent on individual, team and community use. We also present a number of issues related to managing annotations, which may have negative implications for maintenance. We conclude with insights into how these findings could be used to improve tool support and software process. Margaret-Anne D. Storey, Jody Ryall, R. Ian Bull, Del Myers, Janice Singer |
ICSE | 1 |
| 2008 | Task articulation in software maintenance: Integrating source code annotations with an issue tracking systemabstractManaging and articulating development tasks is an important aspect of software maintenance. Developers already have a variety of specialty tools to support task management, for example, issue tracking and configuration management software, but they also make use of other tools within their software engineering environments to support software task management. An example of one such mechanism is the appropriation of source code comments to document finer grained details of formally specified tasks. In this research, we propose and present a tool that integrates these source code annotations with an issue tracking management system. We describe how this tool addresses deficiencies that occur in task management and propose future research to improve task management. John Anvik, Margaret-Anne D. Storey |
ICSM | 2 |
| 2008 | A survey and evaluation of tool features for understanding reverse-engineered sequence diagramsabstractAbstract Sequence diagrams can be valuable aids to software understanding. However, they can be extremely large and hard to understand in spite of using modern tool support. Consequently, providing the right set of tool features is important if the tools are to help rather than hinder the user. This paper surveys research and commercial sequence diagram tools to determine the features they provide to support program understanding. Although there has been significant effort in developing these tools, many of them have not been evaluated using human subjects. To begin to address this gap, a preliminary study was performed with a specially designed sequence diagram tool that implements the features found during the survey. On the basis of an analysis of the study results, we discuss the features that were found to be useful and relate these to the tasks performed. It concludes by proposing how future tools can be improved to better support the exploration of large sequence diagrams. Copyright © 2008 Crown in the right of Canada. Published by John Wiley & Sons, Ltd. Chris Bennett, Del Myers, Margaret-Anne D. Storey, Daniel M. Germán, D. Ouellet, Martin Salois, Philippe Charland |
J. Softw. Maintenance Res. Pract. | 3 |
| 2007 | Navigating documents using ontologies, taxonomies and folksonomiesabstractNavigating computer-based information landscapes can be a challenging task for humans in almost any knowledge domain. Most documentation spaces are large, complex and ever-changing, which creates a significant cognitive burden on the end-user. Effective tool support can help orient the user and guide them to an appropriate place in the information space. In our research, we have been investigating how visualization tools can support navigation by leveraging the standard and folk classification systems that are embedded in information spaces. We have focused on two specific domains where navigating information can pose challenges: medical informatics and software engineering. Margaret-Anne D. Storey |
ACM Symposium on Document Engineering | 1 |
| 2007 | Presentations by Programmers for ProgrammersabstractA common form of live technical presentation is that given by programmers for a programming audience during conferences, demonstrations, code reviews, and tutorials. Such presentations require manual switching between general presentation software and the integrated development environment (IDE), as well as reconfiguration of the IDE's UI to be readable by an audience. In this paper, we present a novel system that allows programmers to easily combine traditional slideware with seamless transitions to user-specified regions of the IDE along with special effects for live demonstration. Li-Te Cheng, Michael Desmond, Margaret-Anne D. Storey |
ICSE | 3 |
| 2007 | How Programmers Can Turn Comments into Waypoints for Code NavigationabstractWe have developed a new approach for software navigation called TagSEA (Tagging of Software Engineering Activities). TagSEA combines the notion of "waypointing" with "social tagging" to support programmers in defining navigational structures over a software system. In this paper we present the results from a case study series, conducted with professional programmers, that demonstrates how this tool supports navigation and under what circumstances. We conclude with insights into user-definable navigational structures, and how they can support software maintenance more effectively. Margaret-Anne D. Storey, Li-Te Cheng, Janice Singer, Michael J. Muller, Del Myers, Jody Ryall |
ICSM | 1 |
| 2007 | Automated clustering to support the reflexion method
Andreas Christl, Rainer Koschke, Margaret-Anne D. Storey |
Inf. Softw. Technol. | 3 |
| 2007 | Toward understanding the importance of gesture in distributed scientific collaboration
Brian Corrie, Margaret-Anne D. Storey |
Knowl. Inf. Syst. | 2 |
| 2006 | Shared waypoints and social tagging to support collaboration in software developmentabstractThis paper presents the conceptual design of TagSEA, a collaborative tool to support asynchronous software development. Our goal is to develop a lightweight source code annotation tool that enhances navigation, coordination, and capture of knowledge relevant to a software development team. Our design is inspired by combining "waypoints" from geographical navigation with "social tagging" from social bookmarking software to support coordination and communication among software developers. We describe the motivation behind this work, walk through the design and implementation, and report early feedback on how this lightweight tool supports collaborative software engineering activities. Finally, we suggest a number of new research directions that this topic exposes. Margaret-Anne D. Storey, Li-Te Cheng, R. Ian Bull, Peter C. Rigby |
CSCW | 1 |
| 2006 | A comparison of communication technologies to support novice team programmingabstractThis paper describes an initial investigation of how different conditions for conducting a team programming exercise impact learning. We conducted a series of in-depth case studies on the use of various communication technologies and compared them with face-to-face case studies of team programming. We explored how these communication technologies can help improve students' learning. We summarize the findings from these studies and give guidance to instructors and to tool designers on how future tools can be improved to support collaborative learning in team programming. Davor Cubranic, Margaret-Anne D. Storey, Jody Ryall |
ICSE | 2 |
| 2006 | An Architecture to Support Model Driven Software VisualizationabstractProgram comprehension tools are a valuable resource for navigating and understanding large software systems. Package explorers, fan-in/fan-out views, dependency graphs and coverage analysis are example contributions from the program comprehension community. While many of these research projects have lead to exciting enhancements in our field, many other projects have failed to be adopted because of poor interface design or lack of integration with existing tools. Designing, building, integrating and evaluating interfaces is a challenge to software engineering researchers. In this paper we borrow from the field of model driven engineering (MDE) to assist with the creation of highly customizable interfaces for software visualization. MDE moves the level of abstraction from implementation to design, and help improve the efficiency of building software visualizations. By moving away from implementation details, and providing researchers with the ability to customize their visualizations in an efficient manner, software engineers have more resources to design and evaluate their ideas R. Ian Bull, Margaret-Anne D. Storey, Jean-Marie Favre, Marin Litoiu |
ICPC | 2 |
| 2006 | Fluid Source Code ViewsabstractFluid documents enable the interactive incorporation of related material into a primary document. Visual cues within primary material indicate that related content is available and user interaction reveals related content in context. Fluid documents reduce the need for explicit navigation, maintain context when considering related material and support synthesization of disjoint yet related information. Source code documents are an excellent medium for the application of fluid document technology. The definition of software in the form of text based documents manifests a highly linked and fragmented information space requiring considerable navigation between elements during code examination and comprehension. In this paper we present fluid source code views, the application of fluid document technology to source code documents Michael Desmond, Margaret-Anne D. Storey, Christopher Exton |
ICPC | 2 |
| 2006 | Theories, tools and research methods in program comprehension: past, present and future
Margaret-Anne D. Storey |
Softw. Qual. J. | 1 |
| 2005 | Collaboration support for novice team programmingabstractLearning computer programming in a modern university course is rarely an individual activity; however, IDEs used in introductory programming classes do not support collaboration at a level appropriate for novices. The goal of our research is to make it easier for first-year students to experience working in a team in their programming assignments. Based on our previous work developing and evaluating IDEs for novice programmers, we have identified two main areas of required functionality: 1) features for code sharing and coordination; and 2) features to support communication. We have extended an existing teaching-oriented integrated development environment (called Gild) with features to support code sharing and coordination. We report on a preliminary study in which pairs of students used a prototype of our collaborative IDE to work on a programming assignment. The goals of this study were to evaluate the effectiveness and usability of the new features and to determine requirements for future communication support. Davor Cubranic, Margaret-Anne D. Storey |
GROUP | 2 |
| 2005 | NavTracks: Supporting Navigation in Software MaintenanceabstractIn this paper, we present NavTracks, a tool that supports browsing through software. NavTracks keeps track of the navigation history of software developers, forming associations between related files. These associations are then used as the basis for recommending potentially related files as a developer navigates the software system. We present the reasoning behind NavTracks, its basic algorithm, a case study, and propose some future work. Janice Singer, Robert Elves, Margaret-Anne D. Storey |
ICSM | 3 |
| 2005 | Cognitive support for ontology modeling
Neil A. Ernst, Margaret-Anne D. Storey, Polly Allen |
Int. J. Hum. Comput. Stud. | 2 |
| 2004 | Improving Flow in Software Development Through Graphical Representations
Margaret-Anne D. Storey |
ICGT | 1 |
| 2004 | 4th International Workshop on Adoption-Centric Software Engineering
Robert Balzer, Marin Litoiu, Hausi A. Müller, Dennis B. Smith, Margaret-Anne D. Storey, Scott R. Tilley, Kenny Wong |
ICSE | 5 |
| 2004 | Improving Flow in Software Development through Graphical RepresentationsabstractSoftware development is both a challenging and highly enjoyable activity. The right tools enhance the creative process and improve quality. There are many sophisticated industrial tools to support programmers. Many of these tools use simple, yet highly effective, graphical aids to enhance program understanding tasks. However, a programmer's sense of creativity and achievement is often hampered by tools that do not appropriately support their work. For example, the inability to find a file, program artifact or feature in the environment can be very disruptive. Moreover, many industrial tools lack advanced graphical features that could improve navigation in, and comprehension of, large programs. In this presentation, the author borrowed one such theory called "flow - the psychology of optimal experience" to offer rich explanations for the existence of many typical software tool features. Practical applications of this theory include the identification of areas for improvements in tool support. Specifically, the author focuses on how interactive graphical representations, developed in academia, can help improve "flow" for programmers using industrial development tools Margaret-Anne D. Storey |
VL/HCC | 1 |
| 2003 | 3rd International Workshop on Adoption-centric Software Engineering ACSE 2003abstractThe key objective of this workshop is to explore innovative approaches to the adoption of software engineering tools and practices-in particular by embedding them in extensions of Commercial Off-The-Shelf (COTS) software products and/or middleware technologies. The workshop aims to advance the understanding and evaluation of adoption of software engineering tools and practices by bringing together researchers and practitioners who investigate novel solutions to software engineering adoption issues. Robert Balzer, Jens H. Weber, Marin Litoiu, Hausi A. Müller, Dennis B. Smith, Margaret-Anne D. Storey, Scott R. Tilley, Kenny Wong |
ICSE | 6 |
| 2003 | The Role of Knowledge in Software Customization
Jeff Michaud, Margaret-Anne D. Storey |
SEKE | 2 |
| 2002 | Jambalaya: an interactive environment for exploring ontologiesabstractNo abstract available. Margaret-Anne D. Storey, Natasha F. Noy, Mark A. Musen, Casey Best, Ray W. Fergerson, Neil A. Ernst |
IUI | 1 |
| 2002 | On the Use of Visualization in Formal Requirements SpecificationabstractA limiting factor in the industrial acceptance of formal specifications is their readability, particularly for large, complex engineering systems. We hypothesize that multiple visualizations generated from a common model will improve the, requirements creation, reviewing and understanding, process. Visual representations, when effective, provide cognitive support by highlighting the most relevant interactions and aspects of a specification for a particular use. In this paper, we propose a taxonomy and some preliminary principles for designing visual representations of formal specifications. The taxonomy and principles are illustrated by sample visualizations we created while trying to understand a formal specification of the MD-11 flight management system. Nicolas Dulac, Thomas Viguier, Nancy G. Leveson, Margaret-Anne D. Storey |
RE | 4 |
| 2002 | Designing a component-based framework for visualization in software engineering and knowledge engineeringabstractThis paper describes our experiences reengineering a visualization tool (SHriMP) into a component-based framework for visualizing software engineering and knowledge engineering projects. The framework is domain independent, customizable and supports multiple methods of integration with other tools. We share with the reader the successes and failures we encountered throughout this reengineering endeavor. We also describe how we have integrated the SHriMP framework with a knowledge management tool called Protégé and with other software engineering environments. We believe that these lessons will be valuable to tool designers in many domains wishing to use a component-based framework architecture. By using a framework of reusable components, we have been able to reap the benefits of the shared insights in visualization from these two closely related domains. Casey Best, Margaret-Anne D. Storey, Jeff Michaud |
SEKE | 2 |
| 2001 | Integrating Information Sources for Visualizing Java ProgramsabstractThe paper describes the integration of information sources to support the exploration of source code and documentation of Java programs. There are many public domain tools that are available for extracting information and documentation from Java programs. We describe how data integration and presentation integration were used to enable the visualization of this information within a software exploration environment. Jeff Michaud, Margaret-Anne D. Storey, Hausi A. Müller |
ICSM | 2 |
| 2001 | Beg, Borrow, or Steal: Using Multidisciplinary Approaches in Empirical Software Engineering Research
Susan Elliott Sim, Janice Singer, Margaret-Anne D. Storey |
Empir. Softw. Eng. | 3 |
| 2001 | Is it Ethical to Evaluate Web-based Learning Tools using Students?
Margaret-Anne D. Storey, B. Phillips, Mechthild Maczewski |
Empir. Softw. Eng. | 1 |
| 2000 | Beg, borrow, or steal (workshop session): using multidisciplinary approaches in empirical software engineering researchabstractThe goal of this workshop is to provide an interactive forum for software engineers and empirical researchers to investigate the feasibility of applying proven methods from other research disciplines to software engineering research. Participants submitted position papers describing problems that might benefit from a multidisciplinary approach. Expert guest speakers from software engineering and other disciplines will address the issues highlighted in the papers with the goal of encouraging more multidisciplinary research. Janice Singer, Margaret-Anne D. Storey, Susan Elliott Sim |
ICSE | 2 |
| 2000 | How do program understanding tools affect how programmers understand programs?
Margaret-Anne D. Storey, Kenny Wong, Hausi A. Müller |
Sci. Comput. Program. | 1 |
| 1999 | Cognitive design elements to support the construction of a mental model during software exploration
Margaret-Anne D. Storey, F. David Fracchia, Hausi A. Müller |
J. Syst. Softw. | 1 |
| 1997 | Rigi: A Visualization Environment for Reverse EngineeringabstractNo abstract available. Margaret-Anne D. Storey, Kenny Wong, Hausi A. Müller |
ICSE | 1 |
| 1997 | Wrapping coarse-grained objects using standard infrastructure technologyabstractThere are two basic approaches to migrating a particular subsystem: reengineering and wrapping. The author considers coarse-grained object wrapping. In wrapping, the original subsystem is essentially integrated into the new setting using infrastructure technologies. Legacy systems that have evolved over many years are notoriously difficult to decompose. Wrapping is most effective if the legacy system can be decomposed into a few large chunks where the number of communication paths among subsystems is minimized. The author discusses the use of infrastructure technology such as CORBA (Common Object Request Broker Architecture) Hausi A. Müller, Kenny Wong, Margaret-Anne D. Storey |
ICSM | 3 |
| 1995 | Graph Layout Adjustment Strategies
Margaret-Anne D. Storey, Hausi A. Müller |
GD | 1 |
| 1995 | Manipulating and documenting software structures using SHriMP viewsabstractAn effective approach to program understanding involves browsing, exploring, and creating views that document software structures at different levels of abstraction. While exploring the myriad of relationships in a multi-million line legacy system, one can easily loose context. One approach to alleviate this problem is to visualize these structures using fisheye techniques. This paper introduces Simple Hierarchical Multi-Perspective views (SHriMPs). The SHriMP visualization technique has been incorporated into the Rigi reverse engineering system. This greatly enhances Rigi's capabilities for documenting design patterns and architectural diagrams that span multiple levels of abstraction. The applicability and usefulness of SHriMPs is illustrated with selected program understanding tasks. Margaret-Anne D. Storey, Hausi A. Müller |
ICSM | 1 |
| 1994 | Programmable Reverse EngineeringabstractProgram understanding can be enhanced using reverse engineering technologies. The understanding process is heavily dependent on both individuals and their specific cognitive abilities, and on the set of facilities provided by the program understanding environment. Unfortunately, most reverse engineering tools provide a fixed palette of extraction, selection, and organization techniques. This paper describes a programmable approach to reverse engineering. The approach uses a scripting language that enables users to write their own routines for common reverse engineering activities, such as graph layout, metrics, and subsystem decomposition, thereby extending the capabilities of the reverse engineering toolset to better suit their needs. A programmable environment supported by this approach subsumes existing reverse engineering systems by being able to simulate facets of each one. Scott R. Tilley, Kenny Wong, Margaret-Anne D. Storey, Hausi A. Müller |
Int. J. Softw. Eng. Knowl. Eng. | 3 |