<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wiki.ptidej.net/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://wiki.ptidej.net/feed.php">
        <title>Ptidej Team WIki</title>
        <description></description>
        <link>https://wiki.ptidej.net/</link>
        <image rdf:resource="https://wiki.ptidej.net/lib/exe/fetch.php?media=wiki:logo.png" />
       <dc:date>2026-04-13T18:59:54+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=an_architectural_revere_engineering_environment&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=an_empirical_security_study_of_the_native_code_in_the_jdk&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=articles&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=asking_and_answering_questions_during_a_programming_change_task&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=automated_verification_of_pattern-based_interaction_invariants_in_ajax_applications&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=a_syntactic_theory_of_software_architecture&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=books&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=comments_guide&amp;rev=1737478851&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=data_mining_static_code_attributes_to_learn_defect_predictors&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=design_pattern_model&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=development&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=dirty_hack&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=empirical_evidence_of_large-scale_diversity_in_api_usage_of_object-oriented_software&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=evolution&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=evolving_java-based_apis&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=faq&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=follows-up&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=foutse&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=fragile_code&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=guide_to_comments_in_project_the_code&amp;rev=1737478404&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=headless_eclipse&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=historical_reason&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=howto&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=inner_classfiles_naming&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=install&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=java_class_process&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=jct&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=leading-edge_java_a_conversation_with_erich_gamma&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=library&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=linguistic_identification&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=management&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=maven_and_tests&amp;rev=1765891361&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=mereology&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=modec&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=naming_conventions&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=nasty_bug&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=padl&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=padl_analyses&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=padl_creator_aol&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=padl_creator_aspectj&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=padl_creator_classfile&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=padl_creator_c_eclipse&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=padl_creator_javafile_eclipse&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=padl_generator&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=pattern_composition&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=pom&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=pom_faq&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=ptidej_solver&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=ptidej_ui&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=ptidej_ui_analyses&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=ptidej_ui_viewer&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=ptidej_ui_viewer_extensions&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=ptidej_ui_viewer_standalone_swing&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=repositories&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=research&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=sad&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=simon&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=smelldetectioncaller&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=smells_and_bugs&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=software_that_has_the_quality_without_a_name&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=stephane&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=technological_spaces_-_an_initial_appraisal&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=the_relation_between_design_patterns_and_schema_theory&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=towards_a_unified_source_code_measurement_framework_supporting_multiple_programming_languages&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=to_do&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=using-jp2-to-instrument-programs-based-on-apache-felix&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=welcome_package_for_new_members&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=what_do_we_know_about_the_effectiveness_of_software_design_patterns&amp;rev=1736977223&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.ptidej.net/doku.php?id=wiki_of_the_ptidej_team&amp;rev=1765820200&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://wiki.ptidej.net/lib/exe/fetch.php?media=wiki:logo.png">
        <title>Ptidej Team WIki</title>
        <link>https://wiki.ptidej.net/</link>
        <url>https://wiki.ptidej.net/lib/exe/fetch.php?media=wiki:logo.png</url>
    </image>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=an_architectural_revere_engineering_environment&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>an_architectural_revere_engineering_environment</title>
        <link>https://wiki.ptidej.net/doku.php?id=an_architectural_revere_engineering_environment&amp;rev=1736977223&amp;do=diff</link>
        <description>Fiutem, R.; Antoniol, G.; Tonella, P. &amp; Merlo, E. ART: An Architectural Revere Engineering Environment. Journal of Software Maintenance: Research and Practice, Wiley, 1999, 11, 339-364

Abstract

When programmers perform maintenance tasks, program understanding is often required. One of the first activities in understanding a software system is identifying its subsystems and their relations, i.e., its software architecture. Since a large part of the effort is spent in creating a mental model of …</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=an_empirical_security_study_of_the_native_code_in_the_jdk&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>an_empirical_security_study_of_the_native_code_in_the_jdk</title>
        <link>https://wiki.ptidej.net/doku.php?id=an_empirical_security_study_of_the_native_code_in_the_jdk&amp;rev=1736977223&amp;do=diff</link>
        <description>Tan, G. &amp; Croft, J. An empirical security study of the native code in the JDK. Proceedings of the 17th Security Symposium, USENIX Association, 2008, 365-377

Abstract

It is well known that the use of native methods in Java defeats Java&#039;s guarantees of safety and security, which is why the default policy of Java applets, for example, does not allow loading non-local native code. However, there is already a large amount of trusted native C/C++ code that comprises a significant portion of the Java…</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=articles&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>articles</title>
        <link>https://wiki.ptidej.net/doku.php?id=articles&amp;rev=1736977223&amp;do=diff</link>
        <description>A list of available articles can be found at Yann&#039;s bibliography.</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=asking_and_answering_questions_during_a_programming_change_task&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>asking_and_answering_questions_during_a_programming_change_task</title>
        <link>https://wiki.ptidej.net/doku.php?id=asking_and_answering_questions_during_a_programming_change_task&amp;rev=1736977223&amp;do=diff</link>
        <description>Sillito, J.; Murphy, G. C. &amp; De Volder, K. Asking and Answering Questions during a Programming Change Task. Transactions on Software Engineering, IEEE CS Press, 2008, 34, 434-451

