Static checking of system behaviors using derived component assumptions
ACM Transactions on Software Engineering and Methodology (TOSEM)
Using Component Metacontent to Support the Regression Testing of Component-Based Software
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Approximating minimal unsatisfiable subformulae by means of adaptive core search
Discrete Applied Mathematics - The renesse issue on satisfiability
Locating causes of program failures
Proceedings of the 27th international conference on Software engineering
Managing the Complexity of Large Free and Open Source Package-Based Software Distributions
ASE '06 Proceedings of the 21st IEEE/ACM International Conference on Automated Software Engineering
OPIUM: Optimal Package Install/Uninstall Manager
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Staged deployment in mirage, an integrated software upgrade testing and distribution system
Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles
Using Software Dependencies and Churn Metrics to Predict Field Failures: An Empirical Case Study
ESEM '07 Proceedings of the First International Symposium on Empirical Software Engineering and Measurement
Predicting vulnerable software components
Proceedings of the 14th ACM conference on Computer and communications security
Direct-dependency-based software compatibility testing
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Predicting defects using network analysis on dependency graphs
Proceedings of the 30th international conference on Software engineering
Failure-free coordinators synthesis for component-based architectures
Science of Computer Programming
Strong dependencies between software components
ESEM '09 Proceedings of the 2009 3rd International Symposium on Empirical Software Engineering and Measurement
Using strong conflicts to detect quality issues in component-based complex systems
Proceedings of the 3rd India software engineering conference
Apt-pbo: solving the software dependency problem using pseudo-boolean optimization
Proceedings of the IEEE/ACM international conference on Automated software engineering
On software component co-installability
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
Modular software upgrades for distributed systems
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
Learning from the future of component repositories
Proceedings of the 15th ACM SIGSOFT symposium on Component Based Software Engineering
Dependency solving: A separate concern in component evolution management
Journal of Systems and Software
Hi-index | 0.00 |
Modern software systems are built by composing components drawn from large repositories, whose size and complexity increase at a fast pace. Software systems built with components from a release of a repository should be seamlessly upgradeable using components from the next release. Unfortunately, users are often confronted with sets of components that were installed together, but cannot be upgraded together to the latest version from the new repository. Identifying these broken sets can be of great help for a quality assurance team, that could examine and fix these issues well before they reach the end user. Building on previous work on component co-installability, we show that it is possible to find these broken sets for any two releases of a component repository, computing extremely efficiently a concise representation of these upgrade issues, together with informative graphical explanations. A tool implementing the algorithm presented in this paper is available as free software, and is able to process the evolution between two major releases of the Debian GNU/Linux distribution in just a few seconds. These results make it possible to integrate seamlessly this analysis in a repository development process.