Showing posts with label paper. Show all posts
Showing posts with label paper. Show all posts

02 March 2010

Mashup Environments in Software Engineering

Software developers perform different kinds of analytical activities. For example, they want to find out which code might be affected by a change, which change caused a bug or build failure, or which source code was changing in work items related to performance issues. Similarly, project managers might want to learn from the latest iteration of product development by analyzing produced artifacts, e.g. work items, source code and build results. There are many tasks in software engineering that would benefit from tools that enable the flexible and integrated analysis of information stored in different places such as issue trackers, source code repositories, and requirements documents.

Together with Christoph Treude and Margaret-Anne Storey, I outlined the idea how mashup technology can be leveraged to achieve this. Our 2 page position paper "Mashup Environments in Software Engineering" was accepted at Web2SE, the First Workshop on Web 2.0 for Software Engineering, co-located with ICSE 2010. Here is the abstract of our paper:

Too often, software engineering (SE) tool research is focused on
creating small, stand-alone tools that address rarely understood
developer needs. We believe that research should instead provide
developers with flexible environments and interoperable tools,
and then study how developers appropriate and tailor these tools
in practice. Although there has been some prior work on this, we
feel that flexible tool environments for SE have not yet been fully
explored. In particular, we propose adopting the Web 2.0 idea of
mashups and mashup environments to support SE practitioners in
analytic activities involving multiple information sources.

Download Paper

29 May 2008

Configuring Eclipse for Writing Papers

I used to write my papers in Latex using Kile (a KDE Latex IDE) - but several limitations like having to use external tools for versioning, missing integrated literature management and limited extendibility made me look for an alternative solution.

Being an Eclipse user & RCP developer, I immediately though of customizing Eclipse for writing scientific publications aka papers. Here is a short description of the configuration I currently use:

Programs / Plugins
- Eclipse 3.4 as baseline
- TexClipse for writing Latex
- EclipseWiki for writing notes on read literature using a wiki style in the workspace
- A local Subversion server for versioning my changes
- Subversive for connecting to subversion

General Configuration
- file association (under Preferences) *.bib to my favorite bibliography tool (KBibTex)
- file association *.pdf to preferred PDF viewer
- Wiki settings to use TWiki (Preferences/Wiki/Rendering) for historical reasons

Subversion / Workspace layout
- no trunk/branches/tags, just plain project name (I believe that this is not necessary because typical publications do not require branching etc. as far as I see it)
- for each publication I write, I have a separate project, e.g. paper_conferenceA_2008
- there is a bibliography project with the bibliography.bib file used by all projects (by \bibliography{../bibliography/bibliography} - when I finish a paper I copy the current bibliography to that project and change the reference to the copy (to it from breaking in the future))
- in the bibliography project, I have a literature folder containing .wiki (notes) and .pdf (paper itself) files for the papers I read. That way, I can search my notes and find the papers. The name for both is firstauthorname_yearX, X being a,b,c... depending on the number of publications from that author in that year.

Project configuration
- Latex Project Properties/temporary files directory: tmp (excluded in subversion)
- output as DVI

The advantages of using such a configuration are:
- if you are used to Eclipse, you can rely on this knowledge (e.g. shortcuts)
- integrated versioning support
- notes, papers, and bibliography at one place
- opportunity to develop additional tooling (visualizations, search, etc.)
- mostly platform independent

I might have missed some details of my configuration - if you notice something not quite working or unclear, please comment on this post.