Abstract

Little is known about the specific kinds of questions programmers ask when evolving a code base and how well existing tools support those questions. To better support the activity of programming, answers are needed to three broad research questions: (1) what does a programmer need to know about a code base wh…</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=automated_verification_of_pattern-based_interaction_invariants_in_ajax_applications&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>automated_verification_of_pattern-based_interaction_invariants_in_ajax_applications</title>
        <link>https://wiki.ptidej.net/doku.php?id=automated_verification_of_pattern-based_interaction_invariants_in_ajax_applications&amp;rev=1736977223&amp;do=diff</link>
        <description>Maezawa, Y.; Washizaki, H.; Tanabe, Y. &amp; Honiden, S. Automated Verification of Pattern-based Interaction Invariants in Ajax Applications. Proceedings of the 28th International Conference on Automated Software Engineering, IEEE CS Press, 2013

Abstract</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=a_syntactic_theory_of_software_architecture&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>a_syntactic_theory_of_software_architecture</title>
        <link>https://wiki.ptidej.net/doku.php?id=a_syntactic_theory_of_software_architecture&amp;rev=1736977223&amp;do=diff</link>
        <description>Dean, T. R. &amp; Cordy, J. R. A Syntactic Theory of Software Architecture. Transactions on Software Engineering, IEEE CS Press, 1995, 21, 302-313

Abstract

