Welcome! You can find here up-to-date information regarding the use of tools developed by the Ptidej Team, mostly from the developers' point of view. We also use this Wiki to share temporary information before putting them on the [[http://www.ptidej.net|Web site]]. ====== Development ====== * [[Welcome Package for New Members|How to Download, Install, and Contribute to the Ptidej Tool Suite]] * [[Install|How to Use Ptidej to Identify Occurrences of Design Motifs]] * [[SmellDetectionCaller|How to Use Ptidej to Identify Occurrences of Design Smells]] ===== Tooling ===== The Ptidej tool suite follow [[naming conventions]] to name application and test projects, packages, as well as [[repositories]]. Application projects include: * ''[[JCT]]'' * ''[[MODEC|MoDeC]]'' * ''[[PADL]]'' * ''[[PADL Analyses]]'' * ''[[PADL Creator ClassFile]]'' * ''[[PADL Creator AOL]]'' * ''[[PADL Creator AspectJ]]'' * ''[[PADL Creator C++ (Eclipse)]]'' * ''[[PADL Creator JavaFile (Eclipse)]]'' * ''[[PADL Generator]]'' * ''[[POM]]'' * ''[[Ptidej Solver]]'' * ''[[Ptidej UI]]'' * ''[[Ptidej UI Analyses]]'' * ''[[Ptidej UI Viewer]]'' * ''[[Ptidej UI Viewer Extensions]]'' * ''[[Ptidej UI Viewer Standalone Swing]]'' * ''[[SAD]]'' ===== Other Interesting Concepts ===== * [[Dirty Hack]] * [[Fragile Code]] * [[Historical Reason]] * [[Nasty Bug]] ===== Other Pages of Interest ===== * [[FAQ|FAQ General]] * [[POM FAQ|FAQ POM]] * [[using-jp2-to-instrument-programs-based-on-apache-felix|Use JP2 to instrument programs]] based on Apache Felix * [[headless_eclipse|Use a headless Eclipse instance]] to call your plug-ins in external programs * [[Java Class Process|Use the Java class Process]] on Windows and MacOS * [[Inner Classfiles Naming|Deal with generated inner class-files]] on Windows and MacOS ====== Quotes ====== Software design is widely recognised as being a "wicked" or "ill-structured" problem, characterised by ambiguous specifications, no true/false solutions (only ones that are "better" or "worse" from a particular perspective), the lack of any "stopping rule" to determine when a solution has been reached, and no ultimate test of whether a solution meets the requirements. —[[What Do We Know about the Effectiveness of Software Design Patterns|Zhang and Budgen]] It is very rare that students are so bad that I cannot learn anything from them. —Attributed to [[http://en.wikipedia.org/wiki/Arthur_Rubinstein|Arthur Rubinstein]] ====== Related Work ====== - Tan, G. & Croft, J. [[An empirical security study of the native code in the JDK]]. Proceedings of the 17th Security Symposium, USENIX Association, 2008, 365-377 - Fiutem, R.; Antoniol, G.; Tonella, P. & Merlo, E. [[An Architectural Revere Engineering Environment|ART: An Architectural Revere Engineering Environment]]. Journal of Software Maintenance: Research and Practice, Wiley, 1999, 11, 339-364 - Dean, T. R. & Cordy, J. R. [[A Syntactic Theory of Software Architecture]]. Transactions on Software Engineering, IEEE CS Press, 1995, 21, 302-313 - Sillito, J.; Murphy, G. C. & De Volder, K. [[Asking and Answering Questions during a Programming Change Task]]. Transactions on Software Engineering, IEEE CS Press, 2008, 34, 434-451 - Maezawa, Y.; Washizaki, H.; Tanabe, Y. & 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 - Venners, B. [[Leading-edge Java — A Conversation with Erich Gamma]]. 2005 - Menzies, T.; Greenwald, J. & Frank, A. [[Data Mining Static Code Attributes to Learn Defect Predictors]]. Transactions on Software Engineering, IEEE CS Press, 2007, 33, 2-13 - Mendez, D.; Baudry, B. & 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 - Des Rivières, J. [[Evolving Java-based APIs]]. 2007 - Kurtev, I.; Bézivin, J. & Aksit, M. [[Technological Spaces - An Initial Appraisal]]. Proceedings of the 4th International Symposium on Distributed Objects and Applications, Spriner-Verlag, 2002 - Quintero, F. M. [[Software that has the Quality Without A Name]]. 2011 - Kohls, C. & Scheiter, K. [[The Relation between Design Patterns and Schema Theory]]. Proceedings of the 15th Conference on Pattern Languages of Programs, ACM Press, 2008 - Humaira, R.; Sakamoto, K.; Ohashi, A.; Washizaki, H. & 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 - Zhang, C. & Budgen, D. [[What Do We Know about the Effectiveness of Software Design Patterns]]? Transactions on Software Engineering, IEEE CS Press, 2012, 38, 1213-1231