Minimal representation of directed hypergraphs
SIAM Journal on Computing
Advances in Petri nets 1986, part II on Petri nets: applications and relationships to other models of concurrency
Term rewriting and all that
Graph Algorithms for Functional Dependency Manipulation
Journal of the ACM (JACM)
Predicting Fault Incidence Using Software Change History
IEEE Transactions on Software Engineering
Static checking of system behaviors using derived component assumptions
ACM Transactions on Software Engineering and Methodology (TOSEM)
Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
Predicting problems caused by component upgrades
Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of 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
Effective and scalable software compatibility testing
ISSTA '08 Proceedings of the 2008 international symposium on Software testing and analysis
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
Feature diagrams as package dependencies
SPLC'10 Proceedings of the 14th international conference on Software product lines: going beyond
MPM: a modular package manager
Proceedings of the 14th international ACM Sigsoft symposium on Component based 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 is increasing at a very fast pace. A fundamental challenge for the maintainability and the scalability of such software systems is the ability to quickly identify the components that can or cannot be installed together: this is the co-installability problem, which is related to boolean satisfiability and is known to be algorithmically hard. This article develops a novel theoretical framework, based on formally certified semantic preserving graph-theoretic transformations, that allows us to associate to each concrete component repository a much smaller one with a simpler structure, that we call strongly flat, with equivalent co-installability properties. This flat repository can be displayed in a way that provides a concise view of the co-installability issues in the original repository, or used as a basis for various algorithms related to co-installability, like the efficient computation of strong conflicts between components. The proofs contained in this work have been machine checked using the Coq proof assistant.