4,951 papers · page 131 of 248
Jan Wloka, Barbara G. Ryder, Frank Tip
Developers use unit testing to improve the quality of software systems. Current development tools for unit testing help with automating test execution, with reporting results, and with generating test stubs. However, they offer no aid for designing tests aimed specifically at exe…
Jan Wloka, Barbara G. Ryder, Frank Tip, Xiaoxia Ren
Software development teams exchange source code in shared repositories. These repositories are kept consistent by having developers follow a commit policy, such as ldquoProgram edits can be committed only if all available tests succeed.rdquo Such policies may result in long inter…
Timo Wolf, Adrian Schröter, Daniela E. Damian, Thanh H. D. Nguyen
A critical factor in work group coordination, communication has been studied extensively. Yet, we are missing objective evidence of the relationship between successful coordination outcome and communication structures. Using data from IBM's Jazztrade project, we study communicati…
Charles Zhang
Designers of concurrent programs are faced with many choices of synchronization mechanisms, among which clear functional trade-offs exist. Making synchronization customizable is highly desirable as different deployment scenarios of the same program often prioritize synchronizatio…
Ying Zhang, Gang Huang, Nuyun Zhang, Hong Mei
Interactive tutorials, like Eclipse's cheat sheets, are good for novice programmers to learn how to perform tasks (e.g., checking out a CVS project) in an integrated development environment (IDE). Creating these tutorials often requires programming effort that is time-consuming a…
Brian de Alwis, Gail C. Murphy
Programmers seek to answer questions as they investigate the functioning of a software system, such as "which execution path is being taken in this case?" Programmers attempt to answer these questions, which we call conceptual queries, using a variety of tools. Each type of tool …
Carsten Amelunxen, Felix Klar, Alexander Königs, Tobias Rötschke, Andy Schürr
Nowadays, a typical software development process involves many developers which participate in the development process by using a wide variety of development tools. As a consequence, the data representing the project as a whole is distributed over different development tools. For…
Danny Ammon, Dirk Hoffmann, Tobias Jakob, Ekkehard Finkeissen
Medicine as knowledge-intensive domain has been the subject of various approaches of computer-based knowledge management. Most of them concentrated on the design and implementation of expert systems for clinical decision support. Today, medical knowledge bases are implemented for…
Domagoj Babic, Alan J. Hu
Automatically detecting bugs in programs has been a long-held goal in software engineering. Many techniques exist, trading-off varying levels of automation, thoroughness of coverage of program behavior, precision of analysis, and scalability to large code bases. This paper presen…
Maurice H. ter Beek, Stefania Gnesi, Nora Koch, Franco Mazzanti
We report on the successful application of academic experience with formal modelling and verification techniques to an automotive scenario from the service-oriented computing domain. The aim of this industrial case study is to verify a priori, thus before implementation, certain …
Nelly Bencomo, Paul Grace, Carlos A. Flores-Cortés, Danny Hughes, Gordon S. Blair
Engineering adaptive software is an increasingly complex task. Here, we demonstrate Genie, a tool that supports the modelling, generation, and operation of highly reconfigurable, component-based systems. We showcase how Genie is used in two case-studies: i) the development and op…
Stefan Bienk
In this paper, we outline a possible formalization of the semantics of the XML-based ODX language. ODX is a substantial part of the emerging automotive ASAM MCD standard, which describes a middleware layer between offboard diagnosis applications and onboard diagnosis services of …
Xavier Blanc, Isabelle Mounier, Alix Mougenot, Tom Mens
Nowadays, large-scale industrial software systems may involve hundreds of developers working on hundreds of different but related models representing parts of the same system specification. Detecting and resolving structural inconsistencies between these models is then critical. …
Gerald Bortis
Integration engines are a crucial piece of the health care information technology puzzle. Health care organizations like hospitals and clinics are faced with vast amounts of data and a slew of interchange standards and protocols when addressing the issue of exchanging data betwee…
Panuchart Bunyakiati, Anthony Finkelstein, James Skene, Clovis Chapman
The Java-UML Lightweight Enumerator (JULE) tool implements a vitally important aspect of the framework for software tool certification- test suite generation. The framework uses UML models as the test inputs for the bounded exhaustive-testing approach. Within a size bound for the…
Janet E. Burge, David C. Brown
A completed software product is the end result of many decisions that must be made throughout the development lifecycle. Unfortunately, the rationale for these decisions is usually not captured and is therefore lost. The Software Using RATionale (SEURAT) system integrates with th…
Jordi Cabot, Francisco Durán, Nathalie Moreno, Antonio Vallecillo, José Raúl Romero
Distributed Software Engineering (DSE) concepts in Computer Science (or Engineering) Degrees are commonly introduced using a hands-on approach mainly consisting of teaching a particular distributed and component-based technology platform (such as Java Enterprise Edition or Micros…
Bin Chen, George S. Avrunin, Elizabeth A. Henneman, Lori A. Clarke, Leon J. Osterweil, Philip L. Henneman
This paper shows how software engineering technologies used to define and analyze complex software systems can also be effective in detecting defects in human-intensive processes used to administer healthcare. The work described here builds upon earlier work demonstrating that he…
Chunqing Chen, Jin Song Dong, Jun Sun
Timed Interval Calculus (TIC) is a highly expressive set-based notation for specifying and reasoning about embedded real-time systems. However, it lacks mechanical proving support, as its verification usually involves infinite time intervals and continuous dynamics. In this paper…
Feng Chen, Traian-Florin Serbanuta, Grigore Rosu
jPredictor is a tool for detecting concurrency errors in Java programs. The Java program is instrumented to emit property-relevant events at runtime and then executed. The resulting execution trace is collected and analyzed by Predictor, which extracts a causality relation sliced…