This is the page where we are going to organize our 2005 Holiday party for the SPL. Who: You (i.e. SPL members or soon to be members), spouses, partners, and children...
AspectJ An Aspect Oriented programming language that is an extension of Java. This language is intersting for our purpose (Design Rule checking) because: 1. It...
Paolo Tonella and Mariano Ceccato. Aspect mining through the formal concept analysis of execution traces. In Proc. of the Working Conference on Reverse Engineering...
Silvia Breu and Jens Krinke. Aspect mining using event traces. In Proc. of the Conference on Automatic Software Engineering , 2004. This project uses dynamic execution...
Aspect Oriented Design Rules Aspect oriented design rules are DesignRules which are specifically related to or caused by the introduction of aspect oriented language...
Binary Decision Diagram An efficient data structure for representing boolean functions. The most commongly used BDD today are actually Reduced Order BDD. This is a...
BDD Based Deductive Database What is BDDBDB? From the BDDBDB website: bddbddb stands for BDD Based Deductive Database It is an implementation of Datalog, a declarative...
Date Paper Authors Jul 31 2003 On Finding Duplication and Near Duplication in Large Software Systems Brenda S. Baker Aug 7 2003 Visitor Combination and Traversal...
Bug Triage General Overview Open source software projects typically have a bug repository that allows both developers and users to post problems encountered with...
This list is not guaranteed to be complete nor correct; please check your deadlines against the actual calls for papers. ... And correct and extend this list!...
http://www.cs.washington.edu/homes/djg/papers/oopsla2010jsaspects.pdf Reading Group Flow Peng: 1st Present overview of paper James: 2nd Open discussion...
Demos for Dec 5 Demonstrator Title of Demo Brian Ariadne: Conceptual Queries for Software Development John Automating Bug Assignment Mik Mylar: A Task Focussed...
Design Rules Note This is only an attempt to provide a definition / vision on what we mean by `design rule`. This is not intended to be the final word on...
Design Rules Repository This page is the start of a hopefully growing collection of Design Rules. By building this collection of examples we will hopefully be able...
Desk allocation is maintained by Gregor. Centralizing this makes it possible to do future planning in a way that would not otherwise be possible. In doing desk allocation...
Directed Studies in Software Engineering Term 2, 2007 2008 Instructor: Gail Murphy Software systems are amongst the most complex artifacts that humans build. These...
The website is maintained as a set of static pages under CVS control. You must be part of the spl web group to edit the files. Checkout the latest version...
Execute After Put Context An API specific design rule for the tyRuBa.tdbc package. Description Calls to PreparedInsert.put (..) should always be followed...
Date Discussion Contributors Paper Authors Link Reviews Sept 26 Brian , Ed, Sara Designing the Whyline: a debugging interface for asking questions about...
FoRGe: Focussed Reading Groups What is a FoRGe? A new format and style for organizing reading groups that the Software Practices Lab is trying out in 2006. A Focussed...
How to Add a Design Rule 1. Find an existing design rule to use as a template. 1. Click `Edit`. 1. Copy the contents of the edit box. 1. Go to the DesignRulesRepository...
HypotheticaL Stands for Hypothethical Language. By inventing and thinking about this fictional language`s hypothetical syntax to express the desing rules the way you...
Lazy Initialization Context A general design rule for Java, related to the toString method that is implemented on Object . Description Non abstract classes should...
JQuery An Eclipse Plugin that provides a query based source code browser for the Java programming language. JQuery employs the TyRuBa logic programming and builds...
JQuery Release Process (rough notes) for each of {binary only, source included} export backend and browser plugin packages as directories (not directly...
Chris`s Review Problem Addressed This paper identifies the core idea underlying many fundamental and apparently distinct results over the last ten years of POPL...
Mik`s Review Problem Modern IDEs don`t provide programmers with adequate support for comprehending and navigating the subset of the system that is relevant to their...
Sara`s Review Problem Navigation and understanding of the source code for performing a modification task is difficult, especially when the system is complicated...
Shawn`s Review Problem Addressed This paper address the problem of bugs occuring in a GUI application. Since it is hard for people to remember what bugs exist...
Using Editorial Comments in Latex Ever wonder how you can effectively insert comments into your own LateX output, and easily turn those comments on or off? Here`s...
Ensure somebody has been assigned with event organizational ownership. They don`t necessarily have to do anything other than ensure that everything necessary is done...
Lab meetings will be held on Wednesdays from 1 2 in the lab roughly every other week (fortnightly). All lab members should attend. Meetings will consist of practice...
Lazy Initialization Context An internal, application specific set of design rules in the implementation of TyRuBa. These rule ensure that the instance variables of...
This page is a stub for the Macros with Display Control (MDC) project. As I get more ideas, I`ll be placeing them here. AndrewEisenberg 08 May 2005 A little food...
This is a list of suggested papers that could be read and discussed in this area: Case Studies of Open Source Software Development: Apache and Mozilla Identification...
NESIS Mobile App Documentation One NECSIS project that we are working on is an Android app for General Motors engineers to self report their activities. These can...
Jan Hannemann Problem The paper provides an approach for replacing OO code fragments with corresponding AOP constructs. The approach consists of an iterative four...
ThomasFritz 21 Nov 2005 Review from Thomas Fritz Problem The paper presents the AHEAD model, an approach for the refinement of programs as well as their non code...
Clint Morgan Problem Programming is hard. The author attributes the standard text string representation of programs as a major source of this difficulty. Contributions...
ChrisDutchyn 24 Oct 2005 Review from Chris Dutchyn Problem Program specifications, especially in Hoare logic formulation, for large systems tend to aggregate...
John`s Review Problem This paper presents a tool that allows developers to determine who (a person or organizational group) has relevant experience with a particular...
Date Discussion Contributors Paper Authors Link Reviews Oct 3 Mik , Lyndon, Terry The Architecture of Cooperation: Does Code Architecture Mitigate Free...
Procedure 1. The discussion leader (a Ph`D student) chooses a paper to be reviewed (See below for suggestions on choosing papers). The paper needs to be approved...
The Phoenix Project Goal of the project: to develop a domain specific language for Design Rule checking, as well as a an efficient way of verifying these rules on...
Pointcut by Example Project As his Master`s research project EdMcCormick is developing IDE tool support for editing AspectJ pointcut expressions. The idea of pointcut...
Finding a good paper to present in SPLuRGe is challanging. This page provides a location for people to suggest papers that may be of interest to the whole group...
Printer links can be found off of http://www.cs.ubc.ca/local/computing/ . Various people in the lab can be asked on how to set up for Windows. For Mac help, ask Brett...
Being the Python evangelist that I am, I occasionally hold tutorials within the lab to teach people about the language. This page is to help organize the tutorials...
Refactoring Reading Group KrisDeVolder, AlexBradley, RickChern, LloydMarkle Template for evaluating papers Email these to discussion leader beforehand:...
This page will soon have all of the schedule of papers to read. Unless otherwise noted (i.e., Feb 7), meetings will be in Room 304 at 11am on Thursdays. Papers...
Kim, S. and Ernst, M. D. 2007. Which warnings should I fix first?. In Proceedings of the the 6th Joint Meeting of the European Software Engineering Conference and...
Ko AJ, Myers BA (2004). the Whyline: a debugging interface for asking questions about program behavior Brian`s Review PROBLEM ADDRESSED In previous studies, the...
Date Discussion Contributors Paper Reviews Sept 26 Brian , Ed, Sara Ko AJ, Myers BA the Whyline: a debugging interface for asking questions about program...
Spyglass Documentations Software development environments have evolved to make it easy for third parties to integrate a variety of tools into the environment. Previous...
Here are some helpful tips for new members to the SPL. The lab web page is at Add yourself to the SPL mailing list: mail mailto:majordomo@cs.ubc.ca majordomo...
Date Discussion Contributors Paper Reviews June 1 Chris , Ed, Navjot Sheard T (2004). Languages of the Future. doi:10.1145/1028664.1028711 Extended Abstract...
Syllbaus for Directed Studies in Software Engineering Term 2: Winter 2007 2008 Gail Murphy Vital Statistics Lectures: By appointment, 1 hour per week minimum Office...
This page provides information about thesis proposals from the SPL group. Copies of Thesis Proposals Copies of thesis proposals are voluntarily posted at /cs/spl...
This is a list of suggestions that came out of a lab meeting in February 2006. 1. Make a list of people to speak to at the conference. This may feel like it makes...
Info for getting tools to work. Compiling an unmanaged executable for reading with Phoenix `cl Zi link debug debugtype:cv,fixup` Here is a way to visualize...
Visit All Children Context A design rule for implementing the visit methods of in a visitor design pattern. The rule is probably application specific in that it...
This is a subscription service to be automatically notified by e mail when topics change in this SPL web. This is a convenient service, so you do not have to come...
SPL Web Preferences The following settings are web preferences of the SPL web. These preferences overwrite the site level preferences in ., and can be...
WebProgramming FoRGe As web based applications evolve from simple quick hacks and scripts to critical business applications and become increasingly more complex the...