References
- [AFC98]
-
G. Antoniol, R. Fiutem, and L. Cristoforetti.
Design pattern recovery in object-oriented software.
In Proceedings of the 6th IEEE International Workshop on Program
Comprehension (IWPC 1998), pages 153–160. IEEE Computer Society, 1998.
- [BBS97]
-
Ralf Behnke, Rudolf Berghammer, and Peter Schneider.
Machine support of relational computations: The Kiel RELVIEW
system.
Technical Report 9711, Institut für Informatik und Praktische
Mathematik, Christian-Albrechts-Universität Kiel, 1997.
- [Bla04]
-
Michael Blaha.
A copper bullet for software quality improvement.
Computer, 37(2):21–25, 2004.
- [BLM02]
-
Rudolf Berghammer, Barbara Leoniuk, and Ulf Milanese.
Implementation of relational algebra using binary decision diagrams.
In H. de Swart, editor, Proceedings of the 6th International
Conference on Relational Methods in Computer Science (RelMICS 2001), LNCS
2561, pages 241–257, Berlin, 2002. Springer-Verlag.
- [BLQ+03]
-
Marc Berndl, Ondrej Lhoták, Feng Qian, Laurie J. Hendren, and Navindra
Umanee.
Points-to analysis using BDDs.
In Proceedings of the ACM SIGPLAN Conference on Programming
Language Design and Implementation (PLDI 2003), pages 103–114. ACM, 2003.
- [BNL03]
-
Dirk Beyer, Andreas Noack, and Claus Lewerentz.
Simple and efficient relational querying of software structures.
In Proceedings of the 10th Working Conference on Reverse
Engineering (WCRE 2003), pages 216–225. IEEE Computer Society, 2003.
- [Bry86]
-
Randal E. Bryant.
Graph-based algorithms for boolean function manipulation.
IEEE Transaction on Computers, C-35(8):677–691, 1986.
- [Bry92]
-
Randal E. Bryant.
Symbolic boolean manipulation with ordered binary decision diagrams.
ACM Computing Surveys, 24(3):293–318, 1992.
- [CGK98]
-
Yih-Farn Chen, Emden R. Gansner, and Elftherios Koutsofios.
A C++ data model supporting reachability analysis and dead code
detection.
IEEE Transactions on Software Engineering, 24(9):682–694,
1998.
- [Ciu99]
-
Oliver Ciupke.
Automatic detection of design problems in object-oriented
reengineering.
In Proceedings of Technology of Object-Oriented Languages and
Systems (TOOLS 1999), pages 18–32. IEEE Computer Society, 1999.
- [CM03]
-
William F. Clocksin and Cristopher S. Mellish.
Programming in Prolog.
Springer-Verlag, Berlin, 5th edition, 2003.
- [FH00]
-
Hoda Fahmy and Richard C. Holt.
Software architecture transformations.
In Proceedings of the International Conference on Software
Maintenance (ICSM 2000), pages 88–96. IEEE Computer Society, 2000.
- [FKvO98]
-
Loe M. G. Feijs, René L. Krikhaar, and Rob C. van Ommering.
A relational approach to support software architecture analysis.
Software: Practice & Experience, 28(4):371–400, 1998.
- [GHJV95]
-
Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides.
Design Patterns.
Addison-Wesley, Reading, MA, 1995.
- [Har91]
-
John Hartman.
Understanding natural programs using proper decomposition.
In Proceedings of the 13th International Conference on Software
Engineering (ICSE 1991), pages 62–73, 1991.
- [HN90]
-
Mehdi T. Harandi and Jim Q. Ning.
Knowledge-based program analysis.
IEEE Software, 7(1):74–81, 1990.
- [Hol96]
-
Richard C. Holt.
Binary relational algebra applied to software architecture.
Technical Report CSRI 345, University of Toronto, 1996.
- [Hol98]
-
Richard C. Holt.
Structural manipulations of software architecture using Tarski
relational algebra.
In Proceedings of the 5th Working Conference on Reverse
Engineering (WCRE 1998), pages 210–219. IEEE Computer Society, 1998.
- [IEE01]
-
IEEE.
IEEE Standard for Information Technology – Portable Operating
System Interface (POSIX) (IEEE Std 1003.1-2001), 2001.
- [KB98]
-
Rick Kazman and Marcus Burth.
Assessing architectural complexity.
In Proceedings of the 2nd Euromicro Conference on Software
Maintenance and Reengineering (CSMR 1998), pages 104–112, 1998.
- [KP96]
-
Christian Krämer and Lutz Prechelt.
Design recovery by automated search for structural design patterns in
object-oriented software.
In Proceedings of the 3rd Working Conference on Reverse
Engineering (WCRE 1996), pages 208–215. IEEE Computer Society, 1996.
- [Kri01]
-
Jens Krinke.
Identifying similar code with program dependence graphs.
In Proceedings of the 8th Working Conference on Reverse
Engineering (WCRE 2001), pages 301–309. IEEE Computer Society, 2001.
- [KSRP99]
-
Rudolf K. Keller, Reinhard Schauer, Sébastien Robitaille, and Patrick
Pagé.
Pattern-based reverse-engineering of design components.
In Proceedings of the 21st International Conference on Software
Engineering (ICSE 1999), pages 226–235. ACM, 1999.
- [KW99]
-
Bernt Kullbach and Andreas Winter.
Querying as an enabling technology in software reengineering.
In Proceedings of the 3rd European Conference on Software
Maintenance and Reengineering (CSMR 1999), pages 42–50, 1999.
- [Mar97]
-
Robert C. Martin.
Engineering notebook: Stability.
C++ Report, February 1997.
- [MNS01]
-
Gail C. Murphy, David Notkin, and Kevin J. Sullivan.
Software reflexion models: Bridging the gap between design and
implementation.
IEEE Transactions on Software Engineering, 27(4):364–380,
2001.
- [MS95]
-
Alberto O. Mendelzon and Johannes Sametinger.
Reverse engineering by visualizing and querying.
Software – Concepts & Tools, 16(4):170–182, 1995.
- [MWD99]
-
Kim Mens, Roel Wuyts, and Theo D'Hondt.
Declarative codifying software architectures using virtual software
classifications.
In Proceedings of the 29th International Conference on
Technology of Object-Oriented Languages and Systems - Europe (TOOLS 1999),
pages 33–45. IEEE Computer Society, 1999.
- [NSW+02]
-
Jörg Niere, Wilhelm Schäfer, Jörg P. Wadsack, Lothar Wendehals, and Jim
Welsh.
Towards pattern-based design recovery.
In Proceedings of the 24th International Conference on Software
Engineering (ICSE 2002), pages 338–348. ACM, 2002.
- [Qui94]
-
Alex Quilici.
A memory-based approach to recognizing programming plans.
Communications of the ACM, 37(5):84–93, 1994.
- [RW90]
-
Charles Rich and Linda M. Wills.
Recognizing a program's design: A graph-parsing approach.
IEEE Software, 7(1):82–89, 1990.
- [SMB96]
-
Forrest Shull, Walcélio L. Melo, and Victor R. Basili.
An inductive method for discovering design patterns from
object-oriented software systems.
Technical Report CS-TR-3597, Computer Science Department, University
of Maryland, 1996.
- [SSC96]
-
Mohlalefi Sefika, Aamod Sane, and Roy H. Campbell.
Monitoring compliance of a software system with its high-level design
models.
In Proceedings of the 18th International Conference on Software
Engineering (ICSE 1996), pages 387–396. IEEE Computer Society, 1996.
- [TA99]
-
Paolo Tonella and Giulio Antoniol.
Object oriented design pattern inference.
In Proceedings of the International Conference on Software
Maintenance (ICSM 1999), pages 230–238. IEEE Computer Society, 1999.
- [WHH02]
-
Jingwei Wu, Ahmed E. Hassan, and Richard C. Holt.
Using graph patterns to extract scenarios.
In Proceedings of the 10th International Workshop on Program
Comprehension (IWPC 2002), pages 239–247. IEEE Computer Society, 2002.
- [Won98]
-
Kenny Wong.
Rigi User's Manual, Version 5.4.4, 1998.
http://ftp.rigi.csc.uvic.ca/pub/rigi/doc/.