The Infona portal uses cookies, i.e. strings of text saved by a browser on the user's device. The portal can access those files and use them to remember the user's data, such as their chosen settings (screen view, interface language, etc.), or their login data. By using the Infona portal the user accepts automatic saving and using this information for portal operation purposes. More information on the subject can be found in the Privacy Policy and Terms of Service. By closing this window the user confirms that they have read the information on cookie usage, and they accept the privacy policy and the way cookies are used by the portal. You can change the cookie settings in your browser.
Analysis of formally specified Component Based Software (CBS) provides a concrete way to represent the requirements from both system and user. A CASE tool makes a development more powerful and gives a graphical effect by which a user can easily visualize the fact. Powerful CASE tools for CBS are useful to improve the developer productivity and ensure the syntactical correctness of the CBS model for...
Determining the quality of a software product basically deals with checking the fulfillment of functional and quality requirements. Therefore, specifying useful and testable quality requirements is a central challenge. Many existing approaches focus on eliciting quality requirements, but often neglect the specification of respective test criteria. We present a bipartite approach that focuses on collecting...
Requirements are commonly vague and ambiguous. In this paper, we describe an automated Inconsistency Checker called MaramaAI for checking for high-level inconsistency between textual requirements, abstract interactions and Essential Use Cases. We use concepts of phrase extraction and essential interaction patterns to carry out these checks. We provide further support for checking of requirements quality...
Programmable logic controllers (PLCs) represent a typical class of embedded software systems. They are widely used in safety-critical industrial applications, such as railways, automotive applications, etc. The paper presents a novel method to specify and verify PLC software systems with the theorem proving system Coq. Dependent inductive data types are harnessed to represent the component specifications...
Software asset repository, a treasure house of knowledge in software industry, is a primary infrastructure of Asset-Based Software Engineering. Now asset repositories are usually built into isolated islands and are browsable or searchable only by people, which has substantially reduced their functionality and greatly hindered the reuse in practice. Based on service-oriented approach, we proposed a...
Consistency checking needs to be done from the earliest phase of requirements capture as requirements captured by requirement engineers are often vague, error-prone and inconsistent with users' needs. To improve such consistency checking we have applied a traceability approach with visualization capability. We have embedded this into a light-weight automated tracing tool in order to allow users to...
It is well known that the use of formal methods in the software development process results in a high-quality software product. However, since formal approaches are just reasoning mechanisms, they do not offer defined ordered steps and guidance for moving between them. Refinement is a technique for moving between specifications but it bears very little resemblance to the real process of software design...
Typically, software libraries provide API documentation, through which developers can learn how to use libraries correctly. However, developers may still write code inconsistent with API documentation and thus introduce bugs, as existing research shows that many developers are reluctant to carefully read API documentation. To find those bugs, researchers have proposed various detection approaches...
We have developed a requirements ontology for requirements elicitation of a certain problem domain. This ontology includes functional hierarchy and relationship between functions such as mutual/partial complementary, exclusion, and so on. Using the ontology, we have established a method of checking the quality of a SRS (software requirements specification), especially the correctness and the completeness...
Service-orientation represents a new wave of features and solutions by bringing closer information technology to the industrial domain, particularly factory shop floors. The service-oriented automation software entities (designated here by bots) used in such approach requires a short set of methodologies and software targeting their specification for both computer systems and embedded automation devices...
In previous work, we introduced Echo, a new approach to the formal verification of the functional correctness of software. Part of what makes Echo practical is a technique called verification refactoring. The program to be verified is mechanically refactored specifically to facilitate verification. After refactoring, the program is documented with low-level annotations, and a specification is extracted...
Interrupt- and event-driven applications constitute an important system class, with connections to desktop computing, embedded systems, and sensor networks. We refer to this set of applications collectively as reactive systems. In this paper, we present a specification idiom for documenting reactive system behavior. Specifically, we discuss an approach to documenting split-phase operations - operations...
Requirement analysis is a critical but difficult part of software development. With the combination of various requirement analysis methods and practice, a method which carries out requirement analysis through nine steps is proposed. The establishment of three models, business model, preliminary data model and functional model, is the focus of the establishment of a target system. Such method has...
In recent years, there has been a growing need for tools that an analyst can use to understand the workings of COTS software as well as malicious code. Static analysis provides techniques that can help with such problems; however, there are several obstacles that must be overcome, including the absence of source code and the difficulty of analyzing machine code. We have created CodeSurfer/x86, a prototype...
Software reuse is a crucial topic in the software community. It is considered as a promising way to improve software development productivity and quality. However, component reuse success is widely related to other activities such as the localization of components satisfying developer requirements. Current approaches for components retrieval are mostly limited to specific components (software components,...
API libraries are becoming increasingly popular in modern software industries because these libraries provide various methods and classes for reuse. However, as pointed out by researchers, libraries are typically difficult to use. It is desirable to infer some specifications for libraries so that programmers can learn the correct usages of these libraries. In this paper, we propose an approach to...
Applying domain engineering, the equipment maintenance support system is analyzed and the essential entities are abstracted. Using the executable specification tool-ExSpect, a domain library is constructed, including maintenance organization module, distribution stock module, transport unit module and management department module. By constructing the simulation Object Model (SOM) and the Interface...
Temporal specifications can describe the legal call sequences of API libraries. With these specifications, verification tools can find defects in existing clients automatically. However, temporal specifications are often not provided due to the high cost of writing them manually or being out-of-date due to the rapid evolution of software. As API clients contain many usages of libraries including temporal...
This paper proposes a graph-based approach for the specification of component-based architectures. We have proposed Component Architecture Graph (CAG), a new graphical model for representing UML component diagram. A set of metrics has been defined based on this graph, which will help in measuring several architectural aspects of a system. A case study is presented for presenting the new graphical...
In this paper, we propose an approach for systematic security hardening of software based on aspect-oriented programming and Gimple language. We also present the first steps towards a formal specification for Gimple weaving together with the implementation methodology of the proposed weaving semantics. The primary contribution of this approach is providing the software architects with the capabilities...
Set the date range to filter the displayed results. You can set a starting date, ending date or both. You can enter the dates manually or choose them from the calendar.