Skip to main content

Handling version sets through feature logic

  • Conference paper
  • First Online:
Software Engineering — ESEC '95 (ESEC 1995)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 989))

Included in the following conference series:

Abstract

Software Configuration Management suffers from a multitude of models for version identification and control. We propose a unified approach based on feature logic. Using feature logic, version sets are the basic units of reasoning, making attribution models and version repositories special cases of a more general scheme. Version sets are identified by feature terms, that is, a boolean expression over (name: value)-features. A system is configured by incrementally narrowing the set of versions until each component is contained in one single version. Feature logic ensures early detection of inconsistencies as well as automatic completion of the configuration thread. We have implemented a tool called ICE, realizing the above approach. As ICE uses the common C preprocessor (CPP) representation, one can select, add, or modify arbitrary version subsets as user-readable entities. ICE deduces features and constraints from existing CPP-managed sources, providing interactive and incremental exploration of the configuration space.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Paul Adams and Marvin Solomon. An overview of the capitl software development environment. In Feldman [Fel93], pages 3–28.

    Google Scholar 

  2. Ronald. J. Brachman and H. J. Levesque. The tractability of subsumption in frame-based description languages. In Proc. of the 4th National Conference of the American Association for Artificial Intelligence, pages 34–37, Austin, Texas, August 1984.

    Google Scholar 

  3. Jacky Estublier and Rubby Casallas. The Adele configuration manager. In Tichy [Tic94], pages 99–133.

    Google Scholar 

  4. Stuart Feldman, editor. Proc. 4th International Workshop on Software Configuration Management (Preprint), May 1993.

    Google Scholar 

  5. Bernd Fischer, Matthias Kievernagel, and Gregor Snelting. Deduction-based software component retrieval. In Köhler et al. [KGGW95]. To appear.

    Google Scholar 

  6. Bjorn Gulla, Even-André Karlsson, and Dashing Yeh. Change-oriented version descriptions in EPOS. Software Engineering Journal, 6(6):378–386, November 1991.

    Google Scholar 

  7. Proc. of the International Workshop on Software Version and Configuration Control. Teubner Verlag, Stuttgart, January 1988.

    Google Scholar 

  8. M. Kay. Functional unification grammar: A formalism for machine translation. In Proc. 10th International Joint Conference on Artificial Intelligence, pages 75–78, 1984.

    Google Scholar 

  9. Jana Köhler, Fausto Giunchiglia, Cordell Green, and Christoph Walther, editors. Working Notes of the IJCAI-95 Workshop: Formal Approaches to the Reuse of Plans, Proofs, and Programs, August 1995. To appear.

    Google Scholar 

  10. R. T. Kasper and W. C. Rounds. A logical semantics for feature structures. In Proc. of the 24th Annual Meeting of the ACL, pages 257–265, Columbia University, New York, 1986.

    Google Scholar 

  11. Maren Krone and Gregor Snelting. On the inference of configuration structures from source code. In Proc. 16th International Conference on Software Engineering, pages 49–57. IEEE Computer Society Press, May 1994.

    Google Scholar 

  12. David B. Leblang. The CM challenge: Configuration management that works. In Tichy [Tic94], pages 1–37.

    Google Scholar 

  13. Christian Lindig. Concept-based component retrieval. In Köhler et al. [KGGW95], pages 21–25. To appear.

    Google Scholar 

  14. M. Lacroix and P. Lavency. Preferences: Putting more knowledge into queries. In Peter M. Stocker and William Kent, editors, Proc. of the 13th International Conference on Very Large Data Bases, pages 217–225, Brighton, 1987.

    Google Scholar 

  15. Andreas Lampen and Axel Mahler. An object base for attributed software objects. In Proc. of the Fall '88 EUUG Conference, pages 95–105, October 1988.

    Google Scholar 

  16. Axel Mahler. Variants: Keeping things together and telling them apart. In Tichy [Tic94], pages 39–69.

    Google Scholar 

  17. Bjorn P. Munch, Jens-Otto Larsen, Bjorn Gulla, Reidar Conradi, and Even Andre Karlsson. Uniform versioning: The change-oriented model. In Feldman [Fel93], pages 188–196.

    Google Scholar 

  18. W. Miller and Eugene Myers. A file comparison program. Software—Practice and Experience, 15(11):1025, 1985.

    Google Scholar 

  19. Peter Nicklin. Managing multi-variant software configurations. In Peter H. Feiler, editor, Proc. 3rd International Workshop on Software Configuration Management, pages 53–57. ACM Press, June 1991.

    Google Scholar 

  20. B. Nebel and G. Smolka. Representation and reasoning with attributive descriptions. In K. H. Bläsius, U. Hedstück, and C.-R. Rollinger, editors, Sorts and Types in Artificial Intelligence, volume 256 of Lecture Notes in Artificial Intelligence, pages 112–139. Springer-Verlag, April 1989.

    Google Scholar 

  21. Marc J. Rochkind. The source code control system. IEEE Transactions on Software Engineering, SE-1(4):364–370, December 1975.

    Google Scholar 

  22. Gerd Smolka and Hassan Aït-Kaci. Inheritance hierarchies: Semantics and unification. In Claude Kirchner, editor, Unification, pages 489–516. Academic Press, London, 1990.

    Google Scholar 

  23. N. Sarnak, R. Bernstein, and V. Kruskal. Creation and maintenance of multiple versions. In IWSVCC [IWS88]., pages 264–275.

    Google Scholar 

  24. Gregor Snelting, Bernd Fischer, Franz-Josef Grosch, Matthias Kievernagel, and Andreas Zeller. Die inferenzbasierte Softwareentwicklungsumgebung Nora. Informatik—Forschung und Entwicklung, 9(3):116–131, August 1994. In German.

    Google Scholar 

  25. Gregor Snelting, Franz-Josef Grosch, and Ulrik Schroeder. Inference-based support for programming in the large. In A. van Lamsweerde and A. Fugetta, editors, Proc. 3rd European Software Engineering Conference, volume 550 of Lecture Notes in Computer Science, pages 396–408. Springer-Verlag, October 1991.

    Google Scholar 

  26. Gert Smolka. Feature-constrained logics for unification grammars. Journal of Logic Programming, 12:51–87, 1992.

    Article  Google Scholar 

  27. Gregor Snelting. Reengineering of configurations based on mathematical concept analysis. Computer Science Report 95-02, Technical University of Braunschweig, Germany, January 1995. Submitted for publication.

    Google Scholar 

  28. S. Shieber, H. Uszkorzeit, F. Pereira, J. Robinson, and M. Tyson. The formalism and implementation of Patr-ii. In J. Bresnan, editor, Research on Interactive Acquisition and Use of Knowledge. SRI International, 1983.

    Google Scholar 

  29. Walter F. Tichy. Rcs—A system for version control. Software—Practice and Experience, 15(7):637–654, July 1985.

    Google Scholar 

  30. Walter F. Tichy, editor. Configuration Management, volume 2 of Trends in Software. John Wiley & Sons, Chichester, England, 1994.

    Google Scholar 

  31. Jürgen F.H. Winkler. Version control in families of large programs. In E. Riddle, editor, Proc. 9th International Conference on Software Engineering, pages 91–105. IEEE Computer Society Press, March 1987.

    Google Scholar 

  32. Andreas Zeller. A unified version set model for configuration management. In G. Kaiser, editor, Proc. of the ACM SIGSOFT '95 Symposium on the Foundations of Software Engineering. ACM Press, October 1995. To appear.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Wilhelm Schäfer Pere Botella

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Zeller, A., Snelting, G. (1995). Handling version sets through feature logic. In: Schäfer, W., Botella, P. (eds) Software Engineering — ESEC '95. ESEC 1995. Lecture Notes in Computer Science, vol 989. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60406-5_15

Download citation

  • DOI: https://doi.org/10.1007/3-540-60406-5_15

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-60406-8

  • Online ISBN: 978-3-540-45552-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics