|
|
I'm defending my doctoral thesis entitled "Developer testing as an asset during software evolution: a series of empirical studies" on Wednesday, April 15 2009 at 16h in aula Jan Fabre (G0.10) of building G, Middelheimlaan 1, 2020 Antwerpen.
Abstract: In many ways, the presence of a developer test suite during software evolution helps developers to maintain quality standards: developer tests provide feedback early and quickly, fit in regression suites and are modified and executed by the developers themselves.
Developer tests, however, also seriously impact software evolution. In order to remain effective, these automated, persistent tests have to co-evolve alongside the production system, requiring continuous investments in these test artifacts throughout evolution. Worse, unless countermeasures are taken, test suites tend to grow large and difficult to maintain, with design decay characteristics such
as redundancy, duplication and poor performance.
Currently, developers have no means to evaluate the quality of a developer test suite beyond manual inspection and generic reverse engineering techniques. In this thesis, we state that a specification expressed in terms of test concepts enables developers to objectively evaluate test suites. We express
such a specification as a refinement step of an existing formalism for object-orientation.
By implementing this specification as part of a tool chain for reverse engineering Java and C++ systems, we demonstrate its applications to several challenges in evolutionary developer testing. In a series of empirical studies we experiment with automated traceability links, identify test maintainability indicators, explore the structure of test suites as well as the test process and finally, estimate the size of future changes in test code.
A digital version of my thesis text is available here (PDF, 6Mb)
|
|
|
|
Research
My research is situated in the domains of:
- Software testing and (co-)evolution.
- Reverse Engineering: static analysis, design recovery, architectural conformance.
- (Internal) software quality with a focus on maintainability.
- Refactoring.
I was involved in the following projects.
1. In the VOLGES project (2007-2009), we assist PsiControl (Picanol Group) in the construction of a next generation steering platform for weaving machines. Together with the KU Leuven, we evaluate the software architecture by means of the ATAM (Architectural Tradeoff and Analysis Method) and perform internal quality analyses.
2. The ITEA labeled SERIOUS (Software Evolution, Refactoring, Improvement of Operational & Usable Systems) project (2005-2008) is a
European university/industry co-operative research project that aims at the break-through of
turning the current practice of handcrafted evolution to a methodologically sound technique
supported by industry-adoptable tools including corresponding development processes for the
evolution of operations software intensive systems. We work closely together with out local partner Alcatel-Lucent on topics such as refactoring for performance, refactoring to state machines, persistent & uniform subsystem testing, internal quality monitoring and tool support for reverse engineering.
3. We assisted DCILabs (2006) in defining and evaluating a target architecture for a platform of HCS (High Content Screening) applications, with a focus on extensibility.
|
|
|
|
Publications
Journal
- Bart Van Rompaey, Bart Du Bois, Serge Demeyer and Matthias Rieger. On
the detection of test smells: A Metrics-based Approach for General Fixture and
Eager Test. IEEE Transactions on Software Engineering, 33(12): pp 800-817,
December 2007. (PDF)
Conference
- Bas Cornelissen, Andy Zaidman, Arie van Deursen and Bart Van Rompaey. Trace Visualization for Program Comprehension: a Controlled Experiment. 17th IEEE International Conference on Program Comprehension (ICPC2009). accepted.
- Bart Van Rompaey and Serge Demeyer. Establishing Traceability Links between Unit Test Cases and Units under Test. 13th European Conference on Software Maintenance and Reengineering (CSMR2009), European Projects Track. accepted.
- Bart Van Rompaey, Bart Du Bois, Serge Demeyer, John Pleunis, Ron Putman, Karel Meijfroidt, Juan Dueñas and Boni García. SERIOUS: Software Evolution, Refactoring, Improvement of Operational & Usable System. 13th European Conference on Software Maintenance and Reengineering (CSMR2009), European Projects Track. accepted.
- Bart Van Rompaey and Serge Demeyer. Estimation of Test Code
Changes using Historical Release Data. In Proceedings of the 15th Working Conference on
Reverse Engineering (WCRE2008), pp 269-278, Antwerpen, Belgium, October 15-18, 2008
- Adrian Kuhn, Bart Van Rompaey, Lea Hänsenberger, Oscar Nierstrasz, Serge Demeyer, Markus
Gälli and
Koenraad Van Leemput. JExample: Exploiting Dependencies Between Tests to Improve Defect Localization. In Proceedings of 9th International
Conference on
Agile Processes and eXtreme Programming in Software Engineering (XP 2008), Lecture Notes in Business Information Processing 9, pp 72-83,
Limerick, Ireland, June 10-14, 2008. (Presentation - JExample website - JExample twitter)
- Andy Zaidman, Bart Van Rompaey, Serge Demeyer and Arie van Deursen. Mining Software Repositories to Study
Co-Evolution of Production and Test Code. In
Proceedings of the 1st IEEE International Conference on Software Testing, Verification and Validation (ICST 2008),
pp 220-229, Lillehammer, Norway, April 9-11, 2008.
- Bart Van Rompaey, Bart Du Bois and Serge Demeyer. Characterizing the Relative Significance of a Test
Smell. In Proceedings of the 22nd IEEE International Conference on Software Maintenance (ICSM
2006), pp 391-400, Philadelphia,
Pennsylvania, September 25-27, 2006. (PDF)(Presentation)
Workshop
- Bart Van Rompaey and Serge Demeyer. Exploring the Composition of Unit Test Suites. 4th International ERCIM Workshop on Software Evolution and Evolvability, co-located with the IEEE/ACM International Conference on Automated Software Engineering, L'Aquila, Italy, September 2008. (PDF)
- Manuel Breugelmans and Bart Van Rompaey. TestQ: Exploring Structural and Maintenance
Characteristics of Unit Test Suites. International Workshop on Advanced Software Development Tools and Techniques (WASDeTT), co-located with the European Conference on Object-Oriented Programming, Paphos, Cyprus, July 2008. (TestQ website)
- Bram Adams, Herman Tromp, Bart Van Rompaey, Celina Gibbs and Yvonne Coady. Aspect mining in the
presence of the C preprocessor. 4th International Linking Aspect Technology and
Evolution workshop, co-located with the Aspect-Oriented Software Development Conference, Brussels, Belgium, April 2008.
- Bart Du Bois, Bart Van Rompaey, Karel Meijfroidt and Erik Suijs. Supporting Reengineering Scenarios with FETCH:
an Experience Report. In Electronic Communications of the EASST Volume 8: ERCIM Symposium on Software Evolution, 8(2007) (PDF)(Fetch
website)
- Matthias Rieger, Bart Van Rompaey, Karel Meijfroidt and Paul Olievier. Refactoring for Performance: an
Experience Report. In Proceedings of the Third International ERCIM Symposium on
Software Evolution, pp 206-214, co-located with the International Conference on Software Maintenance, Paris, France, October 2007 (PDF)
- Matthias Rieger, Bart Van Rompaey and Serge Demeyer. Refactoring State Machines. In Proceedings of the Sixth Nordic
Pattern Languages of Programs Conference (VikingPloP), pp 39-57, September 28-30,
2007, Bergen, Norway.
- Serge Demeyer, Bart Du Bois, Matthias Rieger and Bart Van Rompaey. The LAN-simulation: A Refactoring Lab Session.
1st Workshop on Refactoring Tools, co-located with the European Conference on Object-Oriented Programming, Berlin, Germany, July 2007.(PDF)(Lab
Material)
- Bart Van Rompaey. Making FAMIX Test-Aware. In Proceedings of the
1st Workshop on FAMIX and Moose in Reengineering (FAMOOSr), co-located with the International Conference on Objects, Models, Components and Patterns, pp
11-12, June 25 2007, Zürich, Switzerland. (PDF)
- Matthias Rieger, Bart Van Rompaey and Roel Wuyts. Teaching FAMIX about
the Preprocessor. In Proceedings of the 1st Workshop on FAMIX and Moose in
Reengineering (FAMOOSr), co-located with the International Conference on Objects, Models, Components and Patterns, pp 13-16, June 25, 2007, Zürich, Switzerland. (PDF)
Master Thesis
- Steven Hendrickx and Bart Van Rompaey. A preliminary study into the information retrieval of non-textual documents
in the context of a knowledge management system. Master in Industrial Management. Katholieke Universiteit Leuven, June 2005
- Bart Van Rompaey. Java and .NET: a look into today's virtual machine technology. Master (Licentiate) in
Computer Science. Universiteit Antwerpen, June 2004. (PDF)
Other
- Bart Van Rompaey and Matthias Rieger (eds.). SERIOUS Refactoring Handbook. Technical
Report No
08-09, Department of Mathematics and Computer Science, University of Antwerp. July 2008. Contributions from
ESI, Philips, Nokia and University of Antwerp. (PDF).
|
|