Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Kevin A. Schneider is active.

Publication


Featured researches published by Kevin A. Schneider.


conference on computer supported cooperative work | 2004

Group awareness in distributed software development

Carl Gutwin; Reagan Penner; Kevin A. Schneider

Open-source software development projects are almost always collaborative and distributed. Despite the difficulties imposed by distance, these projects have managed to produce large, complex, and successful systems. However, there is still little known about how open-source teams manage their collaboration. In this paper we look at one aspect of this issue: how distributed developers maintain group awareness. We interviewed developers, read project communication, and looked at project artifacts from three successful open source projects. We found that distributed developers do need to maintain awareness of one another, and that they maintain both a general awareness of the entire team and more detailed knowledge of people that they plan to work with. Although there are several sources of information, this awareness is maintained primarily through text-based communication (mailing lists and chat systems). These textual channels have several characteristics that help to support the maintenance of awareness, as long as developers are committed to reading the lists and to making their project communication public.


Information & Software Technology | 2002

Source transformation in software engineering using the TXL transformation system

James R. Cordy; Thomas R. Dean; Andrew J. Malton; Kevin A. Schneider

Abstract Many tasks in software engineering can be characterized as source to source transformations. Design recovery, software restructuring, forward engineering, language translation, platform migration, and code reuse can all be understood as transformations from one source text to another. The tree transformation language, TXL, is a programming language and rapid prototyping system specifically designed to support rule-based source to source transformation. Originally conceived as a tool for exploring programming language dialects, TXL has evolved into a general purpose source transformation system that has proven well suited to a wide range of software maintenance and reengineering tasks, including the design recovery, analysis and automated reprogramming of billions of lines of commercial Cobol, PL/I, and RPG code for the Year 2000. In this paper, we introduce the basic features of modern TXL and its use in a range of software engineering applications, with an emphasis on how each task can be achieved by source transformation.


international conference on requirements engineering | 2005

Requirements engineering and the creative process in the video game industry

Eric Neufeld; Kevin A. Schneider

The software engineering process in video game development is not clearly understood, hindering the development of reliable practices and processes for this field. An investigation of factors leading to success or failure in video game development suggests that many failures can be traced to problems with the transition from preproduction to production. Three examples, drawn from real video games, illustrate specific problems: 1) how to transform documentation from its preproduction form to a form that can be used as a basis for production;, 2) how to identify implied information in preproduction documents; and 3) how to apply domain knowledge without hindering the creative process. We identify 3 levels of implication and show that there is a strong correlation between experience and the ability to identify issues at each level. The accumulated evidence clearly identifies the need to extend traditional requirements engineering techniques to support the creative process in video game development.


mining software repositories | 2013

Answering questions about unanswered questions of Stack Overflow

Muhammad Asaduzzaman; Ahmed Shah Mashiyat; Chanchal K. Roy; Kevin A. Schneider

Community-based question answering services accumulate large volumes of knowledge through the voluntary services of people across the globe. Stack Overflow is an example of such a service that targets developers and software engineers. In general, questions in Stack Overflow are answered in a very short time. However, we found that the number of unanswered questions has increased significantly in the past two years. Understanding why questions remain unanswered can help information seekers improve the quality of their questions, increase their chances of getting answers, and better decide when to use Stack Overflow services. In this paper, we mine data on unanswered questions from Stack Overflow. We then conduct a qualitative study to categorize unanswered questions, which reveals characteristics that would be difficult to find otherwise. Finally, we conduct an experiment to determine whether we can predict how long a question will remain unanswered in Stack Overflow.


automated software engineering | 2003

Agile Parsing in TXL

Thomas R. Dean; James R. Cordy; Andrew J. Malton; Kevin A. Schneider

Syntactic analysis forms a foundation of many source analysis and reverse engineering tools. However, a single standard grammar is not always appropriate for all source analysis and manipulation tasks. Small custom modifications to the grammar can make the programs used to implement these tasks simpler, clearer and more efficient. This leads to a new paradigm for programming these tools: agile parsing. In agile parsing the effective grammar used by a particular tool is a combination of two parts: the standard base grammar for the input language, and a set of explicit grammar overrides that modify the parse to support the task at hand. This paper introduces the basic techniques of agile parsing in TXL and discusses several industry proven techniques for exploiting agile parsing in software source analysis and transformation.


acm symposium on applied computing | 2012

Comparative stability of cloned and non-cloned code: an empirical study

Manishankar Mondal; Chanchal K. Roy; Md. Saidur Rahman; Ripon K. Saha; Jens Krinke; Kevin A. Schneider

Code cloning is a controversial software engineering practice due to contradictory claims regarding its effect on software maintenance. Code stability is a recently introduced measurement technique that has been used to determine the impact of code cloning by quantifying the changeability of a code region. Although most of the existing stability analysis studies agree that cloned code is more stable than non-cloned code, the studies have two major flaws: (i) each study only considered a single stability measurement (e.g., lines of code changed, frequency of change, age of change); and, (ii) only a small number of subject systems were analyzed and these were of limited variety. In this paper, we present a comprehensive empirical study on code stability using three different stability measuring methods. We use a recently introduced hybrid clone detection tool, NiCAD, to detect the clones and analyze their stability in four dimensions: by clone type, by measuring method, by programming language, and by system size and age. Our four-dimensional investigation on 12 diverse subject systems written in three programming languages considering three clone types reveals that: (i) Type-1 and Type-2 clones are unstable, but Type-3 clones are not; (ii) clones in Java and C systems are not as stable as clones in C# systems; (iii) a systems development strategy might play a key role in defining its comparative code stability scenario; and, (iv) cloned and non-cloned regions of a subject system do not follow a consistent change pattern.


