Bartosz Michalik | KU Leuven (original) (raw)
Papers by Bartosz Michalik
Managing the evolution of a software product line (SPL) is difficult and error-prone. In our rese... more Managing the evolution of a software product line (SPL) is difficult and error-prone. In our research, we study SPL evolution from the point of view of the maintenance tasks to evolve deployed products. We have developed an a comprehensive approach for SPL evolution entitled EvoLine. Whereas existing approaches only focus on particular stakeholder concerns, EvoLine takes into account multiple concerns, including variability, traceability, versioning, availability, and correctness. This report describes an empirical ...
This report describes an architecture viewpoint that capture the conventions for constructing and... more This report describes an architecture viewpoint that capture the conventions for constructing and using architecture views to manage online evolution of software product lines (SPL). The viewpoint frames the multiple stakeholder concerns related to online evolution of SPL, in particular variability, versioning, traceability, availability and correctness. It defines four model kinds that show the relevant information to the stakeholders for evolving deployed SPL products.
IEEE Communications Standards Magazine
Web applications are getting more and more complex. Be- cause of this, eective communication with... more Web applications are getting more and more complex. Be- cause of this, eective communication with prospective end user is essen- tial. In the paper the concept of quick prototyping of web applications is presented and early experience with implementation of the concept is discussed. This approach assumes that requirements are written in form of use cases supplemented with screen designs.
The conference offers a note of thanks and lists its reviewers.
status: accepted, Dec 7, 2011
KULeuven. ...
Ieee Transactions on Software Engineering, Dec 17, 2013
Variability (i.e., the ability of software systems or artifacts to be adjusted for different cont... more Variability (i.e., the ability of software systems or artifacts to be adjusted for different contexts) became a key property of many systems. OBJECTIVE: We analyze existing research on variability in software systems. We investigate variability handling in major software engineering phases (e.g., requirements engineering, architecting). METHOD: We performed a systematic literature review. A manual search covered 13 premium software engineering journals and 18 premium conferences, resulting in 15430 papers searched and 196 papers considered for data collection. To improve reliability and to increase reproducibility, we complemented the manual search with a targeted automated search. RESULTS: Software quality attributes have not received much attention in the context of variability. Variability is studied in all software engineering phases, but testing is underrepresented. Data to motivate the applicability of current approaches are often insufficient; research designs are vaguely described. CONCLUSIONS: Based on our findings we propose dimensions of variability in software engineering. This empirically grounded classification provides a step towards a unifying, integrated perspective of variability in software systems, spanning across disparate or loosely coupled research themes in the software engineering community. Finally, we provide recommendations to bridge the gap between research and practice and point to opportunities for future research.
Abstract Managing the evolution of a software product line (SPL) is difficult and error-prone. In... more Abstract Managing the evolution of a software product line (SPL) is difficult and error-prone. In our research, we study SPL evolution from the point of view of the maintenance tasks to evolve deployed products. We have developed an a comprehensive approach for SPL evolution entitled EvoLine. Whereas existing approaches only focus on particular stakeholder concerns, EvoLine takes into account multiple concerns, including variability, traceability, versioning, availability, and correctness.
Abstract This report describes an architecture viewpoint that capture the conventions for constru... more Abstract This report describes an architecture viewpoint that capture the conventions for constructing and using architecture views to manage online evolution of software product lines (SPL). The viewpoint frames the multiple stakeholder concerns related to online evolution of SPL, in particular variability, versioning, traceability, availability and correctness. It defines four model kinds that show the relevant information to the stakeholders for evolving deployed SPL products.
status: accepted, Jan 1, 2011
KULeuven. ...
Prace Naukowe Instytutu …, Jan 1, 2007
Streszczenie angielskie: Many software requirements specifications (SRS) are filled with badly wr... more Streszczenie angielskie: Many software requirements specifications (SRS) are filled with badly written requirements. Quality of the products base on quality of all components, with bad requirements we are not able to write good software. To increase SRS quality requirements reviews can be used. We are also expected to write what our customers paid for. We must assure that both sides understand requirements specification the same way. Another aspect is cost of requirements review meeting. This is essential when team ...
SATURN 2011, Jan 1, 2011
The description of the software architecture is considered as a key artifact in a system's design... more The description of the software architecture is considered as a key artifact in a system's design and evolution. Architectural views provide the means to express different perspectives on the system, capturing the stakeholder concerns. However, in practice, assuring conformance between architecture and code turns out to be very difficult to achieve. As the software evolves, the architectural models diverge from the actual system and the documentation gets obsolete. As pointed out by Shaw and Clements: "lack of conformance dooms an architecture to irrelevance as the code sets out on its own independent trajectory" [1]. In order to tackle this fundamental problem, we need to rethink the way we manage software architecture descriptions.
Advances in Software Engineering Techniques, Jan 1, 2012
Architectural design and design decisions are the key components of architectural knowledge. Howe... more Architectural design and design decisions are the key components of architectural knowledge. However, concerns, rationales, and risks should be also captured to prevent knowledge vaporization. So, how to deal with architectural knowledge in incremental knowledge refinement? We believe that usage of the knowledge repository system can support architecture evolution. In this paper, a model of knowledge repository is presented. In this model, the decision-centric approach is complemented with the architectural views ...
Nowadays more than ever, we are dependent on the services provided by distributed software intens... more Nowadays more than ever, we are dependent on the services provided by distributed software intensive systems, which are often very complex. These system are updated to meet users' expectactions, and, in certain domains, like logistics, manufacturing or telecommunication, downtime related to the updates should be minimized. However, often the dowtime is a result of human errors during the update. Therefore, we aim to support online updates by addressing the concerns of the stakeholders involved in the updates. In our approach we take an architecture centric perspecive on update problem. The approach comprises two complementary parts: an update viewpoint and a supporting framework. In this technical report we focus on formal verification of proposed solution. In addition, we show the usage of the supporting infrastructure to populate architecture models in two different application domains.
Proceedings of 14th International …, Jan 1, 2010
Software architecture is a key factor in the success of software product line (SPL) engineering. ... more Software architecture is a key factor in the success of software product line (SPL) engineering. A SPL architecture has to incorporate the commonalities as well as the variabilities of the products in a SPL. Presenting variability in the views and models that suite the stakeholders' concerns is essential for the success of a SPL. However, a literature study has taught us that current research provides insufficient attention to incorporate variability in the architecture description. Moreover, experiences with stakeholders in the field reveal that there is a need for flexible generation of architecture views tailored to the specific needs of the stakeholders of a SPL.
The software industry needs better prototyping techniques to lower prototype creation and maintai... more The software industry needs better prototyping techniques to lower prototype creation and maintainability costs. This goal can be achieved using proper set of tools and representation for requirements. Special tool for analyst has been developed at Poznań University of Technology, that is able to generate Mock-ups from requirements.
Proceedings of the 2011 Ninth Working IEEE/ …, Jan 1, 2011
Despite the fact that some practitioners and researchers report successful stories on Software Pr... more Despite the fact that some practitioners and researchers report successful stories on Software Product Lines (SPL) adaptation, the evolution of SPL remains challenging. In our research we study a specific aspect of SPL adaptation, namely on updating of deployed products. Our particular focus is on the correct execution of updates and minimal interruption of services during the updates. The update process has two stages. First, the products affected by the evolution must be identified. We call this stage SPL-wide change impact analysis. In the second stage, each of the affected products has to be updated. In our previous work we have addressed the second stage of the update process.
Managing the evolution of a software product line (SPL) is difficult and error-prone. In our rese... more Managing the evolution of a software product line (SPL) is difficult and error-prone. In our research, we study SPL evolution from the point of view of the maintenance tasks to evolve deployed products. We have developed an a comprehensive approach for SPL evolution entitled EvoLine. Whereas existing approaches only focus on particular stakeholder concerns, EvoLine takes into account multiple concerns, including variability, traceability, versioning, availability, and correctness. This report describes an empirical ...
This report describes an architecture viewpoint that capture the conventions for constructing and... more This report describes an architecture viewpoint that capture the conventions for constructing and using architecture views to manage online evolution of software product lines (SPL). The viewpoint frames the multiple stakeholder concerns related to online evolution of SPL, in particular variability, versioning, traceability, availability and correctness. It defines four model kinds that show the relevant information to the stakeholders for evolving deployed SPL products.
IEEE Communications Standards Magazine
Web applications are getting more and more complex. Be- cause of this, eective communication with... more Web applications are getting more and more complex. Be- cause of this, eective communication with prospective end user is essen- tial. In the paper the concept of quick prototyping of web applications is presented and early experience with implementation of the concept is discussed. This approach assumes that requirements are written in form of use cases supplemented with screen designs.
The conference offers a note of thanks and lists its reviewers.
status: accepted, Dec 7, 2011
KULeuven. ...
Ieee Transactions on Software Engineering, Dec 17, 2013
Variability (i.e., the ability of software systems or artifacts to be adjusted for different cont... more Variability (i.e., the ability of software systems or artifacts to be adjusted for different contexts) became a key property of many systems. OBJECTIVE: We analyze existing research on variability in software systems. We investigate variability handling in major software engineering phases (e.g., requirements engineering, architecting). METHOD: We performed a systematic literature review. A manual search covered 13 premium software engineering journals and 18 premium conferences, resulting in 15430 papers searched and 196 papers considered for data collection. To improve reliability and to increase reproducibility, we complemented the manual search with a targeted automated search. RESULTS: Software quality attributes have not received much attention in the context of variability. Variability is studied in all software engineering phases, but testing is underrepresented. Data to motivate the applicability of current approaches are often insufficient; research designs are vaguely described. CONCLUSIONS: Based on our findings we propose dimensions of variability in software engineering. This empirically grounded classification provides a step towards a unifying, integrated perspective of variability in software systems, spanning across disparate or loosely coupled research themes in the software engineering community. Finally, we provide recommendations to bridge the gap between research and practice and point to opportunities for future research.
Abstract Managing the evolution of a software product line (SPL) is difficult and error-prone. In... more Abstract Managing the evolution of a software product line (SPL) is difficult and error-prone. In our research, we study SPL evolution from the point of view of the maintenance tasks to evolve deployed products. We have developed an a comprehensive approach for SPL evolution entitled EvoLine. Whereas existing approaches only focus on particular stakeholder concerns, EvoLine takes into account multiple concerns, including variability, traceability, versioning, availability, and correctness.
Abstract This report describes an architecture viewpoint that capture the conventions for constru... more Abstract This report describes an architecture viewpoint that capture the conventions for constructing and using architecture views to manage online evolution of software product lines (SPL). The viewpoint frames the multiple stakeholder concerns related to online evolution of SPL, in particular variability, versioning, traceability, availability and correctness. It defines four model kinds that show the relevant information to the stakeholders for evolving deployed SPL products.
status: accepted, Jan 1, 2011
KULeuven. ...
Prace Naukowe Instytutu …, Jan 1, 2007
Streszczenie angielskie: Many software requirements specifications (SRS) are filled with badly wr... more Streszczenie angielskie: Many software requirements specifications (SRS) are filled with badly written requirements. Quality of the products base on quality of all components, with bad requirements we are not able to write good software. To increase SRS quality requirements reviews can be used. We are also expected to write what our customers paid for. We must assure that both sides understand requirements specification the same way. Another aspect is cost of requirements review meeting. This is essential when team ...
SATURN 2011, Jan 1, 2011
The description of the software architecture is considered as a key artifact in a system's design... more The description of the software architecture is considered as a key artifact in a system's design and evolution. Architectural views provide the means to express different perspectives on the system, capturing the stakeholder concerns. However, in practice, assuring conformance between architecture and code turns out to be very difficult to achieve. As the software evolves, the architectural models diverge from the actual system and the documentation gets obsolete. As pointed out by Shaw and Clements: "lack of conformance dooms an architecture to irrelevance as the code sets out on its own independent trajectory" [1]. In order to tackle this fundamental problem, we need to rethink the way we manage software architecture descriptions.
Advances in Software Engineering Techniques, Jan 1, 2012
Architectural design and design decisions are the key components of architectural knowledge. Howe... more Architectural design and design decisions are the key components of architectural knowledge. However, concerns, rationales, and risks should be also captured to prevent knowledge vaporization. So, how to deal with architectural knowledge in incremental knowledge refinement? We believe that usage of the knowledge repository system can support architecture evolution. In this paper, a model of knowledge repository is presented. In this model, the decision-centric approach is complemented with the architectural views ...
Nowadays more than ever, we are dependent on the services provided by distributed software intens... more Nowadays more than ever, we are dependent on the services provided by distributed software intensive systems, which are often very complex. These system are updated to meet users' expectactions, and, in certain domains, like logistics, manufacturing or telecommunication, downtime related to the updates should be minimized. However, often the dowtime is a result of human errors during the update. Therefore, we aim to support online updates by addressing the concerns of the stakeholders involved in the updates. In our approach we take an architecture centric perspecive on update problem. The approach comprises two complementary parts: an update viewpoint and a supporting framework. In this technical report we focus on formal verification of proposed solution. In addition, we show the usage of the supporting infrastructure to populate architecture models in two different application domains.
Proceedings of 14th International …, Jan 1, 2010
Software architecture is a key factor in the success of software product line (SPL) engineering. ... more Software architecture is a key factor in the success of software product line (SPL) engineering. A SPL architecture has to incorporate the commonalities as well as the variabilities of the products in a SPL. Presenting variability in the views and models that suite the stakeholders' concerns is essential for the success of a SPL. However, a literature study has taught us that current research provides insufficient attention to incorporate variability in the architecture description. Moreover, experiences with stakeholders in the field reveal that there is a need for flexible generation of architecture views tailored to the specific needs of the stakeholders of a SPL.
The software industry needs better prototyping techniques to lower prototype creation and maintai... more The software industry needs better prototyping techniques to lower prototype creation and maintainability costs. This goal can be achieved using proper set of tools and representation for requirements. Special tool for analyst has been developed at Poznań University of Technology, that is able to generate Mock-ups from requirements.
Proceedings of the 2011 Ninth Working IEEE/ …, Jan 1, 2011
Despite the fact that some practitioners and researchers report successful stories on Software Pr... more Despite the fact that some practitioners and researchers report successful stories on Software Product Lines (SPL) adaptation, the evolution of SPL remains challenging. In our research we study a specific aspect of SPL adaptation, namely on updating of deployed products. Our particular focus is on the correct execution of updates and minimal interruption of services during the updates. The update process has two stages. First, the products affected by the evolution must be identified. We call this stage SPL-wide change impact analysis. In the second stage, each of the affected products has to be updated. In our previous work we have addressed the second stage of the update process.