-
Chapter and Conference Paper
Security Analysis of IoT Systems Using Attack Trees
Attack trees are graphical representations of the different scenarios that can lead to a security failure. In combination with model checking, attack trees are useful to quantitatively analyse the security of ...
-
Chapter and Conference Paper
Designing a Code Vulnerability Meta-scanner
The concept of “secure by design” is based on preventive software security and aims at avoiding vulnerabilities as soon as possible. However, finding vulnerabilities manually is a time-consuming and error-pron...
-
Chapter and Conference Paper
Spotlighting Use Case Specific Architectures
Most of the time a large software system implies a complex architecture. However, at some point of the system’s execution, its components are not necessarily all running. Indeed, some components may not be con...
-
Article
Opening web applications for third-party development: a service-oriented solution
Web applications are nowadays prevalent software systems in our everyday’s life. A lot of these applications have been developed for end users only. Thus, they are not designed by considering future extensions...
-
Article
Preserving architectural decisions through architectural patterns
Architectural decisions have emerged as a means to maintain the quality of the architecture during its evolution. One of the most important decisions made by architects are those about the design approach such...
-
Chapter and Conference Paper
Enactment of Components Extracted from an Object-Oriented Application
Software architecture plays an important role for the application understanding before its maintenance. Unfortunately, for legacy systems code often there is no corresponding (or up to date) architecture. So, ...
-
Chapter and Conference Paper
Composition-Centered Architectural Pattern Description Language
Architectural patterns are important artefacts containing specialized design knowledge to build good-quality systems. Complex systems often exhibit several architectural patterns in their design which leads to...
-
Chapter and Conference Paper
Software Architecture Constraints as Customizable, Reusable and Composable Entities
One of the major advantages of component-based software engineering is the ability for developers to reuse and assemble software entities to build complex software. Whereas decomposition of software into compo...
-
Chapter and Conference Paper
Restructuring Object-Oriented Applications into Component-Oriented Applications by Using Consistency with Execution Traces
Software systems should evolve in order to respond to changing client requirements and their evolving environments. But unfortunately, the evolution of legacy applications generates an exorbitant cost. In this...
-
Chapter and Conference Paper
Good Architecture = Good (ADL + Practices)
In order to ensure the quality of their software development process, companies incorporate best practices from recognized repositories or from their own experiences. These best practices are often described i...
-
Chapter and Conference Paper
A Component Selection Framework for COTS Libraries
Component-based software engineering proposes building complex applications from COTS (Commercial Off-The-Shelf) organized into component markets. Therefore, the main development effort is required in selectio...
-
Chapter and Conference Paper
A Component-Oriented Substitution Model
One of Software Engineering’s main goals is to build complex applications in a simple way. For that, software components must be described by its functional and non-functional properties. Then, the problem is ...
-
Chapter and Conference Paper
CBSE in Small and Medium-Sized Enterprise: Experience Report
Although the CBSE has a great success in software engineering, only large scale companies use it through their research and development department. Small and medium size enterprises still have some hesitations...
-
Chapter and Conference Paper
On-Demand Quality-Oriented Assistance in Component-Based Software Evolution
During an architectural evolution of a component-based software, certain quality attributes may be weakened. This is due to the lack of an explicit definition of the links between these non-functional characte...
-
Chapter and Conference Paper
Communication Abstractions for Distributed Systems
Communication is the foundation of many systems. Understanding communication is a key to building a better understanding of the interaction of software entities such as objects, components, and aspects. This w...
-
Chapter and Conference Paper
Communication Abstractions for Distributed Systems
Communication is the foundation of many systems. Understanding communication is a key to building a better understanding of the interaction of software entities such as objects, components, and aspects. This w...
-
Chapter and Conference Paper
Concrete Communication Abstractions of the Next 701 Distributed Object Systems
As applications become increasingly distributed and networks provide more and more connection facilities, applications require more and more interconnections, thus communication takes a central part of modern ...
-
Chapter and Conference Paper
The Next 700 Distributed Object Systems
The primary goal of the ECOOP Workshop on The Next 700 Distributed Object Systems was to identify the essential characteristics of the next generation of distributed object systems. Among many other topics, pa...
-
Chapter and Conference Paper
Abstracting Services in a Heterogeneous Environment
Applications often use objects that they do not create. In general, these objects belong to an execution environment and are used for some services (server objects). This makes applications strongly dependent on ...