4,951 papers · page 138 of 248
T. C. Nicholas Graham, Rick Kazman, Chris Walmsley
This paper outlines our experiences with making architectural tradeoffs between performance, availability, security, and usability, in light of stringent cost and time-to-market constraints, in an industrial web-conferencing system. We highlight the difficulties in anticipating f…
Alex Groce, Gerard J. Holzmann, Rajeev Joshi
Most flight software testing at the Jet Propulsion Laboratory relies on the use of hand-produced test scenarios and is executed on systems as similar as possible to actual mission hardware. We report on a flight software development effort incorporating large-scale (biased) rando…
John C. Grundy, John G. Hosking
Software engineers often use hand-drawn diagrams as preliminary design artefacts and as annotations during reviews. We describe the addition of sketching support to a domain-specific visual language meta-tool enabling a wide range of diagram-based design tools to leverage this hu…
Scott A. Hendrickson, André van der Hoek
The essence of any modeling approach for product line architectures lies in its ability to express variability. Existing approaches do so by explicitly specifying variation points inside the architectural specification of the entire product line, usually with optional and alterna…
Reid Holmes, Robert J. Walker
Software reuse has long been promoted as a means to increase developer productivity; however, reusing source code is difficult in practice and tends to be performed in an ad hoc manner. This is problematic because poor decisions can be made either to attempt an unwise, overly com…
Shinichi Honiden, Yasuyuki Tahara, Nobukazu Yoshioka, Kenji Taguchi, Hironori Washizaki
This paper discusses the Top SE program established to bridge the industry-academia gap. The program features extensive use of software engineering tools, not only to introduce students to the tools, but also as a conduit for learning the techniques and guidelines needed to apply…
David S. Janzen, Hossein Saiedian
Test-driven development (TDD) has garnered considerable attention in professional settings and has made some inroads into software engineering and computer science education. A series of leveled experiments were conducted with students in beginning undergraduate programming cours…
Chris Jensen, Walt Scacchi
Socio-technical processes have come to the forefront of recent analysis of the open source software development (OSSD) world. Interest in making these processes explicit is mounting, from industry and the software process community, as well as among those who may become contribut…
Lingxiao Jiang, Ghassan Misherghi, Zhendong Su, Stéphane Glondu
Detecting code clones has many software engineering applications. Existing approaches either do not scale to large code bases or are not robust against minor code modifications. In this paper, we present an efficient algorithm for identifying similar subtrees and apply it to tree…
Yan Jin, Antony Tang, Jun Han, Yan Liu
Database-centric information systems are critical to the operations of large organisations. In particular, they often process a large amount of data with stringent performance requirements. Currently, however, there is a lack of systematic approaches to evaluating and predicting …
Christopher G. Jones
While today's IT students may have a theoretical knowledge of all the phases in the systems development lifecycle, they often have little exposure to software development core practices. Few are able to build a new system from scratch. This paper examines a pedagogical approach t…
Mira Kajko-Mattsson
It may not be enough to develop mature processes at the back-end support level. Other strongly collaborating front-end support processes may substantially undermine them. For this reason, we have created CM3: front-end problem management - a detailed problem management process mo…
Mika Karaila, Tarja Systä
Template meta-programming techniques can be used to increase efficiency in software development. These techniques have traditionally been used with textual programming languages, such as C++. In this paper, we discuss how corresponding techniques can be used with visual languages…
Adam Kiezun, Michael D. Ernst, Frank Tip, Robert M. Fuhrer
Type safety and expressiveness of many existing Java libraries and their client applications would improve, if the libraries were upgraded to define generic classes. Efficient and accurate tools exist to assist client applications to use generic libraries, but so far the librarie…
Miryung Kim, David Notkin, Dan Grossman
Mapping code elements in one version of a program to corresponding code elements in another version is a fundamental building block for many software engineering tools. Existing tools that match code elements or identify structural changes - refactorings and API changes - between…
Sunghun Kim, Thomas Zimmermann, E. James Whitehead Jr., Andreas Zeller
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: st…
Amy J. Ko, Robert DeLine, Gina Venolia
Previous research has documented the fragmented nature of software development work. To explain this in more detail, we analyzed software developers' day-to-day information needs. We observed seventeen developers at a large software company and transcribed their activities in go-…
Sergei Kojarski, David H. Lorenz
The simultaneous use of multiple aspect languages has the potential of becoming a significant one, as new aspect- oriented frameworks are developed and existing ones expand to incorporate features of others. A key challenge in combining multiple aspect-oriented languages is ident…
Gary T. Leavens, Peter Müller
Information hiding controls which parts of a class are visible to non-privileged and privileged clients (e.g., subclasses). This affects detailed design specifications in two ways. First, specifications should not expose hidden class members. As noted in previous work, this is im…
Matthieu Leclercq, Ali Erdem Özcan, Vivien Quéma, Jean-Bernard Stefani
Many architecture description languages (ADLs) have been proposed to model, analyze, configure, and deploy complex software systems. To face this diversity, extensible ADLs (or ADL interchange formats) have been proposed. These ADLs provide linguistic support for integrating vari…