COSC 6431 Research Paper Presentation
Schedule
November 20
- Jeremy -
Planning the Reengineering of Legacy Systems,
by Sneed
November 22
- George -
"Cloning Considered Harmful" Considered Harmful,
by Kapser, Godfrey
- Marc -
Recognizing behavioral patterns at runtime using finite automata,
by Wendehals, Orso
November 27
- Chris -
Towards an Approach for Aspect-Oriented Software Reengineering,
by Garcia, Lucredio, Prado, Almeida, Alvaro, Meira
- Muna -
Using origin analysis to detect merging and splitting of source code entities,
by Godfrey, Zou
November 29
- Anna -
Tracking Code Clones in Evolving Software,
by Duala-Ekoko, Robillard
- Bohdan -
Source versus Object Code Extraction for Recovering Software Architecture,
by Hassan, Jiang, Holt
November 20,22,27,29
For your presentation, you may choose any research paper related to
Software Re-engineering. You can search the proceedings of the following
conferences for terms that are of interest to you:
- Working Conference on Reverse Engineering
- International Workshop on Program Comprehension
- International Conference on Software Maintenance
Relevant papers are also published in other conferences and journals.
Search for them at:
Outside the York campus, these sites are available through EZ-Proxy.
Once you have decided, send me an email with your choice. In your email,
indicate which of the dates you would prefer for your presentation,
if any. I will do my best to accommodate your request, but it will be a
first-come, first-serve situation.
You can send your presentation to me in PowerPoint or PDF format if
you would like to use my laptop for the presentation. You can, of
course, use your own laptop if you prefer.
The following papers have been presented in recent years so they are
not eligible. Also, any papers discussed in class are out as well.
- Using Program Transformation to Secure C Programs Against Buffer
Overflows, by Christopher Dahn, and Spiros Mancoridis
- Java Quality Assurance by Detecting Code Smells, by Eva van Emden,
and Leon Moonen
- Using Development History Sticky Notes to Understand Software
Architecture, by Ahmed E. Hassan, and Richard C. Holt
- On Finding Duplication and Near-Duplication in Large Software
Systems, by Brenda S. Baker
- CRAFT: A Framework for Evaluating Software Clustering Results in
the Absence of Benchmark Decompositions, by Brian S. Mitchell and
Spiros Mancoridis
- A Comparative Evaluation of Dynamic Visualisation Tools, by Michael
J. Pacione, Marc Roper, and Murray Wood
- Comparing the decompositions produced by software clustering
algorithms using similarity measurements, by Brian S. Mitchell and
Spiros Mancoridis
- Design Recovery by Automated Search for Structural Design Patterns
in Object-Oriented Software, by Christian Kramer and Lutz Prechelt
- A Language Independent Approach for Detecting Duplicated Code,
by Stephane Ducasse, Matthias Rieger, and Serge Demeyer
- A Hybrid Reverse Engineering Approach Combining Metrics and Program
Visualisation, by Serge Demeyer, Stephane Ducasse, and Michele Lanza
- Pattern-Based Reverse-Engineering of Design Components, by Rudolf Keller,
Reinhard Schauer, Sebastien Robitaille, and Patrick Page
- GUI Ripping: Reverse Engineering of Graphical User Interfaces for
Testing, by Atif Memon, Ishan Banerjee, and Adithya Nagarajan
- Ontological Excavation: Unearthing the core concepts of the
application, by Idris Hsi, Colin Potts, and Melody Moore
- Form: A Framework for Creating Views of Program Executions, by Tim
Souder, Spiros Mancoridis, and Maher Salah
- Toward an environment for comprehending distributed systems, by
Maher Salah, and Spiros Mancoridis
- Dependence-Cache Slicing: A Program Slicing Method Using Lightweight
Dynamic Information, by Tomonori Takada, Fumiaki Ohata, and Katsuro Inoue
- An Intelligent Tool for Re-engineering Software Modularity, by
Robert W. Schwanke
- Identification of Data Cohesive Subsystems using Data Mining
Techniques, by Carlos Montes de Oca and Doris L. Carver
- Recovering Software Architecture from the Names of Source Files,
by Nicolas Anquetil and Timothy Lethbridge
- Experiments with Clustering as a Software Remodularization Method, by
Nicolas Anquetil and Timothy Lethbridge
- Feature-driven program understanding using concept analysis of
execution traces, by T. Eisenbarth, R. Koschke, and D.Simon
- Architecture Repair of Open Source Software, by John B. Tran, Michael
W. Godfrey, Eric H. S. Lee, and Richard C. Holt
- Reconstructing High-Level Views of Object-Oriented Applications
from Static and Dynamic Information, by Tamar Richner and Stephane
Ducasse
- Displaying dependence graphs: a hierarchical approach, by
Francoise Balmas
- Design Pattern Recovery in Object-Oriented Software, by G.
Antoniol, R. Fiutem, and L. Cristoforetti
- Design Pattern Recovery Based on Source Code Analysis with Fuzzy
Logic, by Jorg Niere, Jorg Wadsack, and Lothar Wendehals
- Bunch: A Clustering Tool for the Recovery and Maintenance of
Software System Structures, by S. Mancoridis, B.S.Mitchell, Y.Chen,
E.R.Gansner.
- Automatic Clustering of Software Systems using a Genetic Algorigthm,
by D. Doval, S. Mancoridis, B.S.Mitchell.
- Using Automatic Clustering to Produce High-Level System Organizations
of Source Code, by S. Mancoridis, B.S.Mitchell, C.Rorres, Y.Chen,
E.R.Gansner.
- An empirical study of the use of friends in C++ software, by J. Buckley,
T. Cahill, T. Lynch.
- The Role of Refactorings in API Evolution, by Danny Dig and Ralph
Johnson.
- On the Use of Metaballs to Visually Map Source Code Structures and
Analysis Results onto 3D Space, by Juergen Rilling and S. P. Mudur.
- A Specification Matching Based Approach to Reverse Engineering, by
Gerald C. Gannodt.
- Locating Features in Source Code, by Thomas Eisenbarth, Rainer
Koschke and Daniel Simon.
- The effect of inheritance on the maintainability of object-oriented
software: an empirical study, by J. Daly, A. Brooks, J. Miller, Glasgow,
M. Roper, M. Wood.
- Maintaining Object-Oriented Software, by Norman Wilde, Paul
Matthews, Ross Huitt.
- Assessing Modular Structure of Legacy Code Based on Mathematical
Concept Analysis, by Christian Linding, George Snelting.
- Algorithms for Concept Lattice Decomposition and their Application,
by P.Funk, A.Lewein, G.Snelting.
- Design Pattern Mining Enhanced by Machine Learning, by R. Ferenc, A.
Beszedes, L. Fulop, and J. Lele.
- Detecting Higher-level Similarity Patterns in Programs, by Basit and
Jarzabek.
- Querying as an Enabling Technology in Software Reengineering, by
Bernt Kullbach, Andreas Winter
- Metarule-guided association rule mining for program understanding,
by Maqbool, Babri, Karim, Sarwar
- Binary refactoring: Improving code behind the scenes,
by Tilevich, Smaragdakis
- ACDC: An Algorithm for Comprehension-Driven Clustering,
by Tzerpos, Holt
- Challenges of Refactoring C Programs,
by Garrido, Johnson
- Efficient Relational Calculation for Software Analysis,
by Beyer, Noack, Lewerentz
- Flexible Re-engineering of Web Sites,
by Bouillon, Vanderdonckt, Chow
- Categorization of Classes based on the Visualization of their Internal
Structure: the Class Blueprint,
by Lanza, Ducasse
- Cloning by Accident: An Empirical Study of Source Code Cloning Across
Software Systems,
by Al-Ekram, Kapser, Holt, Godfrey
- Clone detection using abstract syntax trees,
by Baxter, Yahin, Moura, Sant'Anna, Bier
- Extracting concepts from file names; a new file clustering criterion,
by Anquetil, Lethbridge
- Re-engineering C++ Component Models Via Automatic Program Transformation,
by Akers, Baxter, Mehlich
- Bad Smells - Humans as Code Critics,
by Mantyla, Vanhanen, Lassen
- Refactoring - Improving Coupling and Cohesion of Existing Code,
by Du Bois, Demeyer, Verelst
- Does the "Refactor to Understand" reverse engineering pattern
improve program comprehension?,
by Du Bois, Demeyer, Verelst