Christopher P. Fuhrman

dblp:86/2932 · DBLP profile ↗
← Back
15ranked-venue papers
5as first author
3since 2021 · last 2026
0000-0001-8010-1087ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 10 · 3 first-author · 3 since 2021Systems, architecture and hardware · 1 · 1 first-authorComputer networks · 1 · 1 first-authorGraphics, computer vision, multimedia, augmented reality and games · 1Human-computer interaction and ubiquitous computing · 1Applied, interdisciplinary, general and emerging computing · 1
YearPublicationVenuePosition
2026 From Textual Descriptions to Code: A Filtering Approach for Locating Business Rules
Nour Ayachi, Benoît Verhaeghe, Nicolas Anquetil, Christopher P. Fuhrman
SANER4
2022 What do developers consider magic literals? A smalltalk perspective
Nicolas Anquetil, Julien Delplanque, Stéphane Ducasse, Oleksandr Zaitsev, Christopher P. Fuhrman, Yann-Gaël Guéhéneuc
Inf. Softw. Technol.5
2021 Rotten green tests in Java, Pharo and Python
Vincent Aranega, Julien Delplanque, Matias Martinez, Andrew P. Black, Stéphane Ducasse, Anne Etien, Christopher P. Fuhrman, Guillermo Polito
Empir. Softw. Eng.7
2020 Categories and Completeness of Visual Programming and Direct Manipulation
abstract
Recent innovations in visual programming and the use of direct manipulation for programming have demonstrated promise, but also raise questions about how far these approaches can be generalized. To clarify these issues, we present a categorization of systems for visual programming, programming-by-example, and similar systems. By examining each category, we elucidate the advantages, limitations, and ways to extend systems in each category. Our work makes it easier for researchers and designers to understand how visual programming languages (VPLs) and similar systems relate to each other, and how to extend them. We also indicate directions for future research.
Michael J. McGuffin, Christopher P. Fuhrman
AVI2
2019 Empirical Study of Programming to an Interface
abstract
A popular recommendation to programmers in object-oriented software is to "program to an interface, not an implementation" (PTI). Expected benefits include increased simplicity from abstraction, decreased dependency on implementations, and higher flexibility. Yet, interfaces must be immutable, excessive class hierarchies can be a form of complexity, and "speculative generality" is a known code smell. To advance the empirical knowledge of PTI, we conducted an empirical investigation that involves 126 Java projects on GitHub, aiming to measuring the decreased dependency benefits (in terms of cochange).
Benoît Verhaeghe, Christopher P. Fuhrman, Latifa Guerrouj, Nicolas Anquetil, Stéphane Ducasse
ASE2
2014 Visualizing protected variations in evolving software designs
Sébastien Rufiange, Christopher P. Fuhrman
J. Syst. Softw.2
2012 Integrating tools and frameworks in undergraduate software engineering curriculum
abstract
We share our experience over the last 10 years for finding, deploying and evaluating software engineering (SE) technologies in an undergraduate program at the ÉTS in Montreal, Canada. We identify challenges and propose strategies to integrate technologies into an SE curriculum. We demonstrate how technologies are integrated throughout our program, and provide details of the integration in two specific courses.
Christopher P. Fuhrman, Roger Champagne, Alain April
ICSE1
2012 TreeMatrix: A Hybrid Visualization of Compound Graphs
abstract
Abstract We present a hybrid visualization technique for compound graphs (i.e. networks with a hierarchical clustering defined on the nodes) that combines the use of adjacency matrices, node‐link and arc diagrams to show the graph, and also combines the use of nested inclusion and icicle diagrams to show the hierarchical clustering. The graph visualized with our technique may have edges that are weighted and/or directed. We first explore the design space of visualizations of compound graphs and present a taxonomy of hybrid visualization techniques. We then present our prototype, which allows clusters (i.e. subtrees) of nodes to be grouped into matrices or split apart using a radial menu. We also demonstrate how our prototype can be used in the software engineering domain, and compare it to the commercial matrix‐based visualization tool Lattix using a qualitative user study.
Sébastien Rufiange, Michael J. McGuffin, Christopher P. Fuhrman
Comput. Graph. Forum3
2006 Using Change Propagation Probabilities to Assess Quality Attributes of Software Architectures 1
abstract
The study of software architectures is gaining importance due to its role in various aspects of software engineering, like product line engineering, componentbased software engineering and other emerging paradigms. With the increasing emphasis on design patterns, the traditional practice of ad-hoc software construction is slowly shifting towards pattern-oriented development. Various architectural attributes like error propagation, change propagation, requirements propagation provide a wealth of information about software architectures. In this paper, we show that change propagation probability (CP) is helpful and effective in assessing the design quality of software architectures. We study two different architectures (one that employs patterns versus one that does not) for the same application. We also analyze and compare the change propagation metric with respect to other coupling-based metrics.
Israr Pasha Shaik, Walid Abdelmoez, Rajesh Gunnalan, Ali Mili 0001, Christopher P. Fuhrman, Mark Shereshevsky, A. Zeid, Hany H. Ammar
AICCSA5
2005 Change Propagation for Assessing Design Quality of Software Architectures
abstract
The study of software architectures is gaining importance due to its role in various aspects of software engineering such as product line engineering, component based software engineering and other emerging paradigms. With the increasing emphasis on design patterns, the traditional practice of ad-hoc software construction is slowly shifting towards pattern-oriented development. Various architectural attributes like error propagation, change propagation, and requirements propagation, provide a wealth of information about software architectures. In this paper, we show that change propagation probability (CP) is helpful and effective in assessing the design quality of software architectures. We study two different architectures (one that employs patterns versus one that does not) for the same application. We also analyze and compare change propagation metric with respect to other coupling-based metrics.
Israr Pasha Shaik, Walid Abdelmoez, Rajesh Gunnalan, Mark Shereshevsky, A. Zeid, Hany H. Ammar, Ali Mili 0001, Christopher P. Fuhrman
WICSA8
2003 Software Verification and Validation within the (Rational) Unified Process
abstract
We discuss the integration of software verification and validation activities (as defined by the IEEE Std. 1012) within the unified process. We compare and contrast these two process frameworks, and identify the aspects of verification and validation that are directly supported, partially supported or not supported by the unified process.
Christopher P. Fuhrman, Fatime Djlive, Edgardo Palza
SEW1
2003 Establishing a Generic and Multidimensional Measurement Repository in CMMI context
abstract
We propose a measurement repository for collecting, storing, analyzing and reporting measurement data based on the requirements of the capability maturity model integrated (CMMI). Our repository is generic, flexible and integrated, supporting a dynamic measurement system. It was originally designed to support Ericsson Research Canada's business information needs. Our multidimensional repository can relate measurement information needs to CMMI processes and products requirements. The data model is based on a hierarchical and multidimensional definition of measurement data. It has been developed based on the concept of a data warehouse environment. Reporting features are based on the definition of queries to on line analytical process (OLAP) cubes. OLAP cubes are created as materialized views of the measurement data, and the user functionalities are implemented as analytical drill-down/roll-up capabilities and as indicator and trend analysis capabilities.
Edgardo Palza, Christopher P. Fuhrman, Alain Abran
SEW2
2003 Lightweight models for interpreting informal specifications
Christopher P. Fuhrman
Requir. Eng.1
1996 Comparison Diagnosis in Large Multiprocessor Systems
abstract
We present the bounded symmetric comparison (BSC) model for comparison-based system-level diagnosis. It is based on the symmetric comparison model of Chwa and Hakimi but includes a limit on the number of PEs that can produce identical, faulty results that are used in the syndrome of the diagnosis. We contribute a theorem with necessary and sufficient conditions for one-step diagnosability of a system under the BSC model. We show that previous characterizations for one-step diagnosability under the symmetric (Chwa/Hakimi) and asymmetric (Malek) comparison models are in fact special-case characterizations for the BSC model.
Christopher P. Fuhrman, Henri J. Nussbaumer
Asian Test Symposium1
1995 Hardware/software fault tolerance with multiple task modular redundancy
abstract
N-modular redundancy (NMR) and N-version programming (NVP) are two popular fault tolerance techniques in which hardware and software redundancy is exploited to mask faults. Redundant hardware is used to improve fault tolerance rather than throughput. We introduce a scheme for combined hardware-software fault tolerance derived from NMR and NVP that shows how redundancy can also be used to improve throughput by grouping the execution of several tasks. Our scheme uses a dynamic task allocation algorithm with an optimistic execution policy where the number of task executions is kept close to the minimum required to produce fault-free results. For equivalent hardware and software resources, the proposed method is 50% to 100% more efficient in terms of throughput and latency.
Christopher P. Fuhrman, Sailesh Chutani, Henri J. Nussbaumer
ISCC1