Paran Haslett
Please Note
This person can no longer be contacted through the School of Engineering and Computer Science at Victoria University of WellingtonResearch Interests
Adapting the viewed structure of Java code on a case by case basis for individuals whilst retaining a degree of collaboration.Papers I am currently reading
Code Source Mining
Article: FRUIt
Uses data mining techniques to produce views inside an eclipse plugin.Article: FRUIt
Uses data mining techniques to produce views inside an eclipse plugin.Article: Mining Software Repositories with iSPAROL and a Software Evolution Ontology
http://dl.acm.org/citation.cfm?id=1268983.1269048 In this paper they present EvoOnt which is a common language useful for extracting informtion out of code repositories. As it is based on the existing Web Ontology Language (OWL) they believe that it is extendable. They claim that it can be used to detect bad smells in Java code. Although this would be useful as a tool to view existing code it only appears capable of representing subsets of a central code repository. Thats said the underlying language which they are using deserves further study as it may be able to help two seperate views negotiate what is common between them. This would be a step towards discovering code equivlencies.Article: TARE An Exchange Language for Mining Software Repositories
http://dl.acm.org/citation.cfm?id=1137983.1137990 Another language useful for data mining. It differs in that it is not based on an existing language. Another language useful for data mining. It differs in that it is not based on an existing language.CSCW
What is CSCW?
Computer supported cooperative work http://en.wikipedia.org/wiki/Computer-supported_cooperative_workArticle: CSCW and Education
http://dl.acm.org/citation.cfm?id=2441955.2442035Article: Why CSCW needs Science Policy
http://dl.acm.org/citation.cfm?doid=2441776.2441902Modeling and Graphical Code viewing
Article: An EXtensible Framework for providing Dynamic Data Structure Visualisations
http://dl.acm.org/citation.cfm?id=1028174.971433Article: Constructing Multi-View Editing Eviroments Using MViews
- Developing multiple grapical front ends for programming
- SNART
Article: Software Dev enviroments on the web
http://dl.acm.org/citation.cfm?id=2384592.2384603Article:Shrimp
Article: Towards a Prctical Visual OO Programming environment
What parts of Java could be reperesented by a visual represatation alone? Can all of the OO be represented by a visual design rather than by textProgram Slicing
http://pages.cs.wisc.edu/~reps/ http://en.wikipedia.org/wiki/Compare%2B%2B http://discuss.fogcreek.com/joelonsoftware5/default.asp?cmd=show&ixPost=155585&ixReplies=18 http://www.drdobbs.com/tools/worlds-first-language-aware-source-code/240153121 http://stackoverflow.com/questions/77931/do-you-know-of-any-language-aware-diffing-tools http://www.modelmakertools.com/structured-diff-viewer/index.htmlSyntactically aware comparison tools
Beyond compare seems to use some of these features to compare similar files against each other (not sure how effectivly is does this however) http://www.scootersoftware.com/moreinfo.php Altova also has a tool however it is focused on being solely xml aware http://www.altova.com/diffdog.html With semantic merge the name says it all. Hopefully they live up to this reputation http://www.semanticmerge.com/ This also seems to be about semantic merge http://rlbisbe.wordpress.com/2013/04/15/semantic-merge-as-the-default-merge-tool-with-git-on-windows/ I am not sure if this is a new one or just is a rehash of semantic merge, SemanticMerge is adverstised on the side bar however some of the converstaion seems to be aimed at the effectiveness of plain text based merging. http://codicesoftware.blogspot.com/2013/04/put-your-hands-on-programming-language.html blog on Semantic Conflict by Martin Fowler no less http://martinfowler.com/bliki/SemanticConflict.html Git Diff implemantations (not semantic currently) https://www.kernel.org/pub/software/scm/git/docs/git-diff.htmlTemplates and Macros
Article: Behaviorial Similarity Matching using Concrete Source Code Templates in Logic Queries
http://dl.acm.org/citation.cfm?doid=1244381.1244398 This Paper is about identifing pattern with a particular codeArticle: Code Templete Inference Using Langugauge Models
http://dl.acm.org/citation.cfm?doid=1900008.1900143Article: Marco: safe, expressive macros for any language
http://dl.acm.org/citation.cfm?id=2367163.2367199 The reason why I was intersted in this paper is that one way to implement a seperate view would be to write programs that are responsible for assembling the program end product. The reason I have gone off that idea is that this still requires a central point that contains the "truth" while the seperate views are considered as being simply small subsets of that "truth". I still admire the ability to be language agnostic however.Article: Towards Modular Code Generators Using Symmetric Language-Aware Aspects
http://dl.acm.org/citation.cfm?doid=2068776.2068782Version Control
Article: Modern Version Control
http://dl.acm.org/citation.cfm?id=2382456.2382510Article: Version Control in Crosscutting Framework-Based Development
http://portal.acm.org/citation.cfm?doid=1363686.1363862 This article highlights the some of the conditions where version control may not understand or cater for code structured in a particular manner. although they mention that this also could be an issue with Object Oriented Frameworks OOF they focus more on Aspect Oriented and crosscutting frameworks. They also have developed TOFRA to deal with changes in an Aspect. As a personalized view could be cross cutting this article could be of interest. The way in which aspect oriented programming links with vastly different parts of the same structure could be similar to how one personalized view would appear to another. The fact that a small configuration change within an aspect can affect vastly different parts of the application will cause similar complexities as changing items that might be related in one personal view but unrelated in another. Even worse would be changing items that appear unrelated in one view but are connected in another.View Mapping Language
Article: Mappings the glue in an integrated system
- View mapping language
- VML
- Code equivlency