In this paper we introduces a general, extensible diagrammatic syntax for expressing software architectures based on typed nodes and connections and formalized using set theory. The syntax provides a notion of abstraction corresponding to the concept of a subsystem, and exploits this notion in a general mechanism for pattern matching over archi…</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=books&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>books</title>
        <link>https://wiki.ptidej.net/doku.php?id=books&amp;rev=1736977223&amp;do=diff</link>
        <description>References to the books, conference proceedings, and other technical reports available in the library.

	*  @Book{books/sp/Diehl2007,

title = “Software Visualization - Visualizing the Structure,

Behaviour, and Evolution of Software”,

author =</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=comments_guide&amp;rev=1737478851&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-21T17:00:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>comments_guide</title>
        <link>https://wiki.ptidej.net/doku.php?id=comments_guide&amp;rev=1737478851&amp;do=diff</link>
        <description>Guide comments

While contributing to the project, you may encounter issues that you could ask help from colleagues, with that in mind, a tool to create issues automatically in the github PTIDEJ repository was made.

It will read and generate title, tags, descriptions and semantics automatically in the following order:</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=data_mining_static_code_attributes_to_learn_defect_predictors&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>data_mining_static_code_attributes_to_learn_defect_predictors</title>
        <link>https://wiki.ptidej.net/doku.php?id=data_mining_static_code_attributes_to_learn_defect_predictors&amp;rev=1736977223&amp;do=diff</link>
        <description>Menzies, T.; Greenwald, J. &amp; Frank, A. Data Mining Static Code Attributes to Learn Defect Predictors. Transactions on Software Engineering, IEEE CS Press, 2007, 33, 2-13

Abstract

The value of using static code attributes to learn defect predictors has been widely debated. Prior work has explored issues like the merits of</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=design_pattern_model&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>design_pattern_model</title>
        <link>https://wiki.ptidej.net/doku.php?id=design_pattern_model&amp;rev=1736977223&amp;do=diff</link>
        <description>Grille

Définition d&#039;un patron: see Yann&#039;s TSE

Définition d&#039;un motif: see Yann&#039;s TSE

Définition d&#039;une solution: see Yann&#039;s TSE

Définition d&#039;une instance: ???

Définition d&#039;une occurrence: see Yann&#039;s TSE

Modèle systématique/ad hoc: ???

Modèle: structure/comportement</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=development&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>development</title>
        <link>https://wiki.ptidej.net/doku.php?id=development&amp;rev=1736977223&amp;do=diff</link>
        <description>Development

Tooling

	*  JCT
		*  MODEC
		*  PADL
		*  PADL Analyses
		*  POM
		*  Ptidej Solver
		*  Ptidej UI
		*  Ptidej UI Viewer

Other Interesting Concepts

	*  Dirty Hack
		*  Fragile Code
		*  Historical Reason

Other Pages of Interest

	*  FAQ General
		*  FAQ POM</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=dirty_hack&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>dirty_hack</title>
        <link>https://wiki.ptidej.net/doku.php?id=dirty_hack&amp;rev=1736977223&amp;do=diff</link>
        <description>A dirty hack is a piece of code that exists for no good reason but to simplify the life of someone at some point in time. A dirty hack has usually some (or all!) the following characteristics:

	*  Is useful to only a small number of clients;

	*  Is useful to only one person;</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=empirical_evidence_of_large-scale_diversity_in_api_usage_of_object-oriented_software&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>empirical_evidence_of_large-scale_diversity_in_api_usage_of_object-oriented_software</title>
        <link>https://wiki.ptidej.net/doku.php?id=empirical_evidence_of_large-scale_diversity_in_api_usage_of_object-oriented_software&amp;rev=1736977223&amp;do=diff</link>
        <description>Mendez, D.; Baudry, B. &amp; Monperrus, M. Empirical Evidence of Large-scale Diversity in API Usage of Object-oriented Software. Proceedings of the International Conference on Source Code Analysis, IEEE CS Press, 2013

Abstract

In this paper, we study how object-oriented classes are used across thousands of software packages. We concentrate on</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=evolution&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>evolution</title>
        <link>https://wiki.ptidej.net/doku.php?id=evolution&amp;rev=1736977223&amp;do=diff</link>
        <description>Let a constituent of a program by any of class, interface, method, field...

First step:
 1. Define a program p, composed of a set of constituent C.
 2. Define a set of refactorings R applying on any constituent.
 3. Define a set of metrics M to compute on constituents.
 4. Choose a subset of C, &lt;c1,...,cn&gt;.
 5. Choose a subset of R, &lt;r1,...,rm&gt;.
 6. Apply &lt;r1,...,rm&gt; on &lt;c1,...,cn&gt; to obtain &lt;c&#039;1,...,c&#039;n&gt;
 7. Compute the metrics in M on both the ci and the c&#039;j.
 8. Apply the similarity measure …</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=evolving_java-based_apis&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>evolving_java-based_apis</title>
        <link>https://wiki.ptidej.net/doku.php?id=evolving_java-based_apis&amp;rev=1736977223&amp;do=diff</link>
        <description>Des Rivières, J. Evolving Java-based APIs. 2007

Abstract

This document is about how to evolve Java-based APIs while maintaining compatibility with existing client code.

Comments

Yann-Gaël Guéhéneuc, 2014/02/06

This document is very interesting because it tells all about Java-based</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=faq&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>faq</title>
        <link>https://wiki.ptidej.net/doku.php?id=faq&amp;rev=1736977223&amp;do=diff</link>
        <description>*   Q: The PADL meta-model is qualified of semi-language independent. Why “semi”?
		*  A: Because it is only for typed object-oriented programming languages. In any case, don&#039;t fall for people who would like to sell you “truly” language-independent meta-models, this is a dream!</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=follows-up&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>follows-up</title>
        <link>https://wiki.ptidej.net/doku.php?id=follows-up&amp;rev=1736977223&amp;do=diff</link>
        <description>*  Foutse
		*  Simon
		*  Stéphane</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=foutse&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>foutse</title>
        <link>https://wiki.ptidej.net/doku.php?id=foutse&amp;rev=1736977223&amp;do=diff</link>
        <description>*   English version

	*  PQMOD vs. Baniya on several versions of several programs.

	*  MSE Parser

	*  C# Parser

	*  Bug and defects

	*  Pre-doc

	*  John and Giulio

	*  Pattern composition, see Pattern Composition

	*  Motif identification, see Linguistic Identification</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=fragile_code&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>fragile_code</title>
        <link>https://wiki.ptidej.net/doku.php?id=fragile_code&amp;rev=1736977223&amp;do=diff</link>
        <description>Fragile code is any piece of code that has been implemented quickly and that has not been thoroughly thought and tested. It is also any piece of code that clients could wrongly called.

A typical example of fragile code is any piece of code returning a reference on a collection of instances instead of a reference on an iterator on the collection. Indeed, returning a reference on the collection implies that client code could modify the content of the collection without notifying the providing cod…</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=guide_to_comments_in_project_the_code&amp;rev=1737478404&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-21T16:53:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>guide_to_comments_in_project_the_code</title>
        <link>https://wiki.ptidej.net/doku.php?id=guide_to_comments_in_project_the_code&amp;rev=1737478404&amp;do=diff</link>
        <description>Guide comments

While contributing to the project, you may encounter issues that you could ask help from colleagues, with that in mind, a tool to create issues automatically in the github PTIDEJ repository was made.

It will read and generate title, tags, descriptions and semantics automatically in the following order:</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=headless_eclipse&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>headless_eclipse</title>
        <link>https://wiki.ptidej.net/doku.php?id=headless_eclipse&amp;rev=1736977223&amp;do=diff</link>
        <description>Headless Eclipse

What Is It?

A “Headless Eclipse” is an instance of Eclipse launched without any Graphical User Interface, on the command-line.

What For?

You can use a Headless Eclipse to call a plug-in in Eclipse from some external programs. One of the purposes of such a call, as seen with SQUANER, is to automatically delegate processing to Eclipse from a Web application. Indeed, to create the</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=historical_reason&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>historical_reason</title>
        <link>https://wiki.ptidej.net/doku.php?id=historical_reason&amp;rev=1736977223&amp;do=diff</link>
        <description>An historical reason provides a rationale for a design or implementation choice made long ago and which cannot be easily undone today without breaking lots of code. It often leads to a choice that is not wrong  per se but which may seem inconsistent with later development. For example, the name of entities are their fully-qualified name for an historical reason: PADL has been originally designed with Java in mind.</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=howto&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>howto</title>
        <link>https://wiki.ptidej.net/doku.php?id=howto&amp;rev=1736977223&amp;do=diff</link>
        <description>How to Use Ptidej to Identify Occurrences of Design Motifs: A Quick Start

By Chushu Gao gaochushu@googlemail.com

1. Environment

This guide based on the experience on Ecilpes 3.5 in WindowsXP and Fedora Eclipse released with FC11.

2. Check out Ptidej projects</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=inner_classfiles_naming&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>inner_classfiles_naming</title>
        <link>https://wiki.ptidej.net/doku.php?id=inner_classfiles_naming&amp;rev=1736977223&amp;do=diff</link>
        <description>From the beginning of the introduction of inner classes in Java, developers knew that it would be a mess... and it has been proven again and again. Here is a recent example. Take the following (academic) piece of code:


public class Anonymous {
	public void foo() {
		class B {}
		new B();
	}
}</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=install&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>install</title>
        <link>https://wiki.ptidej.net/doku.php?id=install&amp;rev=1736977223&amp;do=diff</link>
        <description>How to Use Ptidej to Identify Occurrences of Design Motifs

By Chushu Gao and Yann-Gaël Guéhéneuc.

1. Environment

This guide based on the experience on Ecilpes 3.5 in WindowsXP and Fedora Eclipse released with FC11. It should work with any Eclipse version but you must install the</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=java_class_process&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>java_class_process</title>
        <link>https://wiki.ptidej.net/doku.php?id=java_class_process&amp;rev=1736977223&amp;do=diff</link>
        <description>Between 1.4.2 and the versions v1.6+ of the JDK, changes have been made to the creation of processes. These changes bring benefits, in particular in the light of a nasty bug found by Soumaya and Venera when running MoDeC on MacOS.

Java Class Process

The Java class Process is used together with class Runtime. As explained by Oracle:</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=jct&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>jct</title>
        <link>https://wiki.ptidej.net/doku.php?id=jct&amp;rev=1736977223&amp;do=diff</link>
        <description>JCT

The set of JCT projects provide a parser for Java files based on Sun&#039;s JDK. It can be used to build PADL models from Java source files, although the preferred method is using the creator provided in the PADL Creator JavaFile (Eclipse) project, which uses Eclipse Java parser. Instructions to generate the JCT documentation are available at</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=leading-edge_java_a_conversation_with_erich_gamma&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>leading-edge_java_a_conversation_with_erich_gamma</title>
        <link>https://wiki.ptidej.net/doku.php?id=leading-edge_java_a_conversation_with_erich_gamma&amp;rev=1736977223&amp;do=diff</link>
        <description>Venners, B. Leading-edge Java — A Conversation with Erich Gamma. 2005

Abstract

Erich Gamma lept onto the software world stage in 1995 as co-author of the best-selling book Design Patterns: Elements of Reusable Object-Oriented Software (Addison-Wesley, 1995). This landmark work, often referred to as the Gang of Four (GoF) book, cataloged 23 specific solutions to common design problems. In 1998, he teamed up with Kent Beck to produce JUnit, the de facto unit testing tool in the Java community. G…</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=library&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>library</title>
        <link>https://wiki.ptidej.net/doku.php?id=library&amp;rev=1736977223&amp;do=diff</link>
        <description>Information on the books and articles available in the lab.

	*  Articles
		*  Books</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=linguistic_identification&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>linguistic_identification</title>
        <link>https://wiki.ptidej.net/doku.php?id=linguistic_identification&amp;rev=1736977223&amp;do=diff</link>
        <description>*  WordNet
		*  Lucene
		*  Design Motif Roles</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=management&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>management</title>
        <link>https://wiki.ptidej.net/doku.php?id=management&amp;rev=1736977223&amp;do=diff</link>
        <description>*  Follows-up
		*  To Do</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=maven_and_tests&amp;rev=1765891361&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-12-16T13:22:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>maven_and_tests</title>
        <link>https://wiki.ptidej.net/doku.php?id=maven_and_tests&amp;rev=1765891361&amp;do=diff</link>
        <description>How to Run the Same Tests in Eclipse and Maven

Tests are subclasses of TestCase and can be combined into TestSuite.</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=mereology&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>mereology</title>
        <link>https://wiki.ptidej.net/doku.php?id=mereology&amp;rev=1736977223&amp;do=diff</link>
        <description>*  &lt;http://plato.stanford.edu/entries/mereology/&gt;
		*  &lt;http://plato.stanford.edu/entries/mereology-medieval/&gt;
		*  &lt;http://en.wikipedia.org/wiki/Mereology&gt;
		*  &lt;http://www.loa-cnr.it/medicine/mereology/index.html&gt;
		*  &lt;http://www.mereology.com/&gt;</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=modec&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>modec</title>
        <link>https://wiki.ptidej.net/doku.php?id=modec&amp;rev=1736977223&amp;do=diff</link>
        <description>MODEC

MoDeC is an instrumentor, invoker, and meta-model to collect and model execution traces of Java programs.

Required Projects

To instrument Java programs, extract their execution traces, model these traces as sequence diagrams, and identify occurrences of behavioural and creational design motifs in these traces, you must download and install the following projects:</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=naming_conventions&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>naming_conventions</title>
        <link>https://wiki.ptidej.net/doku.php?id=naming_conventions&amp;rev=1736977223&amp;do=diff</link>
        <description>Naming Conventions

Following common, consistent naming conventions is essential to ease program comprehension and usage.

Test Projects

Each project, which is Eclipse plug-in in nature, should come with a test project, which is a Java project in nature. For example, the</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=nasty_bug&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>nasty_bug</title>
        <link>https://wiki.ptidej.net/doku.php?id=nasty_bug&amp;rev=1736977223&amp;do=diff</link>
        <description>A nasty bug is a bug that is difficult to reproduce, typically for the following reasons:

	*  It occurs with a particular OS, version of the OS (see this bug!);
	*  It occurs with a particular version of the JVM or JVM implementation;
	*  It involves multiple threads and data race / deadlocks;</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=padl&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>padl</title>
        <link>https://wiki.ptidej.net/doku.php?id=padl&amp;rev=1736977223&amp;do=diff</link>
        <description>PADL

PADL stands for Pattern and Abstract-level Description Language. It is a meta-model to describe programs at different levels of abstractions.

Levels of Models

There are four different levels of abstractions to model programs, collectively called abstract-level models:</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=padl_analyses&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>padl_analyses</title>
        <link>https://wiki.ptidej.net/doku.php?id=padl_analyses&amp;rev=1736977223&amp;do=diff</link>
        <description>PADL Analyses

PADL models can be modified or abstracted by applying analyses on the different abstract-level models. All analyses implement the padl.analysis.IAnalysis interface. Among the most popular such analyses is:

	*  padl.analysis.repository.AACRelationshipsAnalysis</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=padl_creator_aol&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>padl_creator_aol</title>
        <link>https://wiki.ptidej.net/doku.php?id=padl_creator_aol&amp;rev=1736977223&amp;do=diff</link>
        <description>PADL Creator AOL

The AOL format was created by Giuliano Antoniol and is used by several researchers to describe object-oriented programs. A typical sample of code to create PADL models from AOL files is as follows:


ICodeLevelModel codeLevelModel =
	Factory.getInstance().createCodeLevelModel(name);
codeLevelModel.create(new AOLCreator(
	new String[] { fileName }));

IIdiomLevelModel idiomLevelModel = null;
try {
	final MethodInvocationAnalyser methodInvocationAdder =
		new MethodInvocationAnal…</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=padl_creator_aspectj&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>padl_creator_aspectj</title>
        <link>https://wiki.ptidej.net/doku.php?id=padl_creator_aspectj&amp;rev=1736977223&amp;do=diff</link>
        <description>PADL Creator AspectJ

AspectJ is a aspect-oriented programming language based on Java. It allows implementing and weaving cross-cutting concerns into Java programs. AspectJ used to use lst files (now &#039;&#039;ajproperties&#039;&#039;?) so this creator is outdated but still interesting in that it works very simply</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=padl_creator_classfile&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>padl_creator_classfile</title>
        <link>https://wiki.ptidej.net/doku.php?id=padl_creator_classfile&amp;rev=1736977223&amp;do=diff</link>
        <description>PADL Creator ClassFile

A PADL model is typically created from some Java bytecodes using the following code:


 final ICodeLevelModel codeLevelModel =
   Factory.getInstance().createCodeLevelModel(&quot;A&quot;);
 codeLevelModel.create(
   new CompleteClassFileCreator(
   DefaultFileRepository.getInstance(),
       new String[] { &quot;dir1/dir2/A.class&quot; }), true);</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=padl_creator_c_eclipse&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>padl_creator_c_eclipse</title>
        <link>https://wiki.ptidej.net/doku.php?id=padl_creator_c_eclipse&amp;rev=1736977223&amp;do=diff</link>
        <description>PADL Creator C++ (Eclipse)

Using the CDT provided on top of Eclipse, this project provides a means to create a PADL model from C/C++ source code. Fetch the project PADL Creator C++ (Eclipse) from the SVN and use the usual idiom:


try {
	final ICodeLevelModelCreator creator =
		new padl.creator.cppfile.eclipse.CPPCreator(aSourceDirectory);
	codeLevelModel =
		CPPFactoryEclipse.getInstance().createCodeLevelModel(aName);
	codeLevelModel.create(creator);
}
catch (final CreationException e) {
	e.pr…</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=padl_creator_javafile_eclipse&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>padl_creator_javafile_eclipse</title>
        <link>https://wiki.ptidej.net/doku.php?id=padl_creator_javafile_eclipse&amp;rev=1736977223&amp;do=diff</link>
        <description>PADL Creator JavaFile (Eclipse)

Two third-party projects provide means to create a PADL model from Java source code (instead of Java class files). Fetch the projects PADL Creator JavaFile (JavaC) or PADL Creator JavaFile (Eclipse) from the SVN and use the usual idiom:</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=padl_generator&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>padl_generator</title>
        <link>https://wiki.ptidej.net/doku.php?id=padl_generator&amp;rev=1736977223&amp;do=diff</link>
        <description>PADL Generator

In general, a code-level model can be obtain for a system through reverse-engineering/parsing using:


final ICodeLevelModel codeLevelModel =
   Factory.getInstance().createCodeLevelModel(&lt;Name&gt;);
codeLevelModel.create(
   new &lt;A&gt;Creator(
       &lt;FileRepository&gt;.getInstance(),
       new String[] { &lt;Some files&gt; }), &lt;Recurse in directories&gt;);</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=pattern_composition&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>pattern_composition</title>
        <link>https://wiki.ptidej.net/doku.php?id=pattern_composition&amp;rev=1736977223&amp;do=diff</link>
        <description>*  Extract occurrences
		*  Extract classes and hashmap them with their roles</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=pom&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>pom</title>
        <link>https://wiki.ptidej.net/doku.php?id=pom&amp;rev=1736977223&amp;do=diff</link>
        <description>POM

POM stands for Primitives, Operations, Metrics and is a framework built to compute software metrics on PADL models. A paper introducing POM has been published by Zaidi, Guéhéneuc, and Sahraoui and can be used as reference. Metrics can be a several kinds:

	*  Unary or binary, depending on whether they take as input one or two</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=pom_faq&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>pom_faq</title>
        <link>https://wiki.ptidej.net/doku.php?id=pom_faq&amp;rev=1736977223&amp;do=diff</link>
        <description>POM

Metrics definitions

	*  ACAIC	Ancestor Class-Attribute Import Coupling
	*  ACMIC	Ancestors Class-Method Import Coupling
	*  AID	Average Inheritance Depth of an entity
	*  ANA	Count the average number of classes from which a class inherits informations</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=ptidej_solver&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ptidej_solver</title>
        <link>https://wiki.ptidej.net/doku.php?id=ptidej_solver&amp;rev=1736977223&amp;do=diff</link>
        <description>Ptidej Solver

At the orgin of Ptidej was Hervé Albin-Amiot&#039;s and my work on the specification of design motifs, the automated identification of their occurrences, and the automated generation of related code. The identification of occurrences of design motifs is performed using an explanation-based constraint solver, built on top of PaLM and</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=ptidej_ui&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ptidej_ui</title>
        <link>https://wiki.ptidej.net/doku.php?id=ptidej_ui&amp;rev=1736977223&amp;do=diff</link>
        <description>Ptidej UI

The Ptidej Tool Suite includes a graphic framework to build different types of viewers. The viewers are independent of the underlying graphic frameworks, be there AWT or SWT. In the Ptidej UI project are all the interfaces and classes allowing the viewers to be independent of the graphic framework and to put in one place most of the common code. (There is still duplicated code here and there, it should disappear as time goes by</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=ptidej_ui_analyses&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ptidej_ui_analyses</title>
        <link>https://wiki.ptidej.net/doku.php?id=ptidej_ui_analyses&amp;rev=1736977223&amp;do=diff</link>
        <description>Ptidej UI Analyses

This project provides an interface that any graphical analyses, i.e., analysis that want to access and-or change the graphical representation of a PADL model, must implement: ptidej.ui.analysis.IUIAnalysis. This interface requires that any analysis provides three methods, including</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=ptidej_ui_viewer&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ptidej_ui_viewer</title>
        <link>https://wiki.ptidej.net/doku.php?id=ptidej_ui_viewer&amp;rev=1736977223&amp;do=diff</link>
        <description>Ptidej UI Viewer

The Ptidej UI Viewer project provide interfaces and classes used by all the viewers. In particular, it provides the ptidej.viewer.IRepresentation interface that is the “model” (as in Model-View-Controller) of any viewer. This interface allows managing PADL models, Ptidej UI models, original sources, occurrences</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=ptidej_ui_viewer_extensions&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ptidej_ui_viewer_extensions</title>
        <link>https://wiki.ptidej.net/doku.php?id=ptidej_ui_viewer_extensions&amp;rev=1736977223&amp;do=diff</link>
        <description>Ptidej UI Viewer Extensions

Th project Ptidej UI Viewer Extensions provides the ptidej.viewer.extension.IViewerExtension interface that any extension to the viewers must implement. Differently from the ptidej.ui.analysis.IUIAnalysis interfaces defined in the</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=ptidej_ui_viewer_standalone_swing&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ptidej_ui_viewer_standalone_swing</title>
        <link>https://wiki.ptidej.net/doku.php?id=ptidej_ui_viewer_standalone_swing&amp;rev=1736977223&amp;do=diff</link>
        <description>Ptidej UI Viewer Standalone Swing

The Ptidej UI Viewer Standalone Swing project provides the class ptidej.viewer.ProjectViewer, which is currently the most usable graphical interface to the Ptidej Tool Suite. 

Usage

Here are some steps to use it:</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=repositories&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>repositories</title>
        <link>https://wiki.ptidej.net/doku.php?id=repositories&amp;rev=1736977223&amp;do=diff</link>
        <description>Repositories

Some projects provide sets of algorithms fulfilling some common interfaces. Such a project always has a package aaa.bbb and a package aaa.bbb.repository. In aaa.bbb are the interface(s) and the repository to dynamically access the algorithms at run-time. Repositories implements the interface</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=research&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>research</title>
        <link>https://wiki.ptidej.net/doku.php?id=research&amp;rev=1736977223&amp;do=diff</link>
        <description>*  Design Pattern Model
		*  Evolution
		*  Linguistic Identification
		*  Mereology
		*  Pattern Composition
		*  POM
		*  Smells and bugs</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=sad&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sad</title>
        <link>https://wiki.ptidej.net/doku.php?id=sad&amp;rev=1736977223&amp;do=diff</link>
        <description>SAD

SAD stands for Software Architectural Defects and is our implementation of DETEX, following the DECOR method to specify and identify occurrences of anti-patterns in PADL models. A paper introducing DETEX and DECOR has been published by Moha, Guéhéneuc, Duchien, and Le Meur and can be used as reference.</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=simon&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>simon</title>
        <link>https://wiki.ptidej.net/doku.php?id=simon&amp;rev=1736977223&amp;do=diff</link>
        <description>*  Stef.
		*  Visualisaton
		*  Families
		*  TOD
		*  Pattern composition, see Pattern Composition
		*  Motif identification, see Linguistic Identification
		*  More on design patterns, see Design Pattern Model</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=smelldetectioncaller&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>smelldetectioncaller</title>
        <link>https://wiki.ptidej.net/doku.php?id=smelldetectioncaller&amp;rev=1736977223&amp;do=diff</link>
        <description>The detection of design smells (i.e., occurrences of anti-patterns and of their code smells) can be simply done in batch, programmatically. There are two possible ways.

Standalone SmellDetectionCaller

The standalone SmellDetectionCaller can be found on</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=smells_and_bugs&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>smells_and_bugs</title>
        <link>https://wiki.ptidej.net/doku.php?id=smells_and_bugs&amp;rev=1736977223&amp;do=diff</link>
        <description>Study code and design smells and bug reports

	*  Rewrite code and design smell specifications
		*  Link PADL with JDT
		*  Extract bug class names
		*  Compare</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=software_that_has_the_quality_without_a_name&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>software_that_has_the_quality_without_a_name</title>
        <link>https://wiki.ptidej.net/doku.php?id=software_that_has_the_quality_without_a_name&amp;rev=1736977223&amp;do=diff</link>
        <description>Quintero, F. M. Software that has the Quality Without A Name. 2011

Abstract

(This article contains the author&#039;s thought and is not structured as a research paper. Hence, the following is a paragraph taken from the article but not its actual abstract; the article does not have one.)</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=stephane&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>stephane</title>
        <link>https://wiki.ptidej.net/doku.php?id=stephane&amp;rev=1736977223&amp;do=diff</link>
        <description>*  Link JDT AST with PADL</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=technological_spaces_-_an_initial_appraisal&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>technological_spaces_-_an_initial_appraisal</title>
        <link>https://wiki.ptidej.net/doku.php?id=technological_spaces_-_an_initial_appraisal&amp;rev=1736977223&amp;do=diff</link>
        <description>Kurtev, I.; Bézivin, J. &amp; Aksit, M. Guerraoui, R.; Loyall, J. &amp; Schmidt, D. (Eds.) Technological Spaces: An Initial Appraisal Proceedings of the 4th International Symposium on Distributed Objects and Applications, Spriner-Verlag, 2002

Abstract

In this paper, we propose a high level view of technological spaces (TS) and relations among these spaces. A technological space is a working context with a set of associated concepts, body of knowledge, tools, required skills, and possibilities. It is o…</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=the_relation_between_design_patterns_and_schema_theory&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>the_relation_between_design_patterns_and_schema_theory</title>
        <link>https://wiki.ptidej.net/doku.php?id=the_relation_between_design_patterns_and_schema_theory&amp;rev=1736977223&amp;do=diff</link>
        <description>Kohls, C. &amp; Scheiter, K. The Relation between Design Patterns and Schema Theory. Proceedings of the 15th Conference on Pattern Languages of Programs, ACM Press, 2008

Abstract

Patterns capture the design knowledge of experts. But how is this expertise represented by the expert? When we mine for patterns, what is the ground in which we seek? Are there patterns in our head? And if so, how do the patterns in our head relate to the design patterns in the real world and the patterns we document? Thi…</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=towards_a_unified_source_code_measurement_framework_supporting_multiple_programming_languages&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>towards_a_unified_source_code_measurement_framework_supporting_multiple_programming_languages</title>
        <link>https://wiki.ptidej.net/doku.php?id=towards_a_unified_source_code_measurement_framework_supporting_multiple_programming_languages&amp;rev=1736977223&amp;do=diff</link>
        <description>Humaira, R.; Sakamoto, K.; Ohashi, A.; Washizaki, H. &amp; Fukazawa, Y. Towards a Unified Source Code Measurement Framework Supporting Multiple Programming Languages. Proceedings of the 24th International Conference on Software Engineering and Knowledge Engineering, Knowledge Systems Institute Graduate School, 2012, 480-485</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=to_do&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>to_do</title>
        <link>https://wiki.ptidej.net/doku.php?id=to_do&amp;rev=1736977223&amp;do=diff</link>
        <description>*  Update P-MARt code to new version of CPL.
		*  Put in place a process to generate a working executable version of Ptidej.
		*  EMF implementation of PADL
		*  XMI importer/exporter
		*  Code and design smell injection</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=using-jp2-to-instrument-programs-based-on-apache-felix&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>using-jp2-to-instrument-programs-based-on-apache-felix</title>
        <link>https://wiki.ptidej.net/doku.php?id=using-jp2-to-instrument-programs-based-on-apache-felix&amp;rev=1736977223&amp;do=diff</link>
        <description>Background

JP2 is an excellent and easy-to-use Java Profiler developed by Binder et al.. It can be used to count the numbers of executed bytecode instructions to estimate the CPU consumption of a Java program. The basics of calling JP2 are as follows:</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=welcome_package_for_new_members&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>welcome_package_for_new_members</title>
        <link>https://wiki.ptidej.net/doku.php?id=welcome_package_for_new_members&amp;rev=1736977223&amp;do=diff</link>
        <description>How to Download, Install, and Contribute to the Ptidej Tool Suite

The Ptidej tool suite aims at providing tools to evaluate and to enhance the quality of object-oriented programs, promoting the use of patterns, either at the language-, design-, or architectural-levels. At the core of the Ptidej tool suite is the</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=what_do_we_know_about_the_effectiveness_of_software_design_patterns&amp;rev=1736977223&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-01-15T21:40:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>what_do_we_know_about_the_effectiveness_of_software_design_patterns</title>
        <link>https://wiki.ptidej.net/doku.php?id=what_do_we_know_about_the_effectiveness_of_software_design_patterns&amp;rev=1736977223&amp;do=diff</link>
        <description>Zhang, C. &amp; Budgen, D. What Do We Know about the Effectiveness of Software Design Patterns? Transactions on Software Engineering, IEEE CS Press, 2012, 38, 1213-1231

Abstract

Context. Although research in software engineering largely seeks to improve the practices and products of software development, many practices are based upon codification of expert knowledge, often with little or no underpinning from objective empirical evidence. Software design patterns seek to codify expert knowledge to …</description>
    </item>
    <item rdf:about="https://wiki.ptidej.net/doku.php?id=wiki_of_the_ptidej_team&amp;rev=1765820200&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-12-15T17:36:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>wiki_of_the_ptidej_team</title>
        <link>https://wiki.ptidej.net/doku.php?id=wiki_of_the_ptidej_team&amp;rev=1765820200&amp;do=diff</link>
        <description>Welcome! You can find here up-to-date information regarding the use of tools developed by the Ptidej Team, mostly from the developers&#039; point of view. We also use this Wiki to share temporary information before putting them on the Web site. 

Development

	*</description>
    </item>
</rdf:RDF>
