waashk/dblp huggingface dataset:
the effect of program and model structure on mc/dc test adequacy coverage. in avionics and other critical systems domains, adequacy of test suites is currently measured using the mc/dc metric on source code (or on a model in model-based development). we believe that the rigor of the mc/dc metric is highly sensitive to the structure of the implementation and can therefore be misleading as a test adequacy criterion. we investigate this hypothesis by empirically studying the effect of program structure on mc/dc coverage. to perform this investigation, we use six realistic systems from the civil avionics domain and two toy examples. for each of these systems, we use two versions of their implementation-with and without expression folding (i.e., inlining). to assess the sensitivity of mc/dc to program structure, we first generate test suites that satisfy mc/dc over a non-inlined implementation. we then run the generated test suites over the inlined implementation and measure mc/dc achieved. for our realistic examples, the test suites yield an average reduction of 29.5% in mc/dc achieved over the inlined implementations at 5% statistical significance level.
debugging reinvented: asking and answering why and why not questions about program behavior. when software developers want to understand the reason for a program's behavior, they must translate their questions about the behavior into a series of questions about code, speculating about the causes in the process. the whyline is a new kind of debugging tool that avoids such speculation by instead enabling developers to select a question about program output from a set of why did and why didn't questions derived from the program's code and execution. the tool then finds one or more possible explanations for the output in question, using a combination of static and dynamic slicing, precise call graphs, and new algorithms for determining potential sources of values and explanations for why a line of code was not reached. evaluations of the tool on one task showed that novice programmers with the whyline were twice as fast as expert programmers without it. the tool has the potential to simplify debugging in many software development contexts.
sdsoa 2007: international workshop on systems development in soa environments. the service-oriented architecture (soa) paradigm is having a substantial impact on the way software systems are developed. although significant progress is being made in several fronts, there are not a set of clear, central themes to focus research activity. as a result, there is a danger that important research needs will be overlooked, while other efforts will focus on issues of peripheral long-term significance in practice. the objective of this workshop is to begin developing a long-term community-wide research agenda for the successful development of soa-based systems. a tentative taxonomy of research issues will be presented, as well as papers that focus on specific parts of the taxonomy. through an interactive workshop format, researchers will collaboratively identify open research issues and develop a draft research agenda for the community.
mining software engineering data. software engineering data (such as code bases, exe- cution traces, historical code changes, mailing lists, and bug databases) contains a wealth of information about a project's status, progress, and evolution. using well- established data mining techniques, practitioners and re- searchers can explore the potential of this valuable data in order to better manage their projects and to produce higher-quality software systems that are delivered on time and within budget. this tutorial presents the latest research in mining soft- ware engineering (se) data, discusses challenges associ- ated with mining se data, highlights se data mining suc- cess stories, and outlines future research directions. partic- ipants will acquire knowledge and skills needed to perform research or conduct practice in the field and to integrate data mining techniques in their own research or practice.
migration of legacy assets to service-oriented architecture environments. this tutorial addresses the problem of the migration of legacy assets to service-oriented architecture (soa) environments. it addresses how to develop a realistic strategy for performing such a migration, taking into account both the business needs of the organization and the technical content of the organization's existing systems portfolio. the tutorial outlines an approach for performing an overall analysis and making decisions on the legacy assets that are candidates for migration. it highlights the challenges of building an soa-based system and presents development issues from three perspectives: the application developer, the infrastructure developer, and the service provider. the needs and concerns of each of these participants are considered in order to develop successful soa-based systems.
design and implementation of the software architecture for a 3-d reconstruction system in medical imaging. the design and implementation of the reconstruction system in medical x-ray imaging is a challenging issue due to its immense computational demands. in order to ensure an efficient clinical workflow it is inevitable to meet high performance requirements. hence, the usage of hardware acceleration is mandatory. the software architecture of the reconstruction system is required to be modular in a sense that different accelerator hardware platforms are supported and it must be possible to implement different parts of the algorithm using different acceleration architectures and techniques. this paper introduces and discusses the design of a software architecture for an image reconstruction system that meets the aforementioned requirements. we implemented a multi-threaded software framework that combines two software design patterns: the pipeline and the master/worker pattern. this enables us to take advantage of the parallelism in off-the-shelf accelerator hardware such as multi-core systems, the cell processor, and graphics accelerators in a very flexible and reusable way.
e-bus: a toolkit for extracting business services from java software systems. e-bus (extracting business services) is an integrated environment to extract and model critical business services embedded in java systems by utilizing graphic representations and transformations of system models. the extracted business services can be realized as self-contained components. our evaluation has shown that e-bus is effective and scalable in identifying and extracting business services from large java legacy systems.
workshop summary - icse workshop on software engineering for pervasive computing applications, systems, and environments (sepcase). this workshop aims to provide a forum for researchers to discuss the state of the art of software engineering practices and research challenges in designing and building pervasive computing systems and applications. such systems are intended to support seamless mobility of users across different physical spaces by providing context-aware adaptation of their applications in regard to functionality, transparent resource discovery and access, and proactive actions. context-based dynamic integration of distributed services and components in applications involving mobile users is an intrinsic characteristic of such environments. building pervasive computing applications requires knowledge of many areas, such as programming models and software architectures, component based application integration, service-oriented architectures, middleware systems, security and privacy, sensor data aggregation for context management, database systems, policy-based system designs, fault-tolerant computing, application of formal methods, to name a few.
automation of software test - report on the second interional workshop ast 2007. software testing is indispensable for all software development. as all mature engineering disciplines need to have systematic testing methodologies, software testing is a very important subject of software engineering. in software development practice, testing accounts for as much as 50% of total development efforts. it is imperative to reduce the cost and improve the effectiveness of software testing by automating the testing process, which contains many testing related activities using various techniques and methods.
agile methods: crossing the chasm. an armada of emerging agile methods of software development (with extreme programming and scrum being the most broadly used) is both gaining popularity and generating lots of controversy. this high-level tutorial gives an overview of agile methods and provides background to understand how agile teams are addressing modern software engineering challenges. analysis of empirical evidence is used to discuss strengths and limitations of agile methods in various contexts. the participants are introduced to the innovation diffusion models and environments, and discuss what is needed for agile methods to cross the chasm and move into the mainstream of software development.
developing an architecture of a knowledge-based electronic patient record. 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 various purposes, including encyclopedic sources of information for clinicians. we present a prototypical development of architecture for an electronic patient record which structurally depends on such an encyclopedic representation and is therefore knowledge-based. using the kads approach for knowledge engineering, three modeling steps and architectural parts could be identified, definition of basic concepts, the structural knowledge base model, and the interactive process of knowledge instantiation which constitutes clinical documentation. furthermore, we present an analysis of possible benefits of a knowledge-based electronic patient record in health care as well as in adjacent fields.
moda - multiple objective decision analysis: balancing quality attributes in software architectures. a high-quality software architecture facilitates in developing a high quality software-intensive system. to design such architecture, the architect must consider multiple stakeholders' inconsistent, contradictory, and partially understood objectives, and balance the myriad tradeoffs among them. our approach proposes to balance quality attributes in software architectures by identify the important-yet-to-be-addressed quality attributes during the design process and provide architecture analysis methods to help compare the resulting architecture candidates with respect to required quality attributes.
fifth workshop on software quality. cost, schedule and quality are highly correlated factors in software development. they basically form three sides of the same triangle. beyond a certain point (the "quality is free" point), it is difficult to increase the quality without increasing either cost or schedule or both for the software under development. as products and applications mature, users expect higher quality products. they want it organizations to be responsible and accountable for the quality claims made by the product marketing teams. in the last couple decades, much software engineering research has focussed on standards, methodologies and techniques for improving software quality, measuring software quality and software quality assurance. most of this research is focused on the internal/development view of quality. more recent studies done in conjunction with the marketing groups have made attempts to understand the customer view of quality. all of these different ongoing activities to understand quality from the various perspectives have made the field even more enriching and exciting. the fifth workshop on software quality aims to bring together academic, industrial and commercial communities interested in software quality topics to discuss the different technologies being defined and used in the software quality area.
2nd international workshop on realising evidence-based software engineering (rebse-2). the rebse international workshops are concerned with exploring the adaptation and use of the evidence-based paradigm in software engineering research and practice. the workshops address this goal through a mix of presentations and discussion, drawing upon ideas and experiences from other disciplines where appropriate.
empirical methods in software engineering research. over the past decade, empirical methods have gained acceptance for validating tools and methods in software research. this tutorial aims at acquainting participants with the main methods used in empirical work in software research, enabling them to evaluate empirical results for validity as well as providing the basis for carrying out empirical studies. a wide range of empirical approaches are covered, including case studies, experiments, field studies, and surveys. these approaches are introduced by prominent examples from the software engineering literature. common pitfalls are pointed out. participants also critique empirical papers in small discussion groups, based on worksheets with prepared questions.
lean software development. lean software development is the application of the principles of the toyota product development system to software development. toyota has been extremely successful developing complex new vehicles, which include a vast amount of embedded software, in a very short time and always on time. this tutorial examines the underlying engineering principles toyota uses to develop vehicles and shows how they can be applied to software development. when correctly applied, lean software development results in high quality software that is developed quickly and at the lowest possible cost. moreover, the success of many of the practices of agile software development can be explained by understanding the principles of lean software development.
developing secure embedded systems: pitfalls and how to avoid them. we give an overview over the challenges in developing secure embedded systems and show how to use the approach of model-based security engineering (mbse) to address them. in mbse [jür04, jür05a, jür05b, jür06, bjn07], recurring security requirements (such as secrecy, integrity, authenticity and others) and security assumptions on the system environment, can be specified either within a uml specification, or within the source code (java or c) as annotations. the associated tools [uml04] (fig. 1b) generate logical formulas formalizing the execution semantics and the annotated security requirements.
evolving software product lines with aspects: an empirical study on design stability. software product lines (spls) enable modular, large-scale reuse through a software architecture addressing multiple core and varying features. to reap the benefits of spls, their designs need to be stable. design stability encompasses the sustenance of the product line's modularity properties in the presence of changes to both the core and varying features. it is usually assumed that aspect-oriented programming promotes better modularity and changeability of product lines than conventional variability mechanisms, such as conditional compilation. however, there is no empirical evidence on its efficacy to prolong design stability of spls through realistic development scenarios. this paper reports a quantitative study that evolves two spls to assess various design stability facets of their aspect-oriented implementations. our investigation focused upon a multi-perspective analysis of the evolving product lines in terms of modularity, change propagation, and feature dependency. we have identified a number of scenarios which positively or negatively affect the architecture stability of aspectual spls.
towards practical software traceability. the importance of software traceability to software development is recognized by researchers and practitioners; yet, current approaches fall short of providing effective traceability in practice. an analysis of reported difficulties with traceability reveals that interacting factors from the economic, technical, and social perspectives hinder traceability. motivated by the multi-faceted traceability problem, we combine architecture-centric stakeholder-driven traceability with open hypermedia, and we use insights from e-science to guide our approach. we highlight expected contributions and discuss evaluation plans. finally, we distinguish our approach from related research and technologies.
seams 2007: software engineering for adaptive and self-managing systems. the objective of the seams (software engineering for adaptive and self-managing systems) workshops is to consolidate the interest in the software engineering community on autonomic, self-managing, self-healing, self-optimizing, self-configuring, and self-adaptive systems. seams provides a forum for researchers to share new results, raise awareness, and promote collaboration within the community. the seams 2007 workshop builds on the great success of seams 2006 at icse in shanghai to assess progress and identify challenges in this area.
4th international icse workshop on software engineering for automotive systems. the amount of software in cars grows exponentially. driving forces of this development are the availability of cheaper and more powerful hardware as well as the demand for innovation through new functionality. the rapidly growing significance of software and software-based functionality is at the root of various challenges in the automotive industries, concerning their organization, definition of key competencies, processes, methods, tools, models, product structures, division of labor, logistics, maintenance, and long term strategies [1,2].
requirements engineering so things don't get ugly. regardless of which report you read, the battle cry is loud and clear "projects are failing more often than they are successful. something must be done!" but what? that's the million dollar question. a great start for fixing this long-standing software development crisis is with requirements; we must fully understand what we are developing before we can develop the right product for our customers. readers will probably shake their head and say "of course we do" but statistics show that even though this seems to be a "no brainer" we still aren't doing it.
existential live sequence charts revisited. scenario-based specifications are a popular means for describing intended system behaviour. we aim to facilitate early analysis of system behaviour and the development of behaviour models in conjunction with scenarios. in this paper we define a novel scenario-based specification language with an existential semantics and that supports conditional specification of behaviour in the form of prechart and main chart. the language semantics is consistent with existing informal scenario-based and use-case based approaches to requirements engineering. the language provides a good fit with universal live sequence charts as standard existential live sequence charts do not adequately support conditional scenarios. in addition, we define a novel synthesis algorithm that, rather than building arbitrarily one of the many behaviour models that satisfy a scenario, constructs a modal transition system (mts) which characterizes all behaviour models that conform to the scenario.
topes: reusable abstractions for validating data. programmers often omit input validation when inputs can appear in many different formats or when validation criteria cannot be precisely specified. to enable validation in these situations, we present a new technique that puts valid inputs into a consistent format and that identifies "questionable" inputs which might be valid or invalid, so that these values can be double-checked by a person or a program. our technique relies on the concept of a "tope", which is an application-independent abstraction describing how to recognize and transform values in a category of data. we present our definition of topes and describe a development environment that supports the implementation and use of topes. experiments with web application and spreadsheet data indicate that using our technique improves the accuracy and reusability of validation code and also improves the effectiveness of subsequent data cleaning such as duplicate identification.
modeling the effect of size on defect proneness for open-source software. software engineering is a decision intensive discipline. do we really understand all the factors that can influence those decisions? can we build models that reveal hidden patterns in software resource management, in development processes, or in software artifacts themselves? how well do these models predict? can they be used without requiring domain expert intervention? do the models lead to better decisions? how are we to validate these models? is the model creation process repeatable? are there better, faster, cheaper ways to build models? how effective are these models for identifying causal relations? the promise workshop seeks to address these questions and others, and to deliver to the software engineering community useful, usable, verifiable models, and public datasets for building and evaluating new models. at present, the promise repository contains more than 30 datasets.
first international workshop on emerging trends in floss research and development. the "emerging trends in floss research and development" workshop series will be based on the growing interest of researchers and practitioners in free/libre open source software (floss). the first workshop will be specifically focused on discussing the phenomenon of global floss development and how to improve cllaboration and the communication of results between researchers, practitioners and floss communities. for this purpose, the overarching theme of this year's workshop is "feeding back the communities". its goal is to bring together academic researchers, industry members and floss developers and to discuss crossfertilization of results on floss research and practice.
engineering medical information systems: architecture, data and usability & security. there has been increasing pressure on the health care sector to adopt information technologies to rationalize service delivery and increase service quality. medical information systems need to be highly interoperable and effectively manage complex information of great sensitivity. moreover, they have to be optimized for usability in a highly complex knowledge base and agile work environment. this tutorial introduces key concepts, methods and techniques essential for engineering clinical information systems, in particular electronic medical records. it targets participants with basic software engineering knowledge who are or will be involved in development, maintenance, evolution or research of medical software.
get your experience factory ready for the next decade - ten years after "how to build and run one". this one-day tutorial aims at industry practitioners, managers and developers alike, who want to learn more about how to successfully design, implement and run an experience factory, to systematically build up and manage the experience of an organization. state-of- the art methods and techniques on how to initially set-up or to further develop and improve an organization's experience factory are discussed. participants should come from organizations (not only from the software domain) that are interested in implementing an experience factory to help effectively support improvement activities (such as tqm, iso 9000, cmmi, spice, or tsp) to gain competitive advantages.