working conference on reverse engineering | 2011

On the Effectiveness of Simhash for Detecting Near-Miss Clones in Large Scale Software Systems

Md. Sharif Uddin; Chanchal K. Roy; Kevin A. Schneider; Abram Hindle

Clone detection techniques essentially cluster textually, syntactically and/or semantically similar code fragments in or across software systems. For large datasets, similarity identification is costly both in terms of time and memory, and especially so when detecting near-miss clones where lines could be modified, added and/or deleted in the copied fragments. The capability and effectiveness of a clone detection tool mostly depends on the code similarity measurement technique it uses. A variety of similarity measurement approaches have been used for clone detection, including fingerprint based approaches, which have had varying degrees of success notwithstanding some limitations. In this paper, we investigate the effectiveness of simhash, a state of the art fingerprint based data similarity measurement technique for detecting both exact and near-miss clones in large scale software systems. Our experimental data show that simhash is indeed effective in identifying various types of clones in a software system despite wide variations in experimental circumstances. The approach is also suitable as a core capability for building other tools, such as tools for: incremental clone detection, code searching, and clone management.


source code analysis and manipulation | 2010

Evaluating Code Clone Genealogies at Release Level: An Empirical Study

Ripon K. Saha; Muhammad Asaduzzaman; Minhaz F. Zibran; Chanchal K. Roy; Kevin A. Schneider

Code clone genealogies show how clone groups evolve with the evolution of the associated software system, and thus could provide important insights on the maintenance implications of clones. In this paper, we provide an in-depth empirical study for evaluating clone genealogies in evolving open source systems at the release level. We develop a clone genealogy extractor, examine 17 open source C, Java, C++ and C# systems of diverse varieties and study different dimensions of how clone groups evolve with the evolution of the software systems. Our study shows that majority of the clone groups of the clone genealogies either propagate without any syntactic changes or change consistently in the subsequent releases, and that many of the genealogies remain alive during the evolution. These findings seem to be consistent with the findings of a previous study that clones may not be as detrimental in software maintenance as believed to be (at least by many of us), and that instead of aggressively refactoring clones, we should possibly focus on tracking and managing clones during the evolution of software systems.


Archive | 2007

Task Models and Diagrams for Users Interface Design

Karin Coninx; Kris Luyten; Kevin A. Schneider

Invited Paper.- Meta-User Interfaces for Ambient Spaces.- Tool Support.- Tool Support for Handling Mapping Rules from Domain to Task Models.- Towards Visual Analysis of Usability Test Logs Using Task Models.- Model-Based Interface Development.- Dialog Modeling for Multiple Devices and Multiple Interaction Modalities.- Model-Based Support for Specifying eService eGovernment Applications.- A Model-Based Approach to Develop Interactive System Using IMML.- User Interface Patterns.- PIM Tool: Support for Pattern-Driven and Model-Based UI Development.- Pattern-Based UI Design: Adding Rigor with User and Context Variables.- Error Patterns: Systematic Investigation of Deviations in Task Models.- Using an Interaction-as-Conversation Diagram as a Glue Language for HCI Design Patterns on the Web.- Bridging the Gap: Driven by Models.- An MDA Approach for Generating Web Interfaces with UML ConcurTaskTrees and Canonical Abstract Prototypes.- High-Level Modeling of Multi-user Interactive Applications.- Goals: Interactive Multimedia Documents Modeling.- Task-Centered Design.- Using Task Models for Cascading Selective Undo.- Exploring Interaction Space as Abstraction Mechanism for Task-Based User Interface Design.- Multi-modal User Interfaces.- Comparing NiMMiT and Data-Driven Notations for Describing Multimodal Interaction.- Incorporating Tilt-Based Interaction in Multimodal User Interfaces for Mobile Devices.- An HCI Model for Usability of Sonification Applications.- Reflections on Tasks and Activities in Modeling.- Non-functional User Interface Requirements Notation (NfRn) for Modeling the Global Execution Context of Tasks.- Requirements Elicitation and Elaboration in Task-Based Design Needs More Than Task Modelling: A Case Study.- Discovering Multitasking Behavior at Work: A Context-Based Ontology.- The Tacit Dimension of User Tasks: Elicitation and Contextual Representation.- Context and Plasticity.- The Comets Inspector: Towards Run Time Plasticity Control Based on a Semantic Network.- A Prototype-Driven Development Process for Context-Aware User Interfaces.


international conference on software maintenance | 2011

An automatic framework for extracting and classifying near-miss clone genealogies

Ripon K. Saha; Chanchal K. Roy; Kevin A. Schneider

Extracting code clone genealogies across multiple versions of a program and classifying them according to their change patterns underlies the study of code clone evolution. While there are a few studies in the area, the approaches do not handle near-miss clones well and the associated tools are often computationally expensive. To address these limitations, we present a framework for automatically extracting both exact and near-miss clone genealogies across multiple versions of a program and for identifying their change patterns using a few key similarity factors. We have developed a prototype clone genealogy extractor, applied it to three open source projects including the Linux Kernel, and evaluated its accuracy in terms of precision and recall. Our experience shows that the prototype is scalable, adaptable to different clone detection tools, and can automatically identify evolution patterns of both exact and near-miss clones by constructing their genealogies.

Collaboration


Dive into the Kevin A. Schneider's collaboration.

Top Co-Authors

Avatar

Chanchal K. Roy

University of Saskatchewan

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Ripon K. Saha

University of Texas at Austin

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Eric Neufeld

University of Saskatchewan

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

David Paquette

University of Saskatchewan

View shared research outputs
Researchain Logo
Decentralizing Knowledge