Like with day 1 I will comment on the two papers that I listened to that made me think, but before that some other interesting activities is worth mentioning.
Ten year most influential paper award. The ICSE community give a prize for the paper that at the ICSE conference 10 years back made the biggest impact. The decision is based on several data source, including citations and nominations from members of the community (a.k.a mixed methods approach).
This year the award was shared between two papers:
Corbett et al. Bandera: extracting finite-state models from Java source code
Mockus et al. A case study of open source software development: the Apache server
I think this is a raher nice idea for a community to do… (must also be quite difficult to determine sometimes)
Panel session: Software Engineering in South Africa
This was heavily debated but the predictable issues were highlighted: do people like the JCSE, CSSA, SAICSIT, etc do their job wrt Software Engineering education? What can we do about lack of educational pipeline capable of maths and science? The demand is high, students are lured away from post-graduate study as they are not really software engineers after 3 or 4 years…
My selected two papers for the day…
Seyff et al. End-user requirements Blogging with iRequire.
The basic idea is to get users to capture requirements on a mobile device. Their “systems” is very basic, and the example that explained it with did not really do it for me, BUT I can see the sense in collecting requirements for today’s mobile and social type of applications. They also made a case for the need in terms of increased software personalization requirements. The basic question then would be “can we do this cost-effectively?”
Previous studies by the authors revealed that getting users to audio record requirements did not work that well. Long recordings of little value were made. they therefore set out to provide more guidance. Their prototype allows users to record requirements in situ as requirements become apparent. Firstly users can take a picture to help with the recording of context. Thereafter users provide a small textual description and 30 seconds of audio, where after they ask for a specific task description and rationale. Interestingly enough they found that users struggled to distinguish between task and rationale, so this was offered as a combination question. They also incorporated further context info through GPS integration.
In their trials they found that some situations make it difficult to capture requirements, but at the same time many were fine. users did not report that normal tasks were affected. Several requirements were recorded that transpired from being “in the wild” while having a mechanism to record newly realised requirements.
Their reporting back of the requirements seem to need some attention. It is unclear why you would, for example want to display requirements according to geographic position of recording… Nevertheless an interesting idea and worth exploring.
Code Bubbles: rethinking the User interface Paradigm of Integrated Development Environments.
This project built a new IDE with Eclipse in the background. Essentially they display a code fragment, say a methods in a code bubble and when you follow the code by say choosing another method call, that code is opened in a new bubble. Bubbles are associated and can be grouped. Other types of information can also be included in bubbles, say Javadoc documentation for an OS call, or a bubble stack showing all calls to a method. These bubbles can be zoomed in and out of to give a “big view”. Of course all the expected functions, like saving your layout and groups, emailing the resulting XML file etc are present.
I like the idea but am not sure that I would like to create large stacks of new code in such interface. However it would be a great kind of tool to explore a new code base, or even to do minor editing and debugging. Have a look on their site.