Archface: a contract place where architectural design and code meet
- This paper proposes a new mechanism based on component-and-connector architecture to bridge the gap between design and implementation. The authors introduce a notion of predicate coordination where program points are exposed by a predicate and coordinated by a connector. Archface is implemented on ASPECTJ and uses AOP notions of joint points and advice to implement.
Daniel Le Mtayer, Manuel Maarek, Valrie Viet Triem Tong, Eduardo Mazza,
Marie-Laure Potet, Nicolas Craipeau, Stphane Frnot, Ronan Hardouin:
Liability in software engineering: overview of the LISE approach and
illustration on a case study.
- This paper attempes to formalize the notion of liability and illustrates the use of formal definations by means of a running case study. The authors show how in this particular case formal methods can be used to manage legal issues and fix liability in case of a claim by the customer. There are many legal aspects regarding goverment laws, collecting evidence before claim, etc which are left out of the scope of the study, Nevertheless this paper shows how formal methods can be useful even in areas like legal liability in today's world.
Thomas D. LaToza, Brad A. Myers:
Developers ask reachability questions.
- This paper is a study of interviews taken by the author of professional developers and the kind of questions they ask while coding/debugging. The most common questions which developers seem to care about are the kind where you need to search across feasible paths through a program for target statements matching a search criterion (Reachability Question). Not many IDE support answering these kinds of questions on large complex codebases hence a lot of development time is spent (9 out of 10 longest activities).
Thomas Fritz, Gail C. Murphy:
Using information fragments to answer the questions developers ask.
- This paper tries to use automated composition of information fragments (like who is working on what, which classes where changes since yesterday, what are my team members working on etc) to answer some of the questions developers face during their work daily. Using the information fragment model proposed by authors the developers were able to answer 94% (of 78) of commonly identified such questions. The paper evaluates it with a detailed usability study with 18 professional developers who are trained for 15 mins to use this system before evaluation.
Piramanayagam Arumuga Nainar, Ben Liblit:
Adaptive bug isolation.
- This paper uses statistical models to instrument and monitor only those program behaviours which are predictive of failure and thus shows considerable performance improvements as compared to realistic sampling based instrumentation and complete binary instrumentation. The authors achieve this by starting with monitoring only a small portion of the program and automatically refining the instrumentation over time. This refinement is modelled as a search over the CDG of the program. The paper evaluates different heuristics and design alternatives to perform this search effectively.
Brian Demsky, Patrick Lam:
Views: object-inspired concurrency control.
- This paper attempts to bring in a notion of views in to manage fine grained concurrency control. As claimed by the authors views make the task of implementing sophisticated locking schemes and provide static checks to avoid many kind of data races. The evaluation section of the paper seems weak, in the sense it doesn't go beyond telling us that "they implemented views and it works". The authors conclude that in their experience working with views was simpler and easier.
Swarup Kumar Sahoo, John Criswell, Vikram S. Adve:
An empirical study of reported bugs in server software with implications
for automated bug diagnosis.
- A new study which looks at a sample of bugs from the 6 major open source server software. Some of the interesting results seem to be that there are very less concurrent bugs in production versions, most bugs (80%) can be reproduced by running the last input before crash/bug again. This has some implications for designing bug analysis software for such servers which they discuss in the paper.
Aditya V. Nori, Sriram K. Rajamani:
An empirical study of optimizations in YOGI.
- An empirical study of the 5 major optimizations done by the team in the new Static Verification Tool- Yogi, which is currently being evaluated by the windows group for use in static driver verifier. This is a first such attempt of trying to study the heuristics that go into building a real world tool with emphasis on the engineering efficiencies gained by using the heuristics in form of faster and more precise analysis.
New Tool for IDE
Andrew Bragdon, Steven P. Reiss, Robert C. Zeleznik, Suman Karumuri,
William Cheung, Joshua Kaplan, Christopher Coleman, Ferdi Adeputra, Joseph
J. LaViola Jr.:
Code bubbles: rethinking the user interface paradigm of integrated
- This paper evaluates the use of a new metaphor to view and edit large amount of code aka bubbles. The authors present usability studies and interviews with professional developers to illustrate the efficiency and productivity of using bubbles in the development process as compared to a Window/Tab based UI.