4,951 papers · page 169 of 248
Palantír: Raising Awareness among Configuration Management Workspaces
Current configuration management systems promote workspaces that isolate developers from each other. This isolation is both good and bad It is good, because developers make their changes without any interference from changes made concurrently by other developers. It is bad, becau…
Research Demonstrations and Posters
Automation plays an important role in software engineering. ne transition from research breakthroughs to usable tools is neither linear nor easy, and requires a fortunate combination of many elements difficult to identify and merge. In this hard transition process, research proto…
Pattern-Oriented Distributed System Architectures
This tutorial describes how to apply patterns and middleware frameworks to alleviate the complexity of developing software for distributed systems. These patterns and framework components have been used successfully by the presenter on production communication software projects a…
Patterns, Frameworks, and Middleware: Their Synergistic Relationships
The knowledge required to develop complex software has historically existed in programming folklore, the heads of experienced developers, or buried deep in the code. These locations are not ideal since the effort required to capture and evolve this knowledge is expensive, time-co…
Effective Experience Repositories for Software Engineering
Software development and acquisition require knowledge and experience in many areas of software engineering. Experience helps people to make decisions under uncertainty, and to find better compromises. Experience-based process improvement considers experience as a prerequisite fo…
eXtreme Programming at Universities - An Educational Perspective
To address the problems of traditional software development, recent years have shown the introduction of more light-weight or "agile" development processes (eXtreme Programming being the most prominent one). These processes are intended to support early and quick production of wo…
Empowering Software Engineers in Human-Centered Design
Usability is about to become the quality measure of today's interactive software including Web sites, and mobile appliances. User-centered design approach emerges from this need for developing more usable products. However, interactive systems are still designed and tested by sof…
Tutorial H2: An Overview of UML 2.0
This half-day tutorial covers the salient aspects of the first major revision of the Unified Modeling Language, UML 2.0. It includes background information on what drove the requirements and the design rationale-from the point of view of one of its primary designers. The overall …
An Effective Layout Adaptation Technique for a Graphical Modeling Tool
Editing graphic models always entails layout problems. Inserting and deleting items requires tedious manual work for shifting existing items and rearranging the diagram layout. Hence, techniques that automatically expand a diagram when space is required for insertion and contract…
Writing Good Software Engineering Research Paper
Software engineering researchers solve problems of several different kinds. To do so, they produce several different kinds of results, and they should develop appropriate evidence to validate these results. They often report their research in conference papers. I analyzed the abs…
Using Benchmarking to Advance Research: A Challenge to Software Engineering
Benchmarks have been used in computer science to compare the performance of computer systems, information retrieval algorithms, databases, and many other technologies. The creation and widespread use of a benchmark within a research area is frequently accompanied by rapid technic…
On The Supervision and Assessment Of Part-Time Postgraduate Software Engineering Projects
This paper describes existing practices in the supervision and assessment of projects undertaken by part-time, postgraduate students in Software Engineering. It considers this aspect of the learning experience, and the educational issues raised, in the context of existing literat…
Positive Experiences with an Open Project Assignment in an Introductory Programming Course
The course SIF8005 Object-Oriented Programming at the NTNU is in many respects taught in a quite traditional manner, with a well-known textbook, lectures in huge auditoria, and compulsory exercises that the students have to deliver to be allowed to sit a final written exam. The e…
Fault-tolerance in a Distributed Management System: a Case Study
Our case study provides the most important conceptual lessons learned from the implementation of a Distributed Telecommunication Management System (DTMS), which controls a networked voice communication system. Major requirements for the DTMS are fault-tolerance against site or ne…
A Compositional Formalization of Connector Wrappers
Increasingly systems are composed of parts: software components, and the interaction mechanisms (connectors) that enable them to communicate. When assembling systems front independently developed and potentially mismatched parts, wrappers may be used to overcome mismatch as well …
Component Technology - What, Where, and How?
Software components, if used properly, offer many software engineering benefits. Yet, they also pose many original challenges starting from quality assurance and ranging to architectural embedding and composability. In addition, the recent movement towards services, as well as th…
Using Process Technology to Control and Coordinate Software Adaptation
We have developed an infrastructure for end-to-end run-time monitoring, behavior/performance analysis, and dynamic adaptation of distributed software. This infrastructure is primarily targeted to pre-existing systems and thus operates outside the target application, without makin…
Panel: Empirical Validation-What, Why, When, and How
Architectural Level Risk Assessment Tool Based on UML Specifications
Recent evidences indicate that most faults in software systems are found in only a few of a system's components [1]. The early identification of these components allows an organization to focus on defect detection activities on high risk components, for example by optimally alloc…