ATerm (short for Annotated Term) is an abstract data type designed for the exchange of tree-like data structures between distributed applications. See Tools.ATerm ...
ArchitectureExtraction is an attempt to recover SoftwareArchitecture from, for example, the source of a LegacySystem. ArchitectureExtraction typically starts with ...
I work at CWI, Amsterdam see http://www.cwi.nl/~arie/ Since this ProgramTransformation wiki covers many topics related to reverse and reengineering, and since these ...
BAU is a MAKE like tool, written in Scheme. According to the webpage it can do everything MAKE does, with a few features from Tools.AutoMake. Development seems to ...
Annual German Workshop on ReEngineering in Bad Honnef. Held in May. See http://www.uni-koblenz.de/ist/WSR2001/ CategoryConference CategoryReengineeringPages
Software architecture, Software ReEngineering, and ProgramUnderstanding Research project at the University of Stuttgart, see http://www.informatik.uni-stuttgart.de ...
HomePage: http://www.mcs.drexel.edu/~bmitchel Research Web Page: http://serg.mcs.drexel.edu email: bmitchel@mcs.drexel.edu Research Interests: ReverseEngineering ...
Bernd Bruegge and Allen H. Dutoit Object-Oriented Software Engineering: Conquering complex and changing systems Prentice-Hall, 2000. A textbook on software engineering ...
Building Documentation Generators ArieVanDeursen, TobiasKuipers. In Proceedings International Conference on Software Maintenance ( ICSM 99). IEEE Computer Society ...
Building Program Understanding Tools Using Visitor Combinators by Transform.ArieVanDeursen and Transform.JoostVisser This paper describes how Transform.VisitorCombinators ...
IEEE-CS/ACM Computing Curricula: Software Engineering. Part of the IEEE/ACM Computer Curriculum activity, aimed at developing the software engineering volume. Computer ...
CIAO is a customizable and extensible navigator developed by AT T . It allows users to query, analyze, visualize, and track structures of various software and document ...
COMPSAC is the major international forum for researchers, practitioners, managers, and policy makers interested in computer software and applications. It was first ...
C++ is an object-oriented extension of CProgrammingLanguage. Transformation of C++ programs is supported by AcaCia / CIAO OpenCpp Stratego.CodeBoost DMSSoftwareReengineeringToolkit ...
http://www.castsoftware.com/ CAST is a software company committed to simplifying the complexity of software engineering through Application Mining solutions. CategoryCompany ...
The category of pages related to ProgramAnalysis. SEARCH{search "CategoryAnalysis" nosummary "on" scope "text" noheader "on" nosearch "on" format " $topic " } CategoryCategory ...
Pages dealing with SoftwareArchitecture the title gives them all. SEARCH{search "CategoryArchitecture" nosummary "on" scope "text" noheader "on" nosearch "on" format ...
The category of companies offering ProgramTransformation products or services. Click on the title to get them. SEARCH{search "CategoryCompany" nosummary "on" scope ...
The category of TransformationJournals. Click on the title to see them SEARCH{search "CategoryJournal" nosummary "on" scope "text" noheader "on" nosearch "on" nototal ...
CategoryReengineeringWiki: Category of main topics (categories) in the ReengineeringWiki. SEARCH{search "CategoryReengineeringWiki" nosummary "on" scope "text" noheader ...
CategoryRigi: all pages containing the word "CategoryRigi" are devoted to the RigiSystem. SEARCH{search "CategoryRigi" nosummary "on" scope "text" noheader "on" nosearch ...
CategoryTutorial: Category of tutorial articles in the areas of ProgramTransformation, ReverseEngineering, ... SEARCH{search "CategoryTutorial" nosummary "on" scope ...
Category of pages devoted to discussions of wiki style and techniques. SEARCH{search "CategoryWiki" nosummary "on" scope "text" header "" nosearch "on" format " $topic ...
Finding groups in data by computing distances or similarities between elements. In ReverseEngineering, typically used for remodularization, ObjectIdentification, and ...
CodeBeamer from IntlandCompany is a web-based source code comprehension product that enables enterprises or geographically dispersed groups of developers to analyze ...
Annotated Bibliography on Code Reading and ProgramComprehension Deimel and Naveda (1990) Reading Computer Programs: Instructor's Guide and Exercises. CMU/SEI-90-EM ...
Cognitive models of program comprehension model the mental processes involved in program understanding. In most cognitive models, hypotheses are key drivers of the ...
ConceptAnalysis is a mathematical approach to building taxonomies. Given a set of objects, a set of attributes, and a feature table telling which object has which ...
Crystal Systems http://www.crystal-sys.com/ Offers products based on C-SCAN, a unique and flexible engine for automating the conversion of system components. See also ...
Domain-Specific Languages: An Annotated Bibliography. By ArieVanDeursen, PaulKlint and JoostVisser. We survey the literature available on the topic of DomainSpecificLanguages ...
The DSLAnnotatedBibliography was published in 2000. Since then, several authors have sent us additional references, which are collected here. If you feel that a reference ...
Several papers covering DSL design issues such as DomainEngineering are discussed in the DSLAnnotatedBibliography. This page contains several DSLBibliographyAdditions ...
The DSLAnnotatedBibliography starts by definining the terminology used in the paper. This page collects comments, extensions, or additional references concerning DomainSpecificLanguages ...
Collections of tools used for ArchitectureExtraction. Pointers: http://www.sei.cmu.edu/ata/ata extraction.html Rick Kazman, S. Jeromy Carrière, Playing Detective: ...
DocGen is a DocumentationGeneration tool aimed at redocumenting LegacySystems written in languages such as COBOL, DB2, JCL, as well as proprietary languages. It is ...
Domain Analysis is the first DomainEngineering step. Following GenerativeProgrammingBook, p. 23, the purpose of Domain Analysis is to: Select and define the domain ...
Following GenerativeProgrammingBook, p.24, the purpose of Domain Design is to develop a SoftwareArchitecture for the family of systems in the domain ; and to devise ...
Domain Engineering involves creating a set of reusable assets for building systems in a particular problem domain. These reusable assets are then assembled to customer ...
This page is intended to discuss the question Is Domain Engineering compatible with Agile Software Development? Given the current popularity of agile methodologies ...
Domain-Specific Language Design Requires Feature Descriptions ArieVanDeursen and PaulKlint Journal of Computing and Information Technology , 2002. Abstract A DomainSpecificLanguage ...
The Draco system was the first to pioneer with DomainSpecificLanguages employing ProgramTransformation for their implementation. The system featured parser and pretty ...
Conferences / Workshops / Journals / Special Issues devoted to DomainSpecificLanguages. (Listed in reverse chronological ordering of the submission date) Workshop ...
A data exchange format provides a formal notation for the linear description of data to be exchanged between tools. See the ExchangeFormatBibliography for an overview ...
The Extensible Stylesheet Language (XSL) XSL is a language for expressing stylesheets. It consists of three parts: XSL Transformations (XSLT): a language for transforming ...
Fun way of developing software attracting a lot of attention these days. See http://www.c2.com/cgi/wiki?ExtremeProgrammingRoadmap for an extensive (and great!) wiki ...
Language-independent ExchangeFormat for representing object-oriented source code developed in the FamoosProject. See http://iamwww.unibe.ch/~famoos/FAMIX/ Concepts ...
ACM SIGSOFT Symposium on the Foundations of SoftwareEngineering. Submissions: March Conference: September 2001: http://esec.ocg.at/ 2002: http://www.cs.pitt.edu/FSE ...
The goal of the FAMOOS Esprit project is to support the evolution of first generation object-oriented software, built with current analysis and design methods and ...
Part of the FeatureModel giving a graphical representation of variable and common concept features. Feature diagrams distinguish between mandatory, optional, alternative ...
A feature model results from DomainAnalysis / DomainEngineering. It covers A description of the individual features The feature commonalities and variabilities of ...
Feature-Oriented DomainAnalysis (FODA). FODA is one of the first DomainEngineering methods. It was developed at the SEI in the early 1990s. It has introduced the FeatureModel ...
GenVoca is an approach to building software system generators based on composing object-oriented layers. Rather than talking directly to a layer, used layers are included ...
Generative Programming: Methods, Tools, and Applications. KrzysztofCzarnecki and Ulrich W. Eisenecker. Addison-Wesley, 2000. http://www.generative-programming.org ...
Originated from graph-based modeling research done in Koblenz see http://www.gupro.de/ and http://www.gupro.de/GXL/ The Graph Exchange Language (GXL) is designed ...
You can use this page to give your opinions on this Wiki: tell us what you think! The ReengineeringWiki is rather incomplete and biased towards the current users. ...
htmlrsf is a command line program that is part of the RigiSystem. If your Rigi environment is setup, docu is located at $RIGI/doc/rigiutils/htmlrsf.html executable ...
International Symposium on SoftwareTesting and Analysis Every two years. Call for papers: February Conference: July Proceedings: ACM SIGSOFT Software Engineering Notes ...
Identifying Objects using Cluster and Concept Analysis ArieVanDeursen and TobiasKuipers. In 21st International Conference on Software Engineering, ICSE-99, 1999, ...
Industrial Applications of ASF SDF MarkVanDenBrand, ArieVanDeursen, PaulKlint, S. Klusener and E. A. van der Meulen. Industrial Applications of ASF+SDF. I n M. Wirsing ...
Description Intentional programming developed at Microsoft Research Ait98 is a method for extending a language with new constructs or intentions . The meaning of ...
http://www.legacy2web.com/ Established in 1997, Intercomp is a leading international tool developer and solution provider for analyzing, Web-enabling and re-engineering ...
Description An island grammar only precisely defines small portions of the syntax of a language. The rest of the syntax is defined imprecisely, for instance as a ...
IBM's job control language the shell of the mainframe. Designed for easy processing from punch cards of the OS360 system. Significant source of LegacyProblems. The ...
Language Prototyping: An Algebraic Specification Approach ArieVanDeursen, JanHeering, PaulKlint (editors) World Scientific Publishing Co., 1996. AMAST Series in Computing ...
A legacy system is any information system that resists change . See M. L. Brodie and M. Stonebraker. Migrating Legacy Systems: Gateways, Interfaces and the Incremental ...
Little Languages: Little Maintenance? By ArieVanDeursen and PaulKlint JournalOfSoftwareMaintenance, 10 :75-92, 1998 Abstract So-called little, or DomainSpecificLanguages ...
TWiki.TWikiRegistration is misused as login / authentication. This complicates stuff using htaccess now EelcoVisser 09 Nov 2001) In order to encourage people to ...
The make tool is a tool to make software development easier. It gives the developer the possibility to define targets, with additional commands for compilation. Unfortunately ...
McCabe Associates http://www.mccabe.com Offers McCabe IQ2 tool suite for SoftwareTesting, ReEngineering, and quality assurance for LegacySystems. Founded by TomMcCabe ...
Textbook on Compiler Construction by AndrewAppel. Used in a course on High-Performance Compilers. See the HPC0102 web. Main.EelcoVisser 29 Oct 2001 I've written ...
The goal of the Morale project from GeorgiaTech is to facilitate SoftwareEvolution of LegacySystems. Facilitation takes the form of improved quality by requirements ...
Object Identification is the search for candidate classes in a (procedural) LegacySystem See, for example, the following papers and their references: Maarit Haarsu ...
A framework is a set of classes that embodies an abstract design for solutions to a family of related problems (RalphJohnson and B. Foote, Journal of Object-Oriented ...
Read: You can use this web site like any other. Navigate: This website has some extra features not found on most other websites. For example, all internal links are ...
Open C++ is a version of CPP with the Metaobject Protocol providing reflection capabilities. The programmer who want to use Open C++ writes a meta-level program, which ...
DomainEngineering methodology devised by Mark Simos and co-authors. The major steps include Plan domain: Set objectives, analyze stakeholde Scope domain: selection ...
Homepage: http://www.semdesigns.com/Products/Parlanse/index.html A Parallel Language for Symbolic Expression Designed to support irregular parallel computations, ...
ACM SIGPLAN-SIGSOFT Workshop on ProgramAnalysis for Software Tools and Engineering 2002: http://www.cis.ksu.edu/~santos/paste2002/ 2001: http://www.infosun.fmi.uni ...
Is it true that people find the current layout too full? Main.ArieVanDeursen The new layout only has a sidebar for navigation. Is this satisfactory? Main.EelcoVisser ...
ProgramAnalysis is the (automated) inspection of a program to infer some property. Program analysis is needed for most kinds of ProgramTransformation and can range ...
Program Comprehension Risks and Opportunities in Extreme Programming ArieVanDeursen , CWI, May 2001. Proceedings WCRE 2001, IEEE Computer Society. Abstract We investigate ...
ProgramOptimization is a kind of ProgramTransformation aimed at improving the time or memory performance of a program. CompilationByTransformation makes heavy use ...
Definition Refactoring is typically applied at the level of programs (i.e., source code). A program refactoring is a program transformation that improves the design ...
The UVicReverseEngineeringTutorial defines program understanding as The task of building mental models of the underlying software at various abstraction levels, ranging ...
Repository of program understanding tools set up by KennyWong. http://www.cs.ualberta.ca/~kenw/toolsdir/ Unfortunately not a very active site: it contains five tools ...
Anyone welcome to participate! Issues Ensure that all pages are reachable by google. LoginShouldBeSimple InvitedAuthors Announce on various email / news groups Present ...
The ReverseAndReengineeringTaxonomy defines reengineering as: the examination and alteration of a subject system to reconstitute it in a new form and the subsequent ...
An on line bibliography on ReEngineering compiled by RainerKoschke is available via http://www.informatik.uni-stuttgart.de/ifi/ps/reengineering/index.html You can ...
A systems ReEngineering pattern is a description of an expert solution to a common systems reengineering problem, including its name, context, and advantages and disadvantages ...
SpencerRugaber and LindaWills. Creating a research infrastructure for reengineering. In 3d Working Conference on Reverse Engineering, WCRE, 1996. http://www.cc.gatech ...
Welcome to the Reverse and Reengineering Roadmap! The purpose of this roadmap is to provide a forum where all sorts of topics related to ReverseEngineering and ReEngineering ...
The Reengineering Wiki ArieVanDeursen and EelcoVisser In Proceedings of the 5th European Conference on Software Maintenance and Reengineering ( CSMR ), 2002. IEEE ...
http://www.comp.lancs.ac.uk/projects/renaissance/index.html This web site is intended as a resource for the entire Software ReEngineering community. It also covers ...
In 1990, ElliotChikofsky and JamesCross published Reverse Engineering and Design Recovery: A Taxonomy , IEEE Software 7(1):13-17, 1990. http://doi.ieeecomputersociety ...
Reverse Engineering: A Roadmap HausiMueller, JensJahnke, Dennis Smith, PeggyStorey, Scott Tilley, and KennyWong In A, Finkelstein (ed.) The Future of Software Engineering ...
Rigiedit uses GraphEd for graph layout: "The spring and Sugiyama layouts were done by exporting the graph representation and running the layout algorithms off-line ...
Risla is a DomainSpecificLanguage for interest rate products. It is an abbrevation for Rente Informatie Systeem Language. It's development started in the early 1990 ...
BrueggeAndDutoit define round trip engineering as A model maintenance activity that combines forward and reverse engineering. Changes to the implementation model are ...
Software Design And Management AG. http://www.sdm.de/ Consulting firm which also does ReEngineering projects using its own hypertext repository called SHORE. SHORE ...
International Confernce on Software Engineering and Knowledge Engineering The conference aims at bringing together experts in knowledge engineering and knowledge ...
Interactive Software Development and Renovation Group (SEN1) (CWI, Amsterdam) http://www.cwi.nl/themes/sen1/ See also SoftwareRenovationAtCWI. Main.ArieVanDeursen ...
Software Engineering Body of Knowledge. The software engineering body of knowledge is an all-inclusive term that describes the sum of knowledge within the profession ...
OOPSLA 2001 Workshop Software Archeology: Understanding Large Systems Ward Cunningham, Andrew Hunt, Brian Marick, and Dave Thomas How do you come to grips with 1 ...
A survey of software architecture is provided by David Garlan, in SoftwareArchitectureARoadMap. Garlan loosely defines architecture as a software system's gross organization ...
Definitions of Software Architecture. There are many definitions of what SoftwareArchitecture is: an overview of these is given at http://www.sei.cmu.edu/architecture ...
Software configuration is concerned with creating different specializations of a software artifact for different environments. (See also VariabilityManagement) Configuration ...
If you are looking for more up to date information on Software Evolution, please visit http://www.planet-evolution.org Definitions The Research Institute in Software ...
According to Chapter 9 of GenerativeProgrammingBook: a generator is a program that takes a higher-level specification of piece of software and produces its implementation ...
The Software Improvement Group is a young company offering tools that help businesses deal with their (Cobol) legacy systems. We're offering services in three areas ...
Definitions Software maintenance is defined by the ANSI/IEEE Std. 729-1983 and IEEE Std. 1219-1998 as: modification of a software product after delivery to correct ...
From W. Humphrey, Managing the Software Process , Addison-Wesley, 1989: The software process is the set of tools, methods, and practices used to produce a software ...
Software product line Group of products, sharing a common, managed set of features to satisfy the needs of a selected market. J. Withey, Investment Analysis of Software ...
The ReverseAndReengineeringTaxonomy defines software renovation as a synonym for ReEngineering. In CWI parlance, it is covers research in the areas of ReverseEngineering ...
The SEN1 research group at CWI works on the following SoftwareRenovation topics: DocumentationGeneration for COBOL systems ArchitectureExtraction Type inferencing ...
Charles W. Krueger provides a survey in the ACM Computing Surveys 24(2):131-183, June 1992. Software reuse is the process of creating software systems from existing ...
Chapter 5 of the SWEBOK guide defines testing as follows: Software testing consists of the dynamic verification of the behavior of a program on a finite set of test ...
The software visualization 1 group at GeorgiaTech describes software visualization as: the use of computer graphics and animation to help illustrate and present computer ...
Dagstuhl Seminar 3061 Software Architecture: Recovery and Modelling More information on this seminar: http://www.dagstuhl.de/03061/ http://www.bauhaus-stuttgart.de ...
Ingredients of a Course on Transformation What should a good course on transformation offer? Existing Courses about Transformation A list of courses with transformation ...
What should a course on SoftwareEvolution cover? The CCSE initiative has recognized software evolution as a separate knowledge area . The second draft of this initiative ...
The IFIP International Conference on Testing of Communicating Systems http://www.fokus.fhg.de/events/testcom2002 Conference: March Deadline: September CategoryConference ...
ProgramTransformation techniques are used in a many areas of SoftwareEngineering ranging from ProgramSynthesis, via ProgramOptimization and ProgramRefactoring, to ...
Things todo for the Tansform wiki! (feel free to do them) (When discussing one of the todo items, please TurnIssuesIntoTopics) Wiki Content Issues PromotingParticipation ...
The Tuple-Attribute language (TA)is based on the RSF triple notation. Edges and nodes are specified identically to RSF. Nodes and types can be attributed. Attributes ...
International Workshop on Unanticipated SoftwareEvolution Techniques and technologies that offer support for software evolution are still far from ideal. In particular ...
Understanding Software Systems Using Reverse Engineering Technologies: Research and Practice HausiMueller , Department of Computer Science, University of Victoria ...
Web site collecting all sorts of resources on ProgramUnderstanding, set up by FrancoiseBalmas. http://www.ai.univ-paris8.fr/UPU/repository.html CategoryProgramUnderstanding ...
VISSOFT: Visualising Software for Understanding and Analysis Deadline: February Conference: June Colocated with IWPC. URL: http://www.dur.ac.uk/vissoft.2002/ Topics ...
A visual language is a ProgrammingLanguage that uses pictures to depict the instructions of a program and their relations. ControlFlowDiagram Visual languages can ...
Workshop on Empirical Studies in SoftwareMaintenance. Usually colocated with the InternationalConferenceonSoftwareMaintenance. Deadline: May 2002: http://www.info ...
Topics Topics discussed at WCRE include but are not limited to: SoftwareMaintenance and SoftwareEvolution DeCompilation and BinaryTranslation ProgramComprehension ...
Workshop Proposals Continuing the successful extension of WCRE with workshops in the last two years, WCRE 2002 offers you the opportunity to organize a workshop devoted ...
See also the announcements about specific systems in SystemNews. STARTINCLUDE STOPINCLUDE 2007-01-08 program-transformation.org is back online after absence for a ...
WebNotify is a subscription service to be automatically notified by email when topics change in the TWiki.Transform web. This is a convenient service, so you do not ...
Statistics for TWiki.Transform Web Month: Topic Views: Topic Saves: Attachment Uploads: Most Popular Topic Views: Top Contributors for Topic Save and Uploads: Feb ...
Month: Topic Views: Topic Saves: Attachment Uploads: Most Popular Topic Views: Top Contributors for Topic Save and Uploads: Dec 2001 21983 530 0 2861 1006 WebHome ...
Month: Topic Views: Topic Saves: Attachment Uploads: Most Popular Topic Views: Top Contributors for Topic Save and Uploads: Dec 2002 1978 21 0 580 ReengineeringWikiSiteMap ...
From the DSLAnnotatedBibliography: Our definition of DomainSpecificLanguages inherits the vagueness of one of its defining terms: problem domain . Rather than attempting ...
The XTWikiWiki is the common substrate for a number of sites on various aspects of ProgramTransformation, ranging from a general survey of the field in TheOnlineSurveyOfProgramTransformation ...
The software on which this WikiWikiWeb runs is starting to become antiquated. It lacks many features that would be useful in a Wiki. It is also a problem that it does ...
Homepage: http://www.w3.org/XML/ XML is the Extensible Markup Language, a format for the exchange of structured data. XML, which is a simplified subset of SGML, was ...
The design and evaluation of appropriate SoftwareArchitectures is key to the effective development, management, evolution, and reuse of software systems. However, ...