32943999
A Proposed Curriculum for a Masters in Web Engineering
To address the significant technical demand for trained Web Engineers, and to raise the current state of the practice of Web Engineering, a Master's level degree program in Web Engineering is proposed. The most significant research disciplines for Web Engineering are Network Engineering, Software Engineering, Databases and Storage Systems, and Hypermedia. Important aspects of these disciplines are distilled into key knowledge areas for Web Engineering. A curriculum organization is proposed that consists of coursework that covers the key knowledge areas, along with a multi-semester Web design project that synthesizes and applies this knowledge on a real-world Web application. The aim of the paper is to begin a dialog on the characteristics and aims of graduate-level Web Engineering degree programs.
17717719
Design spaces for link and structure versioning
This paper reflects upon existing composite-based hypertext versioning systems, and presents two high-level design spaces that capture the range of potential choices in system data models for versioning links, and versioning hypertext structure. These two design spaces rest upon a foundation consisting of a containment model, describing choices for containment in hypertext systems, and the design space for persistently recording an object's revision history, with applicability to all versioning systems. Two example points in the structure versioning design space are presented, corresponding to most existing composite-based hypertext versioning systems. Using the presented design spaces allows the data models of existing hypertext versioning systems to be decomposed and compared in a principled way, and provides new system designers significant insight into the design tradeoffs between various link and structure versioning approaches.
21934141
Micro pattern evolution
When analyzing the evolution history of a software project, we wish to develop results that generalize across projects. One approach is to analyze design patterns, permitting characteristics of the evolution to be associated with patterns, instead of source code. Traditional design patterns are generally not amenable to reliable automatic extraction from source code, yet automation is crucial for scalable evolution analysis. Instead, we analyze "micro pattern" evolution; patterns whose abstraction level is closer to source code, and designed to be automatically extractable from Java source code or bytecode. We perform micro-pattern evolution analysis on three open source projects, ArgoUML, Columba, and jEdit to identify micro pattern frequencies, common kinds of pattern evolution, and bug-prone patterns. In all analyzed projects, we found that the micro patterns of Java classes do not change often. Common bug-prone pattern evolution kinds are 'Pool → Pool', 'Implementor → NONE', and 'Sampler → Sampler'. Among all pattern evolution kinds, 'Box', 'CompoundBox', 'Pool', 'CommonState', and 'Outline' micro patterns have high bug rates, but they have low frequencies and a small number of changes. The pattern evolution kinds that are bug-prone are somewhat similar across projects. The bug-prone pattern evolution kinds of two different periods of the same project are almost identical.
8320820
Identification of software instabilities
As software evolves, maintenance practices require aprocess of accommodating changing requirements whileminimizing the cost of implementing those changes. Overtime, incompatibilities between design assumptions andthe operational environment become more pronounced,requiring some regions of the implementation to requirerepeated modification. These regions are considered tobe "unstable", and may benefit from targetedrestructuring efforts as a means of realigning theseassumptions and the environment.An analysis of these regions that identifies andclassifies these instabilities can be used to prioritize anddirect structural maintenance efforts. To this end, wepresent an identification approach that augments staticdependence graphs with data retrieved fromconfiguration management (CM) systems. This approachavoids the assumption that artifacts changing within thesame CM transaction are related, without requiringsophisticated change management data. We alsodescribe our work-to-date in validating the underlyingassumptions and identifying instabilities.
206854545
Predicting Faults from Cached History
We analyze the version history of 7 software systems to predict the most fault prone entities and files. The basic assumption is that faults do not occur in isolation, but rather in bursts of several related faults. Therefore, we cache locations that are likely to have faults: starting from the location of a known (fixed) fault, we cache the location itself, any locations changed together with the fault, recently added locations, and recently changed locations. By consulting the cache at the moment a fault is fixed, a developer can detect likely fault-prone locations. This is useful for prioritizing verification and validation resources on the most fault prone files or entities. In our evaluation of seven open source projects with more than 200,000 revisions, the cache selects 10% of the source code files; these files account for 73%-95% of faults - a significant advance beyond the state of the art.
5221782
WebDAV: A network protocol for remote collaborative authoring on the Web
Collaborative authoring tools generate network effects, where each tool's value depends not just on the tool itself, but on the number of other people who also have compatible tools. We hypothesize that the best way to generate network effects and to add collaborative authoring capability to existing tools is to focus on the network protocol. This paper explores a protocol-centric approach to collaborative authoring by examining the requirements and functionality of the WebDAV protocol. Key features of the protocol are non-connection-oriented concurrency control, providing an upward migration path for existing non-collaborative applications, support for remote manipulation of the namespace of documents, and simultaneous satisfaction of a wide range of functional requirements.
911709
Homeomorphs and amallamorphs of the Petersen graph
Let P be the Petersen graph. The main results of this paper are the discovery of infinite families of chromatically equivalent pairs of P homeomorphs and the discovery of infinite families of flow equivalent pairs of P amallamorphs. In particular, three families of P homeomorphs with 8 parameters, five families with 7 parameters and many families with fewer parameters are obtained. Also one family of P amallamorphs with 9 parameters, three families with 7 parameters, seven families with 6 parameters and many families with fewer parameters are obtained.
31951842
The chromaticity of certain graphs with five triangles
Abstract Let W(n, k) denote the graph of order n obtained from the wheel Wn by deleting all but k consecutive spokes. In this note, we study the chromaticity of graphs which share certain properties of W(n, 6) which can be obtained from the coefficients of the chromatic polynomial of W(n, 6). In particular, we prove that W(n, 6) is chromatically unique for all integers n⩾8. We also obtain two additional families of chromatically unique graphs.