Search Results

Documents authored by El-Ramly, Mohammad


Document
Similarity in Programs

Authors: Andrew Walenstein, Mohammad El-Ramly, James R. Cordy, William S. Evans, Kiarash Mahdavi, Markus Pizka, Ganesan Ramalingam, and Jürgen Wolff von Gudenberg

Published in: Dagstuhl Seminar Proceedings, Volume 6301, Duplication, Redundancy, and Similarity in Software (2007)


Abstract
An overview of the concept of program similarity is presented. It divides similarity into two types - syntactic and semantic - and provides a review of eight categories of methods that may be used to measure program similarity. A summary of some applications of these methods is included. The paper is intended to be a starting point for a more comprehensive analysis of the subject of similarity in programs, which is critical to understand if progress is to be made in fields such as clone detection.

Cite as

Andrew Walenstein, Mohammad El-Ramly, James R. Cordy, William S. Evans, Kiarash Mahdavi, Markus Pizka, Ganesan Ramalingam, and Jürgen Wolff von Gudenberg. Similarity in Programs. In Duplication, Redundancy, and Similarity in Software. Dagstuhl Seminar Proceedings, Volume 6301, pp. 1-8, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2007)


Copy BibTex To Clipboard

@InProceedings{walenstein_et_al:DagSemProc.06301.11,
  author =	{Walenstein, Andrew and El-Ramly, Mohammad and Cordy, James R. and Evans, William S. and Mahdavi, Kiarash and Pizka, Markus and Ramalingam, Ganesan and von Gudenberg, J\"{u}rgen Wolff},
  title =	{{Similarity in Programs}},
  booktitle =	{Duplication, Redundancy, and Similarity in Software},
  pages =	{1--8},
  series =	{Dagstuhl Seminar Proceedings (DagSemProc)},
  ISSN =	{1862-4405},
  year =	{2007},
  volume =	{6301},
  editor =	{Rainer Koschke and Ettore Merlo and Andrew Walenstein},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops.dagstuhl.de/entities/document/10.4230/DagSemProc.06301.11},
  URN =		{urn:nbn:de:0030-drops-9681},
  doi =		{10.4230/DagSemProc.06301.11},
  annote =	{Keywords: Computer programs, similarity, code clone, software comparison, program metrics, Levenshtein distance, parameterized difference, feature space, shared}
}
Document
Rule-based Model Extraction from Source Code

Authors: Rui Correia, Carlos Matos, Mohammad El-Ramly, and Reiko Heckel

Published in: Dagstuhl Seminar Proceedings, Volume 6302, Aspects For Legacy Applications (2007)


Abstract
In the context of an approach for reengineering legacy soft- ware systems at the architectural level, we present in this paper a reverse engineering methodology that uses a model de¯ned as a type graph to represent source-code subject to a code categorization process. Two al- ternative methods for referencing the source code are discussed: native vs. graphical. To represent the code, the native representation uses the abstract syntax tree while the graphical uses a programming language metamodel. Two options regarding the way that the graph can relate to the source code reference model are also considered: association model vs. direct link. The extraction of the program representation, complying to the type graph, is based on rules that categorize source code according to its purpose. The techniques to address this process, such as the code categorization rules, are shown together with examples.

Cite as

Rui Correia, Carlos Matos, Mohammad El-Ramly, and Reiko Heckel. Rule-based Model Extraction from Source Code. In Aspects For Legacy Applications. Dagstuhl Seminar Proceedings, Volume 6302, pp. 1-11, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2007)


Copy BibTex To Clipboard

@InProceedings{correia_et_al:DagSemProc.06302.9,
  author =	{Correia, Rui and Matos, Carlos and El-Ramly, Mohammad and Heckel, Reiko},
  title =	{{Rule-based Model Extraction from Source Code}},
  booktitle =	{Aspects For Legacy Applications},
  pages =	{1--11},
  series =	{Dagstuhl Seminar Proceedings (DagSemProc)},
  ISSN =	{1862-4405},
  year =	{2007},
  volume =	{6302},
  editor =	{Siobh\'{a}n Clarke and Leon Moonen and Ganesan Ramalingam},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops.dagstuhl.de/entities/document/10.4230/DagSemProc.06302.9},
  URN =		{urn:nbn:de:0030-drops-8815},
  doi =		{10.4230/DagSemProc.06302.9},
  annote =	{Keywords: Reverse engineering, Code categorization, Program representation}
}
Document
Experiences in Teaching Program Transformation for Software Reengineering

Authors: Mohammad El-Ramly

Published in: Dagstuhl Seminar Proceedings, Volume 5161, Transformation Techniques in Software Engineering (2006)


Abstract
Little attention is given to teaching the theory and practice of software evolution and change in software engineering curricula. Program transformation is no exception. This paper presents the author’s experience in teaching program transformation as a unit in a postgraduate module on software systems reengineering. It describes the teaching context of this unit and two different offerings of it, one using Turing eXtender Language (TXL) and the other using Legacy Computer Aided Reengineering Environment (Legacy-CARE or L-CARE) from ATX Software. From this experience, it was found that selecting the suitable material (that balances theory and practice) and the right tool(s) for the level of students and depth of coverage required is a non-trivial task. It was also found that teaching using toy exercises and assignments does not convey well the practical aspects of the subject. While, teaching with real, even small size, exercises and assignments, is almost non-feasible. Finding the right balance is very important but not easy. It was also found that students understanding and appreciation of the topic of program transformation increases when they are presented with real industrial case studies.

Cite as

Mohammad El-Ramly. Experiences in Teaching Program Transformation for Software Reengineering. In Transformation Techniques in Software Engineering. Dagstuhl Seminar Proceedings, Volume 5161, pp. 1-6, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2006)


Copy BibTex To Clipboard

@InProceedings{elramly:DagSemProc.05161.3,
  author =	{El-Ramly, Mohammad},
  title =	{{Experiences in Teaching Program Transformation for Software Reengineering}},
  booktitle =	{Transformation Techniques in Software Engineering},
  pages =	{1--6},
  series =	{Dagstuhl Seminar Proceedings (DagSemProc)},
  ISSN =	{1862-4405},
  year =	{2006},
  volume =	{5161},
  editor =	{James R. Cordy and Ralf L\"{a}mmel and Andreas Winter},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops.dagstuhl.de/entities/document/10.4230/DagSemProc.05161.3},
  URN =		{urn:nbn:de:0030-drops-4230},
  doi =		{10.4230/DagSemProc.05161.3},
  annote =	{Keywords: Teaching Program Transformation, Reengineering, Source to Source Transformation, Software Engineering Education}
}
Questions / Remarks / Feedback
X

Feedback for Dagstuhl Publishing


Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail