SDE 4 Proceedings of the fourth ACM SIGSOFT symposium on Software development environments
KIDS: A Semiautomatic Program Development System
IEEE Transactions on Software Engineering
Module reuse by interface adaptation
Software—Practice & Experience
ACM Computing Surveys (CSUR)
Neural network-based retrieval from software reuse repositories
Neural networks and pattern recognition in human-computer interaction
Signature matching: a key to reuse
SIGSOFT '93 Proceedings of the 1st ACM SIGSOFT symposium on Foundations of software engineering
Sixteen questions about software reuse
Communications of the ACM
Specification matching for software reuse: a foundation
SSR '95 Proceedings of the 1995 Symposium on Software reusability
The REBOOT approach to software reuse
Journal of Systems and Software - Special issue on software reuse
Using English to retrieve software
Journal of Systems and Software - Special issue on software reuse
Specification matching of software components
SIGSOFT '95 Proceedings of the 3rd ACM SIGSOFT symposium on Foundations of software engineering
Software reuse: metrics and models
ACM Computing Surveys (CSUR)
Generalized behavior-based retrieval
ICSE '93 Proceedings of the 15th international conference on Software Engineering
Formalizing architectural connection
ICSE '94 Proceedings of the 16th international conference on Software engineering
An axiomatic basis for computer programming
Communications of the ACM
Efficient Specification-Based Component Retrieval
Automated Software Engineering
Computer
Toward an Engineering Discipline of Software Reuse
IEEE Software
Reusing Software: Issues and Research Directions
IEEE Transactions on Software Engineering
SETHEO Goes Software Engineering: Application of ATP to Software Reuse
CADE-14 Proceedings of the 14th International Conference on Automated Deduction
NORA/HAMMR: making deduction-based software component retrieval practical
ASE '97 Proceedings of the 12th international conference on Automated software engineering (formerly: KBSE)
Facilitating an automated approach to architecture-based software reuse
ASE '97 Proceedings of the 12th international conference on Automated software engineering (formerly: KBSE)
Classification and retrieval of reusable components using semantic features
KBSE '95 Proceedings of The 10th Knowledge-Based Software Engineering Conference
A Slicing-Based Approach to Extracting Reusable Software Architectures
CSMR '00 Proceedings of the Conference on Software Maintenance and Reengineering
Program slices: formal, psychological, and practical investigations of an automatic program abstraction method
Enabling Reuse-Based Software Development of Large-Scale Systems
IEEE Transactions on Software Engineering
Semi-Automated Component-Based Development of Formally Verified Software
Electronic Notes in Theoretical Computer Science (ENTCS)
"Program, enhance thyself!": demand-driven pattern-oriented program enhancement
Proceedings of the 7th international conference on Aspect-oriented software development
Automatic configuration for the component selection problem
CSTST '08 Proceedings of the 5th international conference on Soft computing as transdisciplinary science and technology
IEEE Transactions on Very Large Scale Integration (VLSI) Systems
A methodology for constraint-driven synthesis of on-chip communications
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
A two-stage framework for UML specification matching
Information and Software Technology
MADCAR: an abstract model for dynamic and automatic (re-)assembling of component-based applications
CBSE'06 Proceedings of the 9th international conference on Component-Based Software Engineering
UIC'07 Proceedings of the 4th international conference on Ubiquitous Intelligence and Computing
Seeking the ground truth: a retroactive study on the evolution and migration of software libraries
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
Hi-index | 0.00 |
A continuing challenge for software designers is to develop efficient and cost-effective software implementations. Many see software reuse as a potential solution; however, the cost of reuse tends to outweigh the potential benefits. The costs of software reuse include establishing and maintaining a library of reusable components, searching for applicable components to be reused in a design, as well as adapting components toward a proper implementation. In this paper, we introduce SPARTACAS, a framework for automating specification-based component retrieval and adaptation that has been successfully applied to synthesis of software for embedded and digital signal processing systems. Using specifications to abstractly represent implementations allows automated theorem-provers to formally verify logical reusability relationships between specifications. These logical relationships are used to evaluate the feasibility of reusing the implementations of components to implement a problem. Retrieving a component that is a complete match to a problem is rare. It is more common to retrieve a component that partially satisfies the requirements of a problem. Such components have to be adapted. Rather than adapting components at the code level, SPARTACAS adapts the behavior of partial matches by imposing interactions with other components at the architecture level. A subproblem is synthesized that specifies the missing functionality required to complete the problem; the subproblem is used to query the library for components to adapt the partial match. The framework was implemented and evaluated empirically, the results suggest that automated adaptation using architectures successfully promotes software reuse, and hierarchically organizes a solution to a design problem.