Results 1 - 10
of
50
A Comprehensive Survey of Trends in Oracles for Software Testing
, 2013
"... Testing involves examining the behaviour of a system in order to discover potential faults. Determining the desired correct behaviour for a given input is called the “oracle problem”. Oracle automation is important to remove a current bottleneck which inhibits greater overall test automation; witho ..."
Abstract
-
Cited by 20 (4 self)
- Add to MetaCart
Testing involves examining the behaviour of a system in order to discover potential faults. Determining the desired correct behaviour for a given input is called the “oracle problem”. Oracle automation is important to remove a current bottleneck which inhibits greater overall test automation; without oracle automation, the human has to determine whether observed behaviour is correct. The literature on oracles has introduced techniques for oracle automation, including modelling, specifications, contract-driven development and metamorphic testing. When none of these is completely adequate, the final source of oracle information remains the human, who may be aware of informal specifications, expectations, norms and domain specific information that provide informal oracle guidance. All forms of oracle, even the humble human, involve challenges of reducing cost and increasing benefit. This paper provides a comprehensive survey of current approaches to the oracle problem and an analysis of trends in this important area of software testing research and practice.
Organizing definitions and formalisms for dynamic software architectures
- In Proceedings of the 1st ACM SIGSOFT workshop on Self-managed systems Newport
, 2004
"... Dynamic architectural change is defined as the addition and removal of components and connectors. Dynamic software architectures are those architectures that modify their architecture and enact the modifications during the system’s execution. This behavior is most commonly known as run-time evolutio ..."
Abstract
-
Cited by 15 (3 self)
- Add to MetaCart
Dynamic architectural change is defined as the addition and removal of components and connectors. Dynamic software architectures are those architectures that modify their architecture and enact the modifications during the system’s execution. This behavior is most commonly known as run-time evolution or dynamism. As dynamic software architecture use becomes more widespread, it is important to gain a better understanding of this type of software evolutionary change and be able to classify formalisms, approaches and tools. Current evaluations in the areas of software architecture and evolutionary change have made strides in classification but are not sufficient to evaluate dynamic software architectures. A dedicated comparison of dynamic software architectures and architectural formalisms is necessary in order to gain a deeper understanding of run-time evolution. In this paper we present a set of classification criteria for the comparison of dynamic software architectures based on: change type, change process, and change infrastructure. We demonstrate the use of the criteria by classifying three types of dynamic software architectural change. In addition we survey 14 current approaches to the formal specification of dynamic software architectures based on graphs, process algebras, logic, and other formalisms. We then
Applying LSCs to the specification of an Air Traffic Control system
- Proc. of the 2nd Int. Workshop on “Scenarios and State Machines: Models, Algorithms and Tools” (SCESM’03), at the 25th Int. Conf. on Soft. Eng. (ICSE’03
, 2003
"... We demonstrate the use of the language of Live Sequence Charts (LSCs) for specifying part of the air traffic control system CTAS (Center TRACON Automation System). We use a recent extension of LSCs to handle symbolic instances, allowing an instance to be associated with a class rather than with an o ..."
Abstract
-
Cited by 15 (4 self)
- Add to MetaCart
(Show Context)
We demonstrate the use of the language of Live Sequence Charts (LSCs) for specifying part of the air traffic control system CTAS (Center TRACON Automation System). We use a recent extension of LSCs to handle symbolic instances, allowing an instance to be associated with a class rather than with an object. This allows us to specify scenario-based requirements that could not have been expressed using concrete objects only. This work can form the basis for applying execution, verification and synthesis methods developed for LSCs, on a real-world case study.
Synthesis of programs in computational logic
- PROGRAM DEVELOPMENT IN COMPUTATIONAL LOGIC
, 2004
"... Since the early days of programming and automated reasoning, researchers have developed methods for systematically constructing programs from their specifications. Especially the last decade has seen a flurry of activities including the advent of specialized conferences, such as LOPSTR, covering the ..."
Abstract
-
Cited by 12 (0 self)
- Add to MetaCart
(Show Context)
Since the early days of programming and automated reasoning, researchers have developed methods for systematically constructing programs from their specifications. Especially the last decade has seen a flurry of activities including the advent of specialized conferences, such as LOPSTR, covering the synthesis of programs in computational logic. In this paper we analyze and compare three state-of-the-art methods for synthesizing recursive programs in computational logic. The three approaches are constructive/deductive synthesis, schema-guided synthesis, and inductive synthesis. Our comparison is carried out in a systematic way where, for each approach, we describe the key ideas and synthesize a common running example. In doing so, we explore the synergies between the approaches, which we believe are necessary in order to achieve progress over the next decade in this field.
Engineering Modeling and Analysis: Sound Methods and Effective Tools
, 2003
"... Developing high quality software tools for specialized domains is difficult. One problem is the cost of developing feature-rich and usable tool interfaces. Another problem is the task of providing a sound basis for trustworthiness of the tool and the overall method which it supports. In this dissert ..."
Abstract
-
Cited by 11 (2 self)
- Add to MetaCart
Developing high quality software tools for specialized domains is difficult. One problem is the cost of developing feature-rich and usable tool interfaces. Another problem is the task of providing a sound basis for trustworthiness of the tool and the overall method which it supports. In this dissertation we present and evaluate an approach which addresses these key difficulties. The approach is based on two concepts: using specialized and tightly integrated mass-market applications to provide the bulk of the tool’s functionality, and the use of formal methods for the precise specification of the tool’s domain-dependent modeling language. We have evaluated our component-based work in part by developing a tool using the technique, deploying it to NASA, and having engineers from across the organization use and evaluate it. In the area of formal methods, we have developed and validated, both informally and formally, a mathematically precise specification of the language em-ployed by an innovative modeling and analysis method for the reliability of fault tolerant systems. We have also developed a prototype tool that shows in concrete terms that our combined approach can work. The chief contribution of this work is a new approach to developing software tools having formal foundations for trustworthiness and sophisticated user interfaces. Constituent contributions
Application of Lightweight Formal Methods to Software Security
"... Formal specification and verification of security has proven a challenging task. There is no single method that has proven feasible. Instead, an integrated approach which combines several formal techniques can increase the confidence in the verification of software security properties. Such an appro ..."
Abstract
-
Cited by 10 (1 self)
- Add to MetaCart
(Show Context)
Formal specification and verification of security has proven a challenging task. There is no single method that has proven feasible. Instead, an integrated approach which combines several formal techniques can increase the confidence in the verification of software security properties. Such an approach which specifies security properties in a library that can be re-used by 2 instruments and their methodologies developed for the National Aeronautics and Space Administration (NASA) at the Jet Propulsion Laboratory (JPL) are described herein The Flexible Modeling Framework (FMF) is a model based verification instrument that uses Promela and the SPIN model checker. The Property Based Tester (PBT) uses TASPEC and a Test Execution Monitor (TEM). They are used to reduce vulnerabilities and unwanted exposures in software during the development and maintenance life cycles. These instruments are currently being piloted with a COTS Server-Agent Application. 1.
Agent-Oriented Modeling by Interleaving Formal and Informal Specification
, 2003
"... The goal of this paper is to discuss possibilities of inter-mixing formal and informal specification in order to guide and support the conceptual modeling process in software development. We sketch a framework which rests on an agentoriented methodology that provides a modeling language which all ..."
Abstract
-
Cited by 9 (1 self)
- Add to MetaCart
(Show Context)
The goal of this paper is to discuss possibilities of inter-mixing formal and informal specification in order to guide and support the conceptual modeling process in software development. We sketch a framework which rests on an agentoriented methodology that provides a modeling language which allows for the definition of both informal and formal specification. We show how formal techniques can be used to guide and support the analyst while building and refining a conceptual model. Examples of its applications are discussed, with reference to the decision making process undertaken by the analyst when performing a set of activities relevant for requirements engineering, such as requirements elicitation and refinement, user validation of requirements specification, or management of requirements evolution. A case study taken from a technology transfer project in the agricultural domain is used to illustrate the approach.
Dependable Pervasive Systems
, 2004
"... Virtually all aspects of society in the UK and other developed countries are now dependent, to a greater or lesser degree, on computer systems and networks. For example, a US National Research Council Report (Schneider 1999) states: The nation’s security and economy rely on infrastructures for commu ..."
Abstract
-
Cited by 6 (2 self)
- Add to MetaCart
Virtually all aspects of society in the UK and other developed countries are now dependent, to a greater or lesser degree, on computer systems and networks. For example, a US National Research Council Report (Schneider 1999) states: The nation’s security and economy rely on infrastructures for communication, finance, energy distribution, and
Requirements in the 21st Century: Current Practice and Emerging Trends
- In
, 2009
"... Requirements have remained one of the grand challenges in the design of software intensive systems. In this paper we review the main strands of requirements research over the past two decades and identify persistent and new challenges. Based on a field study that involved interviews of over 30 leadi ..."
Abstract
-
Cited by 6 (2 self)
- Add to MetaCart
Requirements have remained one of the grand challenges in the design of software intensive systems. In this paper we review the main strands of requirements research over the past two decades and identify persistent and new challenges. Based on a field study that involved interviews of over 30 leading IT professionals involved in large and complex software design and implementation initiatives we review the current state-ofthe-art in design requirements management. We observe significant progress in the deployment of modeling methods, tools, risk-driven design, and user involvement. We note nine emerging themes and challenges in the requirement management arena: 1) business process focus, 2) systems transparency, 3) integration focus, 4) distributed requirements, 5) layered requirements, 6) criticality of information architectures, 7) increased deployment of COTS and software components, 8) design fluidity and 9) interdependent complexity. Several research challenges and new avenues for research are noted in the discovery, specification, and validation of requirements in light of these requirements features.
Trust-By-Contract: Modelling, Analysing And Predicting Behaviour Of Software Architectures
, 2001
"... this paper, we focus on several aspects of TrustME that facilitate specification and analysis of middlewarebased architectures for trusted enterprise computing systems ..."
Abstract
-
Cited by 6 (1 self)
- Add to MetaCart
this paper, we focus on several aspects of TrustME that facilitate specification and analysis of middlewarebased architectures for trusted enterprise computing systems