@misc {42882,
	title = {Trustworthy Machine Learning-enabled Systems},
	howpublished = {Simula Research Laboratory, Norway},
	year = {2022},
	author = {Briand, Lionel}
}
@article {24413,
	title = {Cost-effective Strategies for the Regression Testing of Database Applications: Case study and Lessons Learned},
	journal = {Journal of Systems and Software},
	volume = {113},
	year = {2016},
	pages = { 257{\textendash}274},
	publisher = {Simula Research Laboratory},
	abstract = {Testing and, more specifically, the regression testing of database applications is highly challenging and costly. One can rely on production data or generate synthetic data, for example based on combinatorial techniques or operational profiles. Both approaches have drawbacks and advantages. Automating testing with production data is impractical and combinatorial test suites might not be representative of system operations. In this paper, based on a large scale case study in a representative development environment, we explore the cost and effectiveness of various approaches and their combination for the regression testing of database applications, based on production data and synthetic data generated through classification tree models of the input domain. The results confirm that combinatorial test suite specifications bear little relation to test suite specifications derived from the system operational profile. Nevertheless, combinatorial testing strategies are effective, both in terms of the number of regression faults discovered but also, more surprisingly, in terms of the importance of these faults. However, our study also shows that relying solely on synthesized test data derived from test models could lead to important faults slipping to production. Thus, we recommend that testing on production data and combinatorial testing be combined to achieve optimal results.\&nbsp;},
	keywords = {Classification tree modeling, Combinatorial testing, Database applications, Operational profile testing, Regression testing, Test data generation},
	author = {Rogstad, Erik and Briand, Lionel}
}
@article {Simula.simula.3150,
	title = {aToucan: an Automated Framework to Derive UML Analysis Models From Use Case Models},
	journal = {ACM Transactions on Software Engineering and Methodology},
	volume = {24},
	number = {13},
	year = {2015},
	month = {05/2015},
	pages = {1-52},
	publisher = {ACM New York, NY, USA},
	address = {New York},
	abstract = {The transition from an informal requirements specification in natural language to a structured, precise specification is an important challenge in practice. It is particularly so for object-oriented methods, defined in the context of the OMG{\textquoteright}s Model Driven Architecture (MDA), where a key step is to transition from a use case model to an analysis model. However, providing automated support for this transition is challenging, mostly because requirements are in practice expressed in natural language and are much less structured than other kinds of development artifacts. Such an automated transformation would enable at least the generation of an initial, likely incomplete, analysis model and enable automated traceability from requirements to code, through various intermediate models. In this paper, we propose a method and a tool called aToucan, building on existing work, to automatically generate a UML analysis model comprising class, sequence and activity diagrams from a use case model and to automatically establish traceability links between model elements of the use case model and the generated analysis model. Note that our goal is to save effort through automated support, not to replace human abstraction and decision making. Seven (six) case studies were performed to compare class (sequence) diagrams generated by aToucan to the ones created by experts, Masters students, and trained, fourth year undergraduate students. Results show that aToucan performs well regarding consistency (e.g., 88\% class diagram consistency) and completeness (e.g., 80\% class completeness) when comparing generated class diagrams with reference class diagrams created by experts and Masters students. Similarly, sequence diagrams automatically generated by aToucan are highly consistent with the ones devised by experts and are also rather complete, e.g., 91\% and 97\% message consistency and completeness, respectively. Further, statistical tests show that aToucan significantly outperforms fourth year engineering students with that respect, thus demonstrating the value of automation. We also conducted two industrial case studies demonstrating the applicability of aToucan in two different industrial domains. Results showed that the vast majority of model elements generated by aToucan are correct and that therefore, in practice, such models would be good initial models to refine and augment so as to converge towards to correct and complete analysis models. A performance analysis shows that the execution time of aToucan (when generating class and sequence diagrams) is dependent on the number of simple sentences contained in the use case model and remains within a range of a few minutes. Five different software system descriptions (18 use cases altogether) were performed to evaluate the generation of activity diagrams. Results show that aToucan can generate 100\% complete and correct control flow information of activity diagrams and on average 85\% data flow information completeness. Moreover, we show aToucan outperforms three commercial tools in terms of activity diagram generation.},
	author = {Yue, Tao and Briand, Lionel and Labiche, Yvan}
}
@article {dialesio2015combining,
	title = {Combining Genetic Algorithms and Constraint Programming to Support Stress Testing of Task Deadlines},
	journal = {ACM Transactions on Software Engineering and Methodology (TOSEM)},
	volume = {25},
	year = {2015},
	month = {12/2015},
	pages = {1-37},
	publisher = {ACM},
	abstract = {Tasks in Real Time Embedded Systems (RTES) are often subject to hard deadlines, that constrain how quickly the system must react to external inputs. These inputs and their timing vary in a large domain depending on the environment state, and can never be fully predicted prior to system execution. Therefore, approaches for stress testing must be developed to uncover possible deadline misses of tasks for different input arrival times. In this paper, we describe stress test case generation as a search problem over the space of task arrival times. Specifically, we search for worst case scenarios maximizing deadline misses where each scenario characterizes a test case. In order to scale our search to large industrial-size problems, we combine two state-of-the-art search strategies, namely Genetic Algorithms (GA) and Constraint Programming (CP). Our experimental results show that, in comparison with GA and CP in isolation, GA+CP achieves nearly the same effectiveness as CP and the same efficiency and solution diversity as GA, thus combining the advantages of the two strategies. In light of these results, we conclude that a combined GA+CP approach to stress testing is more likely to scale to large and complex systems.},
	doi = {10.1145/2818640},
	author = {Di Alesio, Stefano and Nejati, Shiva and Briand, Lionel and Gotlieb, Arnaud}
}
@article {Simula.simula.2672,
	title = {Clustering Deviations for Black Box Regression Testing of Database Applications},
	journal = {Transaction on Reliability},
	year = {2014},
	publisher = {Simula Research Laboratory},
	abstract = {Regression tests often result in many deviations (differences between two system versions), either due to changes or regression faults. Many deviations can be caused by the same change or regression fault. In order for the tester to analyze such deviations efficiently, it would be helpful to accurately group them, such that each group contains deviations representing one unique change or regression fault. We investigate the use of clustering, based on database manipulations and test specifications (from test models), to group regression test deviations according to the faults or changes causing them. We also propose assessment criteria based on the concept of entropy to compare alternative clustering strategies. In the context of database applications, our results show that our clustering approach can indeed serve as an accurate strategy for grouping regression test deviations according to the faults and changes that caused them. Among the four test campaigns assessed, deviations were clustered perfectly for two of them, while for the two others, clusters were all homogenous. Our analysis suggests that this can significantly reduce the effort spent by testers in analyzing regression test deviations, increase their level of confidence under time constraints, and therefore make regression testing more scalable.},
	keywords = {clustering, regression test deviations, Software regression testing, test analysis},
	author = {Rogstad, Erik and Briand, Lionel}
}
@article {Simula.simula.1990,
	title = {Traceability and SysML Design Slices to Support Safety Inspections: a Controlled Experiment},
	journal = {ACM Transactions on Software Engineering and Methodology},
	volume = {23},
	number = {9},
	year = {2014},
	publisher = {ACM},
	address = {New York},
	abstract = {Certifying safety-critical software and ensuring its safety requires checking the conformance between safety requirements and design. Increasingly, the development of safety-critical software relies on modeling, and the System Modeling Language (SysML) is now commonly used in many industry sectors. Inspecting safety conformance by comparing design models against safety requirements requires safety inspectors to browse through large models and is consequently time consuming and error-prone. To address this, we have devised a mechanism to establish traceability between (functional) safety requirements and SysML design models to extract design slices (model fragments) that filter out irrelevant details but keep enough context information for the slices to be easy to inspect and understand. In this paper, we report on a controlled experiment assessing the impact of the traceability and slicing mechanism on inspectors\&$\#$39; conformance decisions and effort. Results show a significant decrease in effort and an increase in decisions\&$\#$39; correctness and level of certainty.},
	author = {Briand, Lionel and Falessi, Davide and Nejati, Shiva and Sabetzadeh, Mehrdad and Yue, Tao}
}
@inproceedings {Simula.simula.1656,
	title = {Classification, Structuring, and Assessment of Evidence for Safety: a Systematic Literature Review},
	journal = {2013 IEEE Sixth International Conference on Software Testing, Verification and Validation (ICST 2013)},
	year = {2013},
	publisher = {IEEE},
	type = {Conference},
	abstract = {Safety assurance and certification are amongst the most expensive and time-consuming tasks in the development of safety-critical systems. Demonstration of compliance with safety standards involves providing evidence that the standards\&$\#$39; safety criteria are met. To handle large collections of evidence effectively, safety professionals need knowledge of how to classify different types of evidence, how to structure the evidence, and how to assess it. This paper takes a step towards developing such a body of knowledge by conducting a Systematic Literature Review (SLR). Specifically, the SLR identifies and classifies the information and artefacts considered as evidence for safety, examines existing techniques for evidence structuring and assessment, and summarizes the challenges noted in the literature in relation to safety evidence. The paper, to our knowledge, is the first systematic review on the topic of safety evidence. The results we present are particularly relevant to practitioners seeking to better understand the evidence requirements for safety certification, as well as to researchers conducting research in this area. Keywords: safety-critical systems; safety standards; safety compliance; safety certification; safety evidence; systematic literature review.},
	keywords = {Conference},
	author = {Nair, Sunil and Jose Luis {de la Vara} and Sabetzadeh, Mehrdad and Briand, Lionel},
	editor = {Baudry, Benoit and Orso, A. and Le Traon, Yves}
}
@article {Simula.simula.2028,
	title = {A Goal-Based Approach for Qualification of New Technologies: Foundations, Tool Support, and Industrial Validation},
	journal = {Reliability Engineering and System Safety (RESS)},
	number = {119},
	year = {2013},
	publisher = {Elsevier},
	abstract = {New technologies typically involve innovative aspects that are not addressed by the existing normative standards and hence are not assessable through common certification procedures. To ensure that new technologies can be implemented in a safe and reliable manner, a specific kind of assessment is performed, which in many industries, e.g., the energy sector, is known as Technology Qualification (TQ). TQ aims at demonstrating with an acceptable level of confidence that a new technology will function within specified limits. Expert opinion plays an important role in TQ, both to identify the safety and reliability evidence that needs to be developed, and to interpret the evidence provided. Since there are often multiple experts involved in TQ, it is crucial to apply a structured process for eliciting expert opinions, and to use this information systematically when analyzing the satisfaction of a technology\&$\#$39;s safety and reliability objectives. In this article, we present a goal-based approach for TQ. Our approach enables analysts to quantitatively reason about the satisfaction of a technology\&$\#$39;s overall goals and further to identify the aspects that must be improved to increase goal satisfaction. The approach is founded on three main components: goal models, expert elicitation, and probabilistic simulation. We describe a tool, named Modus, that we have developed in support of our approach. We provide an extensive empirical validation of our approach through two industrial case studies and a survey.},
	doi = {10.1016/j.ress.2013.05.005},
	author = {Sabetzadeh, Mehrdad and Falessi, Davide and Briand, Lionel and Di Alesio, Stefano}
}
@inproceedings {19550,
	title = {Stress Testing of Task Deadlines: A Constraint Programming Approach},
	journal = {The 24th IEEE International Symposium on Software Reliability Engineering (ISSRE 2013)},
	year = {2013},
	type = {Conference},
	abstract = {Safety-critical Real Time Embedded Systems (RTESs) are usually subject to strict timing and performance requirements that must be satisfied for the system to be deemed safe. In this paper, we use effective search strategies whose goal is finding worst case scenarios with respect to deadline misses. Such scenarios can in turn be used to test the target RTES and ensure that it satisfies its timing requirements even under worst case conditions. Specifically, we develop an approach based on Constraint Programming (CP) to automate the generation of test cases that reveal, or are likely to, task deadline misses. We evaluate it through a comparison with a state-of-the-art approach based on Genetic Algorithms (GA). In particular, we compare CP and GA in five case studies for efficiency, effectiveness, and scalability. Our experimental results show that, on the largest and more complex case studies, CP performs significantly better than GA. Furthermore, CP offers some advantages over GA, such as it guarantees a complete search when there is sufficient time, and, being deterministic, it doesn\&$\#$39;t rely on parameters that potentially have a significant effect on the search and therefore need to be tuned. Hence, we conclude that our results are encouraging and suggest this is an advantageous approach for stress testing of RTESs with respect to timing constraints.},
	doi = {10.1109/ISSRE.2013.6698915},
	author = {Di Alesio, Stefano and Nejati, Shiva and Briand, Lionel and Gotlieb, Arnaud}
}
@article {24491,
	title = {Supporting the verification of compliance to safety standards via model-driven engineering: Approach, tool-support and empirical validation},
	journal = {Information and Software Technology},
	volume = {55},
	year = {2013},
	pages = {836-864},
	publisher = {Elsevier},
	author = {Rajwinder Kaur {Panesar-Walawege} and Sabetzadeh, Mehrdad and Briand, Lionel}
}
@article {24493,
	title = {Test case selection for black-box regression testing of database applications},
	journal = {Information and Software Technology},
	volume = {55},
	year = {2013},
	pages = {1718-1795},
	publisher = {Elsevier},
	author = {Rogstad, Erik and Briand, Lionel and Torkar, Richard}
}
@techreport {Simula.simula.1730,
	title = {Architecture-Level Configuration of Large-Scale Embedded Software Systems},
	number = {2012-19},
	year = {2012},
	publisher = {Simula Research Laboratory},
	abstract = {Configuration in the domain of integrated control systems (ICS) is largely manual, laborious, and error-prone. In this paper, we propose a model-based configuration approach that provides automation support for reducing configuration effort and improving the reliability of configured products in the ICS domain. We ground our approach on component-based specifications of ICS families. We then develop a configuration algorithm using constraint satisfaction techniques over finite domains to generate products that are consistent with respect to their ICS family specifications. We reason about the soundness and termination of our configuration algorithm analytically. We evaluate the effectiveness of our configuration approach by applying it to a real subsea oil production system. Specifically, we have rebuilt a number of existing verified product configurations of our industry partner. Our experience shows that our approach can automatically infer up to 50\% of the configuration decisions, and reduces the complexity of making configuration decisions.},
	author = {Behjati, Razieh and Nejati, Shiva and Briand, Lionel}
}
@inproceedings {23895,
	title = {Automatic Selection of Test Execution Plans from a Video Conferencing System Product Line},
	journal = {Proceedings of the VARiability for You Workshop: Variability Modeling Made Useful for Everyone},
	year = {2012},
	pages = {32 - 37},
	publisher = {ACM},
	isbn = {978-1-4503-1809-9},
	doi = {10.1145/2425415.2425422},
	author = {Wang, Shuai and Gotlieb, Arnaud and Liaaen, Marius and Briand, Lionel}
}
@techreport {Simula.simula.1144,
	title = {Empirical Investigation of Search Algorithms for Environment Model-Based Testing of Real-Time Embedded Software},
	number = {2012-01},
	year = {2012},
	publisher = {Simula Research Laboratory},
	abstract = {System testing of real-time embedded systems (RTES) is a challenging task and only a fully automated testing approach can scale up to the testing requirements of industrial RTES. One such approach, which offers the advantage for testing teams to be black-box, is to use environment models to automatically generate test cases and oracles and an environment simulator to enable earlier and more practical testing. In this paper, we propose novel heuristics for search-based, RTES system testing which are based on these environment models. We evaluate the fault detection effectiveness of two search-based algorithms, i.e., Genetic Algorithms and (1+1) Evolutionary Algorithm, when using these novel heuristics and their combinations. Preliminary experiments on 13 carefully selected, non-trivial artificial problems, show that, under certain conditions, these novel heuristics are effective at bringing the environment into a state exhibiting a system fault. The heuristic combination that showed the best overall performance on the artificial problems was applied on an industrial case study where it showed consistent results.},
	author = {Muhammad Zohaib {Iqbal} and Arcuri, Andrea and Briand, Lionel}
}
@techreport {25297,
	title = {Experiences of Applying UML/MARTE on Three Industrial Projects},
	number = {2012-08},
	year = {2012},
	note = {This technical report is an early version of a published conference paper. The published version can be found here:https://www.simula.no/publications/experiences-applying-umlmarte-three-industrial-projects},
	publisher = {Simula Research Laboratory},
	author = {Muhammad Zohaib {Iqbal} and Ali, Shaukat and Yue, Tao and Briand, Lionel}
}
@techreport {25251,
	title = {An Extended Systematic Literature Review on Classification, Structuring and Assessment of Evidence for Safety Compliance},
	number = {2012-23},
	year = {2012},
	publisher = {Simula Research Laboratory},
	author = {Nair, Sunil and Jose Luis {de la Vara} and Sabetzadeh, Mehrdad and Briand, Lionel}
}
@techreport {Simula.simula.1168,
	title = {Guided Interactive Configuration of Embedded Software Systems Using Constraint Satisfaction Over Finite Domains},
	number = {2012-05},
	year = {2012},
	publisher = {Simula Research Laboratory},
	abstract = {Modern society is increasingly dependent on highly-configurable software systems, in particular, architecturally configurable software such as that embedded in Integrated Control Systems (ICSs). Configuring ICSs is expensive, time-consuming and error-prone. This is due, in large part, to the fact that the hardware and software configuration processes are, typically, rather isolated from one another, resulting in many configuration errors to be detected only after the integration of software and hardware. In this work, we propose a model-based configuration approach that allows us to configure software in a stepwise manner, to automate some configuration decisions, and to iteratively validate software and hardware configuration decisions. Our approach has two major steps. In the first step (modeling), a generic model describing an ICS family is built. In the second step (configuration), we interactively guide a user to derive a particular product specification complying with the generic model of its ICS family. We use a constraint solver, SICStus Prolog, to evaluate user decisions at each round, to automatically infer configuration decisions and to ensure that software and hardware configurations are consistent. We evaluated our approach by applying it to a real subsea production system. Specifically, we rebuilt a number of existing verified product configurations of our industry partner. Our experience shows that our approach successfully enforces consistency of configurations, can automatically infer up to 50\% of the configuration decisions, and reduces the complexity of making configuration decisions by guiding the user during the configuration process.},
	keywords = {Workshop},
	author = {Behjati, Razieh and Nejati, Shiva and Gotlieb, Arnaud and Yue, Tao and Briand, Lionel}
}
@techreport {25298,
	title = {A Product Line Modeling and Configuration Methodology to Support Model-Based Testing: an Industrial Case Study},
	number = {2012-07},
	year = {2012},
	note = {This technical report is an early version of a published conference paper. The published version can be found here:https://www.simula.no/publications/product-line-modeling-and-configuration-methodology-support-model-based-testing},
	publisher = {Simula Research Laboratory},
	author = {Ali, Shaukat and Yue, Tao and Briand, Lionel and Walawege, Suneth}
}
@inproceedings {researchbased,
	title = {Research-Based Innovation: a Tale of Three Projects in Model-Driven Engineering},
	journal = {Model Driven Engineering Languages and Systems, 15th International Conference, MODELS 2012},
	volume = {7590},
	year = {2012},
	pages = {793-809},
	publisher = {Springer Berlin Heidelberg},
	type = {Conference},
	abstract = {In recent years, we have been exploring ways to foster a closer collaboration between software engineering research and industry both to align our research with practical needs, and to increase awareness about the importance of research for innovation. This paper outlines our experience with three research projects conducted in collaboration with the industry. We examine the way we collaborated with our industry partners and describe the decisions that contributed to the effectiveness of the collaborations. We report on the lessons learned from our experience and illustrate the lessons using examples from the three projects. The lessons focus on the applications of Model-Driven Engineering (MDE), as all the three projects we draw on here were MDE projects. Our goal from structuring and sharing our experience is to contribute to a better understanding of how researchers and practitioners can collaborate more effectively and to gain more value from their collaborations.},
	keywords = {Conference},
	doi = {10.1007/978-3-642-33666-9\_50},
	author = {Falessi, Davide and Nejati, Shiva and Sabetzadeh, Mehrdad and Yue, Tao},
	editor = {Briand, Lionel}
}
@techreport {SLR-Full-Extracted-Data,
	title = {SLR on Evidence Classification, Structuring and Assessment for Safety. Extracted Data, Technical Report},
	number = {2012-13},
	year = {2012},
	publisher = {Simula Research Laboratory},
	abstract = {Context: Critical systems in domains such as avionics, railway, and automotive are often subject to a formal process of safety certification. The goal of this process is to ensure that these systems will operate safely without posing undue risks to the user, the public, or the environment. Safety is typically ensured via complying with safety standards. Demonstrating compliance to these standards involves providing evidence to show that the safety criteria of the standards are met. Objective: In order to cope with the complexity of large critical systems and subsequently the large plethora of evidence information required for achieving compliance, safety professionals need in-depth knowledge to assist them in classifying different types of evidence, and in structuring and assessing the evidence. This paper is a step towards developing such a body of knowledge that is derived from a large-scale empirically rigorous literature review. Method: We use a Systematic Literature Review (SLR) as the basis for our work. The SLR builds on 217 peer-reviewed studies, selected through a multi- stage process, from 4,963 studies published between 1990 and 2012. Results: We develop a taxonomy that classifies the information and artefacts considered as evidence for safety. We review the existing techniques for safety evidence structuring and assessment, and further study the relevant challenges that have been the target of investigation in the academic literature. We analyse commonalities in the results among different application domains and discuss implications of the results for both research and practice. Conclusion: The paper is, to our knowledge, the largest existing study on the topic of safety evidence. The results are particularly relevant to practitioners seeking a better grasp on evidence requirements as well as to researchers in the area of system safety. As a major finding of the review, the results strongly suggest the need for more practitioner-oriented and industry-driven empirical studies in the area of safety certification.},
	author = {Nair, Sunil and Jose Luis {de la Vara} and Sabetzadeh, Mehrdad and Briand, Lionel}
}
@techreport {Simula.simula.840,
	title = {Automated System Testing of Real-Time Embedded Systems Based on Environment Models},
	number = {2011-19},
	year = {2011},
	publisher = {Simula Research Laboratory},
	abstract = {Testing real-time embedded systems (RTES) is in many ways challenging. Thousands of test cases may need to be executed on an industrial RTES. Given the magnitude of testing at the system level, only a fully automated approach can really scale up to test in an industrial context. In this paper we take a blackbox approach and model the RTES environment using the UML/MARTE international modeling standards. Our main motivation is to provide a more practical approach to the model-based testing of RTES. To do so, we enable system testers, who are often not familiar with the system design but know the application domain well-enough, to model the environment, using well-supported modeling standards, to enable test automation. Environment models can support the automation of three tasks: the code generation of an environment simulator to enable testing on the development platform, the selection of test cases, and the evaluation of their expected results (oracles). In this paper, we focus on the second task (test case selection) and investigate four test automation strategies using inputs from UML/MARTE environment models: Random Testing (baseline), Adaptive Random Testing, and Search-Based Testing (using Genetic Algorithms and (1+1) Evolutionary Algorithm). Results on artificial problems and one industrial case study show that Adaptive Random Testing performs best and, more importantly, that our automated testing framework is effective in finding faults.},
	author = {Muhammad Zohaib {Iqbal} and Arcuri, Andrea and Briand, Lionel}
}
@inproceedings {Simula.simula.502,
	title = {Automated Transition From Use Cases to UML State Machines to Support State-Based Testing},
	journal = {In Seventh European Conference on Modelling Foundations and Applications (ECMFA) 2011},
	year = {2011},
	pages = {115-131},
	publisher = {Springer-Verlag Berlin, Heidelberg},
	type = {Conference},
	abstract = {Use cases are commonly used to structure and document requirements while UML state machine diagrams often describe the behavior of a system and serve as a basis to automate test case generation in many model-based testing (MBT) tools. Therefore, automated support for the transition from use cases to state machines would provide significant, practical help for testing system requirements. Additionally, traceability could be established through automated transformations, which could then be used for instance to link requirements to design decisions and test cases, and assess the impact of requirements changes. In this paper, we propose an approach to automatically generate state machine diagrams from use cases while establishing traceability links. Our approach is implemented in a tool, which we used to perform three case studies, including an industrial case study. The results show that high quality state machine diagrams can be generated, which can be manually refined at reasonable cost to support MBT. Automatically generated state machines showed to largely conform to the actual system behavior as evaluated by a domain expert.},
	author = {Yue, Tao and Ali, Shaukat and Briand, Lionel}
}
@article {Simula.simula.684,
	title = {Automating Image Segmentation Verification and Validation by Learning Test Oracles},
	journal = {Information and Software Technology},
	volume = {53},
	number = {12},
	year = {2011},
	pages = {1337-1348},
	publisher = {Elsevier},
	abstract = {Context: An Image Segmentation Algorithm delineates (an) object(s) of interest in an image. Its output is referred to as a segmentation. Developing these algorithms is a manual, iterative process involving repetitive verification and validation tasks. This process is time-consuming and depends on the availability of experts, who may be a scarce resource (e.g., medical experts). Objective: We see the task of validating and verifying these algorithms as an instance of the oracle problem and provide a framework referred to as Image Segmentation Automated Oracle (ISAO) to help automate this process, saving substantial resources and improving efficiency. Method: ISAO uses machine learning to construct an automated oracle. During the initial learning phase, segmentations from the first few (optimally two) versions of the segmentation algorithm are manually verified by experts. The similarity of successive segmentations of the same images is also measured in various ways. This information is then fed to a machine learning algorithm to construct a classifier that distinguishes between consistent and inconsistent segmentation pairs (as determined by an expert) based on the values of the similarity measures associated with each segmentation pair. Once the accuracy of the classifier is deemed satisfactory to support a consistency determination, the classifier is then used to determine whether the segmentations that are produced by subsequent versions of the algorithm under test, are (in)consistent with already verified segmentations from previous versions. This information is then used to automatically draw conclusions about the correctness of the segmentations. Results: We have successfully applied this approach to 3D segmentations of the cardiac left ventricle obtained from CT scans and have obtained promising results (accuracies of 95\%). Conclusion: ISAO has demonstrated the ability to increase the quality and testing efficiency of image segmentation algorithms. The framework also gives informative feedback to the developer as the segmentation algorithm evolves and provides a systematic means of testing different parametric configurations of the algorithm.},
	doi = {10.1016/j.infsof.2011.06.009},
	author = {Frouchni, Kambiz and Briand, Lionel and Labiche, Yvan and Grady, Leo and Subramanyan, Rajesh}
}
@inproceedings {19466,
	title = {Combining Goal Models, Expert Elicitation, and Probabilistic Simulation for Qualification of New Technology},
	journal = {The 13th IEEE International High Assurance Systems Engineering Symposium (HASE 2011)},
	year = {2011},
	type = {Conference},
	abstract = {New technologies typically involve innovative aspects that are not addressed by the existing normative standards and hence are not assessable through common certification procedures. To ensure that new technologies can be implemented in a safe and reliable manner, a specific kind of assessment is performed, which in many industries, e.g., the energy sector, is known as Technology Qualification (TQ). TQ aims at demonstrating with an acceptable level of confidence that a new technology will function within specified limits. Expert opinion plays an important role in TQ, both to identify the safety and reliability evidence that needs to be developed, and to interpret the evidence provided. Hence, it is crucial to apply a systematic process for eliciting expert opinions, and to use the opinions for measuring the satisfaction of a technology\&$\#$39;s safety and reliability objectives. In this paper, drawing on the concept of assurance cases, we propose a goal-based approach for TQ. The approach, which is supported by a software tool, enables analysts to quantitatively reason about the satisfaction of a technology\&$\#$39;s overall goals and further to identify the aspects that must be improved to increase goal satisfaction. The three main components enabling quantitative assessment are goal models, expert elicitation, and probabilistic simulation. We report on an industrial pilot study where we apply our approach for assessing a new offshore technology.},
	doi = {10.1109/HASE.2011.22},
	author = {Sabetzadeh, Mehrdad and Falessi, Davide and Briand, Lionel and Di Alesio, Stefano and McGeorge, Dag and {\r A}hjem, Vidar and Borg, Jonas}
}
@techreport {Simula.approve.70,
	title = {Does Aspect-Oriented Modeling Help Improve the Readability of UML State Machines?},
	number = {2010-11},
	year = {2011},
	publisher = {Simula Research Laboratory},
	abstract = {Aspect-oriented Modeling (AOM) is a relatively recent and very active field of research, which application has however been limited in practice. AOM is assumed to yield several potential benefits such as enhanced modularization, easier evolution, increased reusability, and improved readability of models, as well as reduced modeling effort. However, credible, solid empirical evidence of such benefits is lacking. We evaluate the \&ldquo;readability\&rdquo; of state machines when modeling crosscutting behavior using AOM and more specifically AspectSM, a UML profile extending the UML state machine notation to provide mechanisms to define aspects using state machines. With AspectSM, crosscutting behavior is modeled using so-called \&ldquo;aspect state machines\&rdquo;. Their readability is compared with that of system state machines directly modeling crosscutting and standard behavior together. A controlled experiment was conducted with 25 trained, graduate students to achieve the above objective. Readability is defined based on the identification of defects seeded in state machines and the score obtained when answering a comprehension questionnaire about the system behavior. We use two baselines of comparisons-standard UML state machines without hierarchical features (flat state machines) and standard state machines with hierarchical features (hierarchical state machines)-in order to assess the role of hierarchies in the benefits brought by AspectSM. The results showed that defect identification with AspectSM is significantly better than that with both flat and hierarchical state machines. In terms of the comprehension questionnaire, the AspectSM scores are better than flat state machines, but worse than hierarchical state machines. Regarding the effort for inspecting the state machines, no significant difference could be observed. Conclusion: Results of the experiment suggest using hierarchical features of UML state machines for crosscutting concerns where this is possible and resort otherwise to aspect state machines or use them together for better readability.},
	author = {Ali, Shaukat and Yue, Tao and Briand, Lionel}
}
@techreport {Simula.simula.372,
	title = {Empirically Evaluating the Impact of Applying Aspect State Machines on Modeling Quality and Effort},
	number = {2011-06},
	year = {2011},
	publisher = {Simula Research Laboratory},
	abstract = {Aspect-Oriented Modeling (AOM) has been the subject of intense research over the last decade and aims to provide numerous benefits to modeling, such as enhanced modularization, easier evolution, higher applicability as well as reduced modeling effort. However, these benefits can only be obtained at the cost of learning and applying new modeling approaches. Studying their applicability is therefore important to assess whether they are worth using in practice. In this paper, we report the first controlled experiment to assess the applicability of AOM, focusing on a recently published UML profile (AspectSM). This profile was originally designed to support model-based robustness testing in an industrial context but is applicable to the behavioral modeling of other crosscutting concerns. This experiment assesses the applicability of AspectSM from two aspects: the quality of derived state machines and the effort required to build them. With AspectSM, a crosscutting behavior is modeled using so-called \&ldquo;aspect state machine\&rdquo;. The applicability of aspect state machines is evaluated by comparing them with standard UML state machines that directly model the entire system behavior, including crosscutting concerns. The quality of both aspect and standard UML state machines derived by subjects is measured by comparing them against their corresponding reference state machines. Results show that aspect state machines derived with AspectSM are significantly more complete and correct though AspectSM took significantly more time than the standard approach, probably due to a lack of familiarity of the subjects.},
	author = {Ali, Shaukat and Yue, Tao and Briand, Lionel}
}
@inproceedings {Simula.simula.190,
	title = {Enabling the Runtime Assertion Checking of Concurrent Contracts for the Java Modeling Language},
	journal = {ACM/IEEE Int. Conference on Software Engineering (ICSE)},
	year = {2011},
	pages = {786-795},
	publisher = {ACM New York, NY, USA},
	type = {Conference},
	abstract = {Though there exists ample support for Design by Contract (DbC) for sequential programs, applying DbC to concurrent programs presents several challenges. In previous work, we extended the Java Modeling Language (JML) with constructs to specify concurrent contracts for Java programs. We present a runtime assertion checker (RAC) for the expanded JML capable of verifying assertions for concurrent Java programs. We systematically evaluate the validity of system testing results obtained via runtime assertion checking using actual concurrent and functional faults on a highly concurrent industrial system from the telecommunications domain.},
	isbn = {978-1-4503-0445-0},
	author = {Araujo, Wladimir and Briand, Lionel and Labiche, Yvan},
	editor = {Harald Gall Richa {Taylor} and Medvidovic, Nenad}
}
@inproceedings {Simula.simula.714,
	title = {Industrial Experiences With Automated Regression Testing of a Legacy Database Application},
	journal = {IEEE Int. Conference on Software Maintenance},
	year = {2011},
	pages = {362-371},
	publisher = {IEEE Computer Society},
	type = {Conference},
	abstract = {This paper presents a practical approach and tool (DART) for functional black-box regression testing of complex legacy database applications. Such applications are important to many organizations, but are often difficult to change and consequently prone to regression faults during maintenance. They also tend to be built without particular considerations for testability and can be hard to control and observe. We have therefore devised a practical solution for functional regression testing that captures the changes in database state (due to data manipulations) during the execution of a system under test. The differences in changed database states between consecutive executions of the system under test, on different system versions, can help identify potential regression faults. In order to make the regression test approach scalable for large, complex database applications, classification tree models are used to prioritize test cases. The test case prioritization can be applied to reduce test execution costs and analysis effort. We report on how DART was applied and evaluated on business critical batch jobs in a legacy database application in an industrial setting, namely the Norwegian Tax Accounting System (SOFIE) at the Norwegian Tax Department (NTD). DART has shown promising fault detection capabilities and cost-effectiveness and has contributed to identify many critical regression faults for the past eight releases of SOFIE.},
	isbn = {978-1-4577-0663-9},
	author = {Rogstad, Erik and Arisholm, Erik and Briand, Lionel and Dalberg, Ronny and Rynning, Marianne},
	editor = {James R. Cordy A {Marcus} and Tonella, Paolo}
}
@inproceedings {Simula.simula.716,
	title = {A Model-Driven Engineering Approach to Support the Verification of Compliance to Safety Standards},
	journal = {22th IEEE International Symposium on Software Reliability Engineering (ISSRE 2011)},
	year = {2011},
	pages = {30-39},
	publisher = {IEEE},
	type = {Conference},
	abstract = {Certification of safety-critical systems according to well-recognised standards is the norm in many industries where the failure of such systems can harm people or the environment. Certification bodies examine such systems, based on evidence that the system suppliers provide, to ensure that the relevant safety risks have been sufficiently mitigated. The evidence is aimed at satisfying the requirements of the standards used for certification, and naturally a key prerequisite for effective collection of evidence, is that the supplier be aware of these requirements and the evidence they require. This often proves to be a very challenging task because of the sheer size of the standards and the fact that the textual standards are amenable to subjective interpretation. In this paper, we propose an approach based on UML profiles and model-driven engineering. It addresses not only the above challenge but also enables the automated verification of compliance to standards based on evidence. Specifically, a profile is created, based on a conceptual model of a given standard, which provides a succinct and explicit interpretation of the underlying standard. The profile is augmented with constraints that help system suppliers with establishing a relationship between the concepts in the safety standard of interest and the concepts in the application domain. This in turn enables suppliers to demonstrate how their system development artifacts achieve compliance to the standard. We illustrate our approach by showing how the concepts in the domain of sub-sea control systems can be aligned with the evidence requirements in the IEC61508 standard, which is one of the most commonly used certification standard for control systems.},
	isbn = {978-0-7695-4568-4},
	author = {Rajwinder Kaur {Panesar-Walawege} and Sabetzadeh, Mehrdad and Briand, Lionel},
	editor = {IEEE, }
}
@inproceedings {Simula.simula.88,
	title = {A Practical Guide for Using Statistical Tests to Assess Randomized Algorithms in Software Engineering},
	journal = {ACM/IEEE International Conference on Software Engineering (ICSE)},
	year = {2011},
	pages = {1-10},
	publisher = {IEEE},
	type = {1},
	abstract = {Randomized algorithms have been used to successfully addressmany different types of software engineering problems. This type of algorithms employ a degree of randomness as part of their logic. Randomized algorithms are useful for difficult problems where a precise solution cannot be derived in a deterministic way within reasonable time. However, randomized algorithms produce different results on every run when applied to the same problem instance. It is hence important to assess the effectiveness of randomized algorithms by collecting data from a large enough number of runs. The use of rigorous statistical tests is then essential to provide support to the conclusions derived by analyzing such data. In this paper, we provide a systematic review of the use of randomized algorithms in selected software engineering venues in 2009. Its goal is not to perform a complete survey but to get a representative snapshot of current practice in software engineering research. We show that randomized algorithms are used in a significant percentage of papers but that, in most cases, randomness is not properly accounted for. This casts doubts on the validity of most empirical results assessing randomized algorithms. There are numerous statistical tests, based on different assumptions, and it is not always clear when and how to use these tests. We hence provide practical guidelines to support empirical research on randomized algorithms in software engineering.},
	isbn = {978-1-4503-0445-0},
	author = {Arcuri, Andrea and Briand, Lionel},
	editor = {Gall, Harald and Medvidovic, Nenad}
}
@article {Simula.simula.86,
	title = {Random Testing: Theoretical Results and Practical Implications.},
	journal = {IEEE Transactions on Software Engineering},
	volume = {38},
	number = {2},
	year = {2011},
	pages = {258-277},
	publisher = {IEEE},
	abstract = {A substantial amount of work has shed light on whether random testing is actually a useful testing technique. Despite its simplicity, several successful real-world applications appear in the literature. Although it is not going to solve all possible testing problems, random testing is an essential tool in the hands of software testers. In this paper, we review and analyze the debate about random testing. Its benefits and drawbacks are discussed. Recent developments of more sophisticated random testing techniques are reviewed as well. Novel results addressing general questions about random testing are also presented, such as how long random testing needs on average to achieve testing targets (e.g., coverage), how does it scale and how likely is it to yield similar results if we re-run random testing on the same testing problem. Due to its simplicity that makes the mathematical analysis of random testing tractable, we provide precise and rigorous answers to these questions. Our theoretical results are backed up by simulations and we show how they can be applied to most types of software and testing criteria. In light of our results, we then assess the validity of empirical analyses reported in the literature. Results show that random testing is more effective and predictable than previously thought.},
	author = {Arcuri, Andrea and Muhammad Zohaib {Iqbal} and Briand, Lionel}
}
@techreport {Simula.simula.820,
	title = {Research-Based Innovation: a Tale of Three Projects in Model-Driven Engineering},
	number = {2011-18},
	year = {2011},
	month = {October},
	publisher = {Simula Research Laboratory},
	abstract = {Engineering research needs to be informed by (or based on) industrial needs to have impact, and industrial innovation depends on research to fill the gaps in knowledge and to pave the way for better tools, technologies, and services. In the past few years, we have been exploring ways to foster a closer collaboration between research and industry both to align our research with practical needs, and to further increase awareness about the important role that software engineering research plays as an enabler for innovation. This paper outlines our experiences with three recent and successful research projects conducted in collaboration with the maritime and energy industry. We take a retrospective approach to examine the way we collaborated with our industry partners and elaborate the decisions that we believe contributed to the effectiveness of the collaborations. We report the lessons learned from our experience and illustrate these lessons using examples from the three projects. The lessons focus on the applications of Model-Driven Engineering (MDE), as all the three projects we draw on here were MDE projects. Our goal from structuring and sharing our experience is to contribute to a better understanding of how researchers and practitioners can collaborate more effectively and to gain more value from their collaborations.},
	author = {Briand, Lionel and Falessi, Davide and Nejati, Shiva and Sabetzadeh, Mehrdad and Yue, Tao}
}
@inproceedings {Simula.simula.970,
	title = {SafeSlice: a Model Slicing and Design Safety Inspection Tool for SysML.},
	journal = {SIGSOFT/FSE{\textquoteright}11 19th ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE-19) and ESEC{\textquoteright}11: 13rd European Software Engineering Conference (ESEC-13)},
	year = {2011},
	publisher = {ACM},
	type = {Conference},
	abstract = {Software safety certification involves checking that the software design meets the (software) safety requirements. In practice, inspections are one of the primary vehicles for ensuring that safety requirements are satisfied by the design. Unless the safety-related aspects of the design are clearly delineated, the inspections conducted by safety assessors would have to consider the entire design, although only small fragments of the design may be related to safety. In a model-driven development context, this means that the assessors have to browse through large models, understand them, and identify the safety-related fragments. This is time-consuming and error-prone, specially noting that the assessors are often third party regulatory bodies who were not involved in the design. To address this problem, we describe in this paper a prototype tool called, SafeSlice, that enables one to automatically extract the safety-related slices (fragments) of design models. The main enabler for our slicing technique is the traceability between the safety requirements and the design, established by following a structured design methodology that we propose. Our work is grounded on SysML, which is being increasingly used for expressing the design of safety-critical systems. We have validated our work through two case studies and a control experiment which we briefly outline in the paper.},
	isbn = {978-1-4503-0443-6},
	author = {Falessi, Davide and Nejati, Shiva and Sabetzadeh, Mehrdad and Briand, Lionel and Messina, Antonio},
	editor = {Andreas Zeller Tib {Gyim{\'o}thy}}
}
@inproceedings {Simula.simula.500,
	title = {A Search-Based OCL Constraint Solver for Model-Based Test Data Generation},
	journal = {Proceedings of the 11th International Conference On Quality Software (QSIC 2011)},
	year = {2011},
	pages = {41-50},
	publisher = {IEEE Computer Society},
	type = {Conference},
	abstract = {Model-based testing (MBT) aims at automated, scalable, and systematic testing solutions for complex industrial software systems. To increase chances of adoption in industrial contexts, software systems should be modeled using well-established standards such as the Unified Modeling Language (UML) and Object Constraint Language (OCL). Given that test data generation is one of the major challenges to automate MBT, this is the topic of this paper with a specific focus on test data generation from OCL constraints. Though search-based software testing (SBST) has been applied to test data generation for white-box testing (e.g., branch coverage), its application to the MBT of industrial software systems has been limited. In this paper, we propose a set of search heuristics based on OCL constraints to guide test data generation and automate MBT in industrial applications. These heuristics are used to develop an OCL solver exclusively based on search, in this particular case genetic algorithm and (1+1) EA. Empirical analyses to evaluate the feasibility of our approach are carried out on one industrial system.},
	isbn = {978-0-7695-4468-7},
	author = {Ali, Shaukat and Muhammad Zohaib {Iqbal} and Arcuri, Andrea and Briand, Lionel}
}
@techreport {Simula.simula.746,
	title = {SimPL: a Product-Line Modeling Methodology for Families of Integrated Control Systems},
	number = {2011-14 (V. 4)},
	year = {2011},
	publisher = {Simula Research Laboratory},
	abstract = {Product-line engineering is increasingly gaining attention in the domain of integrated control systems (ICSs), in which software and hardware components are integrated to control and monitor physical devices and processes. ICSs are typically large-scale, highly-configurable, and highly-hierarchical software intensive systems. A family of ICSs share the same software code base, which is configured differently for each product to form a unique installation and therefore a large number of interdependent variability points are introduced by both hardware and software components. Due to the complexities of such systems and inadequate automation support, product configuration and derivation is becoming an error prone and costly task and, therefore, quality and productivity of the product development process cannot be assured. To overcome these challenges, we propose a scalable, UML-based, and standard-oriented product-line modeling methodology to support automated and systematic product configuration and derivation of ICSs. We performed a comprehensive domain analysis to identify characteristics of ICS families, and their configuration requirements, based on which we propose a modeling methodology named SimPL. The SimPL methodology is evaluated based on an industrial case study. Our experience with the industrial case study shows that the SimPL methodology provides necessary and sufficient constructs and clear guidelines for modeling product-line architectures. Our evaluation results also show that SimPL is scalable and easy to use in practice, and it is capable of supporting the automated product configuration and derivation process. In conclusion, to solve the configuration problems in the domain of ICS families, it is required to automate the configuration process as much as possible by systematically and precisely providing sufficient information about software and hardware variability points and their interdependencies. UML-based modeling methodologies, according to our experience with applying SimPL in an industrial case study, appear to be applicable for this purpose.},
	author = {Behjati, Razieh and Yue, Tao and Briand, Lionel and Selic, Bran}
}
@article {Simula.approve.62,
	title = {A Systematic Review of Transformation Approaches Between User Requirements and Analysis Models},
	journal = {Requirements Engineering},
	volume = {16},
	number = {2},
	year = {2011},
	pages = {75-99},
	publisher = {Springer},
	abstract = {Model transformation is one of the basic principles of Model Driven Architecture. To build a software system, a sequence of transformations is performed, starting from requirements and ending with implementation. However, requirements are mostly in the form of text, but not a model that can be easily understood by computers; therefore automated transformations from requirements to analysis models are not easy to achieve. The overall objective of this systematic review is to examine existing literature works that transform textual requirements into analysis models, highlight open issues, and provide suggestions on potential directions of future research. The systematic review led to the analysis of 20 primary studies (16 approaches) obtained after a carefully designed procedure for selecting papers published in journals and conferences from 1996 to 2008 and Software Engineering textbooks. A conceptual framework is designed to provide common concepts and terminology, and to define a unified transformation process. This facilitates the comparison and evaluation of the reviewed papers.},
	author = {Yue, Tao and Briand, Lionel and Labiche, Yvan}
}
@inproceedings {Simula.simula.1132,
	title = {Using Model-Driven Engineering for Managing Safety Evidence: Challenges, Vision and Experience},
	journal = {The 1st Intentional Workshop on Software Certification (WoSoCER) at 22th IEEE International Symposium on Software Reliability Engineering.},
	year = {2011},
	publisher = {Springer},
	type = {Workshop},
	abstract = {Certification is a major prerequisite for most safety-critical systems before they can be put into operation. During certification, system suppliers often have to present a coherent body of evidence demonstrating that the developed systems are safe for operation. Regardless of the certification approach taken (process-based or product-based), collection of proper evidence at the proper stage of development is critical for successful certification. Currently, system suppliers and certification bodies alike are facing various challenges in relation to safety evidence collection. Notably, they find it hard to interpret the evidence requirements imposed by the safety standards within the domain of application; little support exists for recording, querying, and reporting evidence in a structured manner; and there is a general absence of guidelines on how the collected evidence supports the safety objectives. This paper states our position on how safety evidence should be characterized and managed. Specifically, we propose the application of Model-Driven Engineering as an enabler for performing the various tasks related to safety evidence management. We outline our current work on the specification of safety evidence requirements, upfront planning of evidence collection activities, tailoring of evidence information to domain-specific needs, and storage of evidence information. Based on this work, we identify a number of challenges that need further investigation and provide a future research agenda for managing safety evidence for software safety certification.},
	isbn = {978-0-7695-4568-4},
	author = {Rajwinder Kaur {Panesar-Walawege} and Sabetzadeh, Mehrdad and Briand, Lionel}
}
@inproceedings {Simula.simula.666,
	title = {Using UML Profiles for Sector-Specific Tailoring of Safety Evidence Information},
	journal = {30th ACM International Conference on Conceptual Modeling (ER)},
	volume = {6998/2011},
	year = {2011},
	pages = {362-378},
	publisher = {ACM},
	type = {Conference},
	abstract = {Safety-critical systems are often subject to certification as a way to ensure that the safety risks associated with their use are sufficiently mitigated. A key requirement of certification is the provision of evidence that a system complies with the applicable standards. The way this is typically organized is to have a generic standard that sets forth the general evidence requirements across different industry sectors, and then to have a derived standard that specializes the generic standard according to the needs of a specific industry sector. To demonstrate standards compliance, one therefore needs to precisely specify how the evidence requirements of a sector-specific standard map onto those of the generic parent standard. Unfortunately, little research has been done to date on capturing the relationship between generic and sector-specific standards and a large fraction of the issues arising during certification can be traced to poorly-stated or implicit relationships between a generic standard and its sector-specific interpretation. In this paper, we propose an approach based on UML profiles to systematically capture how the evidence requirements of a generic standard are specialized in a particular domain. To demonstrate our approach, we apply it for tailoring IEC61508 - one of the most established standards for functional safety - to the Petroleum industry},
	isbn = {978-3-642-24605-0},
	author = {Rajwinder Kaur {Panesar-Walawege} and Sabetzadeh, Mehrdad and Briand, Lionel}
}
@techreport {Simula.simula.600,
	title = {Using UML Profiles for Sector-Specific Tailoring of Safety Evidence Information},
	number = {2011-10},
	year = {2011},
	month = {April},
	publisher = {Simula Research Laboratory},
	address = {P.O.Box 134, 1325 Lysaker, Norway},
	abstract = {Safety-critical systems are often subject to certification as a way to ensure that the safety risks associated with their use are sufficiently mitigated. A key requirement of certification is the provision of evidence that a system complies with the applicable standards. The way this is typically organized is to have a generic standard that sets forth the general evidence requirements across different industry sectors, and then to have a derived standard that specializes the generic standard according to the needs of a specific industry sector. To demonstrate standards compliance, one therefore needs to precisely specify how the evidence requirements of a sector-specific standard map onto those of the generic parent standard. Unfortunately, little research has been done to date on capturing the relationship between generic and sector-specific standards and a large fraction of the issues arising during certification can be traced to poorly-stated or implicit relationships between a generic standard and its sector-specific interpretation. In this paper, we propose an approach based on UML profiles to systematically capture how the evidence requirements of a generic standard are specialized in a particular domain. To demonstrate our approach, we apply it for tailoring IEC61508 - one of the most established standards for functional safety - to the Petroleum industry.},
	author = {Rajwinder Kaur {Panesar-Walawege} and Sabetzadeh, Mehrdad and Briand, Lionel}
}
@techreport {Simula.simula.120,
	title = {Achieving Scalable Model-Based Testing Through Test Case Diversity},
	number = {2010-18},
	year = {2010},
	publisher = {Simula Research Laboratory},
	abstract = {The increase in size and complexity of modern software systems entails scalable, systematic, and automated testing approaches. Model-based testing (MBT), as a systematic and automated test case generation technique, is being successfully applied to verify industrial-scale systems and is supported by commercial tools. However, scalability is still an open issue for large systems as in practice there are limits to the amount of testing that can be performed in industrial contexts. Even with standard coverage criteria, the resulting test suites generated by MBT techniques can be very large and expensive to execute, especially for system level testing on real deployment platforms and network facilities. Therefore, a scalable MBT technique should be flexible regarding the size of the generated test suites and should be easily accommodated to fit resource and time constraints. Our approach is to select a subset of the generated test suite in such a way that it can be realistically executed and analyzed within the time and resource constraints, while preserving the fault revealing power of the original test suite to a maximum extent. In this paper, to address this problem, we introduce a family of similarity-based test case selection techniques. We evaluate 320 different similarity-based selection techniques and then compare the effectiveness of the best similarity-based selection technique with other common selection techniques in the literature. The results based on two industrial case studies show significant benefits and a large improvement in performance when using a similarity-based approach. We complement these analyses with further studies on the scalability of the technique and the effects of failure rate on its effectiveness. We also propose a method to identify optimal tradeoffs between the number of test cases to run and fault detection.},
	author = {Hemmati, Hadi and Arcuri, Andrea and Briand, Lionel}
}
@techreport {Simula.approve.48,
	title = {Adaptive Random Testing: an Illusion of Effectiveness},
	number = {2010-09, Version 2},
	year = {2010},
	publisher = {Simula Research Laboratory},
	abstract = {Adaptive Random Testing (ART) has been proposed as an enhancement to random testing, based on assumptions on how failing test cases are distributed in the input domain. The main assumption is that failing test cases are usually grouped into contiguous regions. Several papers have been published in which ART has been described as an effective alternative to random testing when using the F-measure for evaluation, the average number of test case executions needed to find a failure. But all the work in the literature is based either on simulations or biased case studies with unreasonably high failure rates. In this paper, we report on the largest empirical analysis of ART in the literature, in which 3727 mutated programs and nearly five trillion test cases were used. Results show that ART is highly inefficient even on trivial problems when accounting for distance calculations among test cases, to an extent that probably prevents its practical use in most situations. For example, on the infamous Triangle Classification program, random testing finds failures in few milliseconds whereas ART execution time is prohibitive. Even when assuming a small, fixed size test set and looking at the probability of failure (P-measure), ART does not fare well at all, even though slightly better than random testing. We provide precise explanations of this phenomenon based on rigorous empirical analyses. For the simpler case of single-dimension input domains, we also perform formal analyses to support our claim that ART is of little use unless drastic enhancements are developed. We clearly identify which are the components of ART that need to be improved to make it a viable option in practice.},
	author = {Arcuri, Andrea and Briand, Lionel}
}
@inproceedings {Simula.approve.20,
	title = {An Automated Approach to Transform Use Cases Into Activity Diagrams},
	journal = {6th European Conference on Modelling Foundations and Applications (ECMFA 2010)},
	volume = {6138},
	year = {2010},
	pages = {337-353},
	publisher = {Springer},
	type = {Conference},
	abstract = {Use cases are commonly used to structure and document requirements while UML activity diagrams are often used to visualize and formalize use cases, for example to support automated test case generation. Therefore the automated support for the transition from use cases to activity diagrams would provide significant, practical help. Additionally, traceability could be established through automated transformation, which could then be used for instance to relate requirements to design decisions and test cases. In this paper, we propose an approach to automatically generate activity diagrams from use cases while establishing traceability links. Data flow information can also be generated and added to these activity diagrams. Our approach is implemented in a tool, which we used to perform five case studies. The results show that high quality activity diagrams can be generated. Our analysis also shows that our approach outperforms existing academic approaches and commercial tools.},
	isbn = {978-3-642-13594-1},
	author = {Yue, Tao and Briand, Lionel and Labiche, Yvan},
	editor = {K{\"u}hne et {al.}}
}
@inproceedings {Simula.approve.16,
	title = {Black-Box System Testing of Real-Time Embedded Systems Using Random and Search-Based Testing},
	journal = {22nd IFIP International Conference on Testing Software and Systems (ICTSS) - formerly TestCom/FATES},
	volume = {6435},
	year = {2010},
	publisher = {Springer},
	type = {Conference},
	abstract = {Testing real-time embedded systems (RTES) is in many ways challenging. Thousands of test cases can be potentially executed on an industrial RTES. Given the magnitude of testing at the system level, only a fully automated approach can really scale up to test industrial RTES. In this paper we take a black-box approach and model the RTES environment using the UML/- MARTE international standard. Our main motivation is to provide a more practical approach to the model-based testing of RTES by allowing system testers, who are often not familiar with the system design but know the application domain well-enough, to model the environment to enable test automation. Environment models can support the automation of three tasks: the code generation of an environment simulator, the selection of test cases, and the evaluation of their expected results (oracles). In this paper, we focus on the second task (test case selection) and investigate three test automation strategies using inputs from UML/MARTE environment models: Random Testing (baseline), Adaptive Random Testing, and Search-Based Testing (using Genetic Algorithms). Based on one industrial case study and three artificial systems, we show how, in general, no technique is generally better than the other. Which test selection technique to use is determined by the failure rate (testing stage) and the execution time of test cases. Finally, we propose a practical process to combine the use of all three test strategies.},
	isbn = {978-3-642-16572-6},
	author = {Arcuri, Andrea and Muhammad Zohaib {Iqbal} and Briand, Lionel},
	editor = {Petrenko, A. and Sim{\~a}o, A. and Maldonado, J.C.}
}
@inproceedings {Simula.se.687,
	title = {Characterizing the Chain of Evidence for Software Safety Cases: a Conceptual Model Based on the IEC 61508 Standard},
	journal = {Third IEEE International Conference on Software Testing, Verification and Validation (ICST)},
	year = {2010},
	publisher = {IEEE Computer Society},
	type = {Conference},
	abstract = {Increasingly, licensing and safety regulatory bodies require the suppliers of software-intensive, safety-critical systems to provide an explicit software safety case - a structured set of arguments based on objective evidence to demonstrate that the software elements of a system are acceptably safe. Existing research on safety cases has mainly focused on how to build the arguments in a safety case based on available evidence; but little has been done to precisely characterize what this evidence should be. As a result, system suppliers are left with practically no guidance on what evidence to collect during software development. This has led to the suppliers having to recover the relevant evidence after the fact - an extremely costly and sometimes impractical task. Although standards such as the IEC 61508 - which is widely viewed as the best available generic standard for managing functional safety in software - provide some guidance for the collection of relevant safety and certification information, this guidance is mostly textual, not expressed in a precise and structured form, and is not easy to specialize to context-specific needs. To address these issues, we present a conceptual model to characterize the evidence for arguing about software safety. Our model captures both the information requirements for demonstrating compliance with IEC 61508 and the traceability links necessary to create a seamless chain of evidence. We further describe how our generic model can be specialized according to the needs of a particular context, and discuss some important ways in which our model can facilitate software certification.},
	isbn = {978-0-7695-3990-4},
	author = {Rajwinder Kaur {Panesar-Walawege} and Briand, Lionel and Sabetzadeh, Mehrdad and Coq, Thierry},
	editor = {Gaudel, Marie-Claude and Ana Rosa {Cavalli} and Ghosh, Sudipto}
}
@techreport {Simula.simula.10,
	title = {Empirical Investigation of the Effects of Test Suite Properties on Similarity-Based Test Case Selection},
	number = {2010-14},
	year = {2010},
	publisher = {Simula Research Laboratory},
	abstract = {Our experience with applying model-based testing on industrial systems showed that the generated test suites are often too large and costly to execute given project deadlines and the limited resources for system testing on real platforms. In such industrial contexts, it is often the case that only a small subset of test cases can be run. In previous work, we proposed novel test case selection techniques that minimize the similarities among selected test cases and outperforms other selection alternatives. In this report, our goal is to gain insights into why and under which conditions similarity-based selection techniques, and in particular our approach, can be expected to work. We investigate the properties of test suites with respect to similarities among fault revealing test cases. We thus identify the ideal situation in which a similarity-based selection works best, which is useful for devising more effective similarity functions. We also address the specific situation in which a test suite contains outliers, that is a small group of very different test cases, and show that it decreases the effectiveness of similarity-based selection. We then propose, and successfully evaluate based on two industrial systems, a solution based on rank scaling to alleviate this problem.},
	author = {Hemmati, Hadi and Arcuri, Andrea and Briand, Lionel}
}
@inproceedings {Simula.approve.6,
	title = {An Enhanced Test Case Selection Approach for Model-Based Testing: an Industrial Case Study},
	journal = {18th ACM SIGSOFT international symposium on Foundations of Software Engineering (FSE)},
	year = {2010},
	publisher = {ACM},
	type = {1},
	abstract = {In recent years, Model-Based Testing (MBT) has attracted an increasingly wide interest from industry and academia. MBT allows automatic generation of a large and comprehensive set of test cases from system models (e.g., state machines), which leads to the systematic testing of the system. However, even when using simple test strategies, applying MBT in large industrial systems often leads to generating large sets of test cases that cannot possibly be executed within time and cost constraints. In this situation, test case selection techniques are employed to select a subset from the entire test suite such that the selected subset conforms to available resources while maximizing fault detection. In this paper, we propose a new similarity-based selection technique for state machine-based test case selection, which includes a new similarity function using triggers and guards on transitions of state machines and a Genetic algorithm-based selection algorithm. Applying this technique on an industrial case study, we show that our proposed approach is more effective in detecting real faults than existing alternatives. We also assess the overall benefits of model-based test case selection in our case study by comparing the fault detection rate of the selected subset with the maximum possible fault detection rate of the original test suite.},
	isbn = {978-1-60558-791-2},
	author = {Hemmati, Hadi and Briand, Lionel and Arcuri, Andrea and Ali, Shaukat},
	editor = {Roman, Gruia-Catalin and van der Hoek, Andr{\'e}}
}
@inproceedings {Simula.approve.28,
	title = {Environment Modeling With UML/MARTE to Support Black-Box System Testing for Real-Time Embedded Systems: Methodology and Industrial Case Studies},
	journal = {ACM/IEEE International Conference on Model Driven Engineering Languages and Systems (MODELS)},
	volume = {6394},
	year = {2010},
	pages = {286-300},
	publisher = {Springer Berlin / Heidelberg},
	type = {Conference},
	abstract = {The behavior of real-time embedded systems (RTES) is mostly driven by its environment. Black-box testing in this context is mostly about selecting test scenarios that are more likely to lead to unsafe situations in the environment. To do so, we explicitly model the environment, its interactions with the RTES, and potentially unsafe situations triggered by failures of the RTES under test. Though environment modeling is not new, we aim to do so using a language that is familiar to software engineers, that is the UML and its extensions. This is important as test automation is performed by software testers that are usually not familiar with techniques geared towards simulating natural phenomena. Furthermore,simulation should only be concerned with what is visible to the RTES under test. In this paper, we provide and evaluate, on two industrial case studies, such an environment modeling methodology. We show how the models are used to fully automate black-box testing using search-based techniques and the generation of code simulating the environment. Results show that our modeling methodology provides sufficient information to support effective model-based testing of industrial RTES.},
	isbn = {0302-9743},
	author = {Muhammad Zohaib {Iqbal} and Arcuri, Andrea and Briand, Lionel},
	editor = {Petriu, Dorina and Rouquette, Nicolas and Haugen, {\O}ystein}
}
@inproceedings {Simula.se.735,
	title = {Formal Analysis of the Effectiveness and Predictability of Random Testing},
	journal = {ACM International Conference on Software Testing and Analysis (ISSTA)},
	year = {2010},
	publisher = {ACM},
	type = {Conference},
	abstract = {There has been a lot of work to shed light on whether Random Testing is actually a useful testing technique. Despite its simplicity, several successful real-world applications appear in the literature. Although it is not going to solve all possible testing problems, random testing is an essential tool in the hands of software testers. In this paper, we address general questions about random testing, such as how long random testing needs on average to achieve testing targets (e.g., coverage), how does it scale and how likely is it to yield similar results if we re-run random testing on the same testing problem. Due to its simplicity that makes the mathematical analysis of random testing tractable, we provide precise and rigorous answers to these questions. Our formal results can be applied to most types of software and testing criteria. Simulations are carried out to provide further support to our formal results. The obtained results are then used to assess the validity of empirical analyses reported in the literature.},
	isbn = {978-1-60558-823-0},
	author = {Arcuri, Andrea and Muhammad Zohaib {Iqbal} and Briand, Lionel},
	editor = {Alessandro Orso Paolo {Tonella}}
}
@article {Simula.SE.407,
	title = {Improving the Coverage Criteria of UML State Machines Using Data Flow Analysis},
	journal = {Software Testing, Verification and Reliability},
	volume = {20},
	number = {3},
	year = {2010},
	month = {September},
	author = {Briand, Lionel and Labiche, Yvan and Lin, Qin}
}
@inproceedings {Simula.approve.32,
	title = {An Industrial Investigation of Similarity Measures for Model-Based Test Case Selection},
	journal = {21st International Symposium on Software Reliability Engineering, ISSRE},
	year = {2010},
	publisher = {IEEE},
	type = {Conference},
	abstract = {Applying model-based testing (MBT) in practice requires practical solutions for scaling up to large industrial systems. One challenge that we have faced while applying MBT was the generation of test suites that were too large to be practical, even for simple coverage criteria. The goal of test case selection techniques is to select a subset of the generated test suite that satisfies resource constraints while yielding a maximum fault detection rate. One interesting heuristic is to choose the most diverse test cases based on a pre-defined similarity measure. In this paper, we investigate and compare possible similarity functions to support similarity-based test selection in the context of state machine testing, which is the most common form of MBT. We apply the proposed similarity measures and a selection strategy based on genetic algorithms to an industrial software system. We compare their fault detection rate based on actual faults. The results show that applying Jaccard Index on test cases represented as a set of trigger-guards is the most cost-effective similarity measure. We also discuss the overall benefits of our test selection approach in terms of test execution savings.},
	isbn = {978-1-4244-9056-1},
	author = {Hemmati, Hadi and Briand, Lionel},
	editor = {Marathe, Mod and Cukier, Michel}
}
@article {Simula.approve.40,
	title = {Investigating the Impact of a Measurement Program on Software Quality},
	journal = {Information and Software Technology},
	volume = {52},
	number = {9},
	year = {2010},
	pages = {923-933},
	abstract = {Abstract: Context: Measurement programs have been around for several decades but have been often misused or misunderstood by managers and developers. This misunderstanding prevented their adoption despite their many advantages. Objective: In this paper, we present the results of an empirical study on the impact of a measurement program, MQL ("Mise en Qualite{\textquoteleft} du Logiciel", French for "Quality Software Development"), in an industrial context. Method: We analyzed data collected on 44 industrial systems of different sizes: 22 systems were developed using MQL while the other 22 used ad-hoc approaches to assess and control quality (control group, referred to as "ad-hoc systems"). We studied the impact of MQL on a set of nine variables: six quality factors (maintainability, evolvability, reusability, robustness, testability, and architecture quality), corrective maintenance effort, code complexity, and the presence of comments. Results: Our results show that MQL had a clear positive impact on all the studied indicators. This impact is statistically significant for all the indicators but corrective maintenance effort. Conclusion: We bring concrete evidence that a measurement program can have a significant, positive impact on the quality of software systems if combined with appropriate decision making procedures and corrective actions.},
	author = {Sahraoui, Houari and Briand, Lionel and Gueheneuc, Yann and Beaurepaire, Olivier}
}
@techreport {Simula.approve.2,
	title = {Model Transformations As a Strategy to Automate Model-Based Testing - a Tool and Industrial Case Studies},
	number = {2010-01},
	year = {2010},
	month = {March},
	publisher = {Simula Research Laboratory},
	abstract = {In recent years, Model-Based Testing (MBT) has attracted an increasingly wide interest from industry and academia. The beneficial use of MBT, however, requires tools that not only automate the testing process, but that also rely in an extensible and configurable architecture that make them adaptable to various contexts of application. Though a number of tools have been developed to support MBT, this technical report introduces a new approach for designing and developing MBT tools that is based on model transformation technology. We report on the experimental development of a novel MBT tool, TRansformation-based tool for Uml-baSed Testing (TRUST), which software architecture and implementation strategy supports configurable and extensible features such as input models, test models, coverage criteria, test data generation strategies, and test script languages. Based on two industrial case studies, we demonstrate the configurability and extensibility of TRUST. We also investigate the challenges and likely cost savings when compared to manual test generation.},
	author = {Ali, Shaukat and Hemmati, Hadi and Nina Elisabeth {Holt} and Arisholm, Erik and Briand, Lionel}
}
@techreport {Simula.approve.14,
	title = {Modeling Robustness Behavior Using Aspect-Oriented Modeling to Support Robustness Testing of Industrial Systems},
	number = {2010-03},
	year = {2010},
	month = {May 2010},
	publisher = {Simula Research Laboratory},
	abstract = {Model-based robustness testing requires, precise and complete behavioral, robustness modeling. For example state machines can be used to model software behavior when hardware (e.g., sensors) breaks down and be fed to a tool to automate test case generation. But robustness behavior is a crosscutting behavior and, if modeled directly, often results in large, complex state machines. These in practice tend to be error-prone and difficult to read and understand. As a result, modeling robustness behavior in this way is not scalable for complex industrial systems. To overcome these problems, Aspect Oriented Modeling (AOM) can be employed to model robustness behavior as aspects in the form of state machines specifically designed to model robustness behavior. In this paper, we present a RobUstness Modeling Methodology (RUMM) that allows modeling robustness behavior as aspects. Our goal is to have a complete and practical methodology that covers all features of state machines and aspect concepts necessary for model-based robustness testing. At the core of RUMM is a UML profile (AspectSM) that allows modeling UML state machine aspects as UML state machines (aspect state machines). Such an approach, relying on a standard and using the target notation as the basis to model the aspects themselves, is expected to make the practical adoption of aspect modeling easier in industrial contexts. We have used AspectSM to model the crosscutting robustness behavior of a videoconferencing system and discuss the benefits of doing so in terms of reduced modeling effort and improved readability.},
	author = {Ali, Shaukat and Briand, Lionel and Hemmati, Hadi}
}
@article {Simula.approve.78,
	title = {An Object-Oriented High-Level Design-Based Class Cohesion Metric},
	journal = {Information and Software Technology},
	volume = {52},
	number = {12},
	year = {2010},
	abstract = {Context: Class cohesion is an important object-oriented software quality attribute. Assessing class cohesion during the object-oriented design phase is one important way to obtain more comprehensible and maintainable software. In practice, assessing and controlling cohesion in large systems implies measuring it automatically. One issue with the few existing cohesion metrics targeted at the high-level design phase is that they are not based on realistic assumptions and do not fulfill expected mathematical properties. Objective: This paper proposes a high-level design (HLD) class cohesion metric, which is based on realistic assumptions, complies with expected mathematical properties, and can be used to automatically assess design quality at early stages using UML diagrams. Method: The notion of similarity between pairs of methods and pairs of attribute types in a class is introduced and used as a basis to introduce a novel high-level design class cohesion metric. The metric considers method-method, attribute-attribute, and attribute-method direct and transitive interactions. We validate this Similarity-based Class Cohesion (SCC) metric theoretically and empirically. The former includes a careful study of the mathematical properties of the metric whereas the latter investigates, using four open source software systems and ten cohesion metrics, whether SCC is based on realistic assumptions and whether it better explains the presence of faults, from a statistical standpoint, than other comparable cohesion metrics, considered individually or in combination. Results: Results confirm that SCC is based on clearly justified theoretical principles, relies on realistic assumptions, and is an early indicator of quality (fault occurrences). Conclusion: It is concluded that SCC is both theoretically valid and supported by empirical evidence. It is a better alternative to measure class cohesion than existing HLD class cohesion metrics.},
	author = {Jehad Al {Dallal} and Briand, Lionel}
}
@techreport {Simula.approve.64,
	title = {A Practical Guide for Using Statistical Tests to Assess Randomized Algorithms in Software Engineering},
	number = {2010-10},
	year = {2010},
	publisher = {Simula Research Laboratory},
	abstract = {Randomized algorithms have been used to successfully addressmany different types of software engineering problems. This type of algorithms employ a degree of randomness as part of their logic. Randomized algorithms are useful for difficult problems where a precise solution cannot be derived in a deterministic way within reasonable time. However, randomized algorithms produce different results on every run when applied to the same problem instance. It is hence important to assess the effectiveness of randomized algorithms by collecting data from a large enough number of runs. The use of rigorous statistical tests is then essential to provide support to the conclusions derived by analyzing such data. In this paper, we provide a systematic review of the use of randomized algorithms in selected software engineering venues in 2009. Its goal is not to perform a complete survey but to get a representative snapshot of current practice in software engineering research. We show that randomized algorithms are used in a significant percentage of papers but that, in most cases, randomness is not properly accounted for. This casts doubts on the validity of most empirical results assessing randomized algorithms. There are numerous statistical tests, based on different assumptions, and it is not always clear when and how to use these tests. We hence provide practical guidelines to support empirical research on randomized algorithms in software engineering.},
	author = {Arcuri, Andrea and Briand, Lionel}
}
@inproceedings {Simula.approve.34,
	title = {Reducing the Cost of Model-Based Testing Through Test Case Diversity},
	journal = {22nd IFIP International Conference on Testing Software and Systems (ICTSS) - formerly TestCom/FATES},
	volume = {6435},
	year = {2010},
	publisher = {Springer},
	type = {Conference},
	abstract = {Model-based testing (MBT) suffers from two main problems which in many real world systems make MBT impractical: scalability and automatic oracle generation. When no automated oracle is available, or when testing must be performed on actual hardware or a restricted-access network, for example, only a small set of test cases can be executed and evaluated. However, MBT techniques usually generate large sets of test cases when applied to real systems, regardless of the coverage criteria. Therefore, one needs to select a small enough subset of these test cases that have the highest possible fault revealing power. In this paper, we investigate and compare various techniques for rewarding diversity in the selected test cases as a way to increase the likelihood of fault detection. We use a similarity measure defined on the representation of the test cases and use it in several algorithms that aim at maximizing the diversity of test cases. Using an industrial system with actual faults, we found that rewarding diversity leads to higher fault detection compared to the techniques commonly reported in the literature: coverage-based and random selection. Among the investigated algorithms, diversification using Genetic Algorithms is the most cost-effective technique.},
	isbn = {978-3-642-16572-6},
	author = {Hemmati, Hadi and Arcuri, Andrea and Briand, Lionel},
	editor = {Petrenko, A. and Sim{\~a}o, A. and Maldonado, J.C.}
}
@article {Simula.SE.635,
	title = {Solving the Class Responsibility Assignment Problem in Object-Oriented Analysis With Multi-Objective Genetic Algorithms},
	journal = {IEEE Transactions on Software Engineering},
	volume = {36},
	number = {6},
	year = {2010},
	month = {November-December},
	pages = {817-837},
	abstract = {In the context of object-oriented analysis and design (OOAD), class responsibility assignment is not an easy skill to acquire. Though there are many methodologies for assigning responsibilities to classes, they all rely on human judgment and decision making. Our objective is to provide decision-making support to re-assign methods and attributes to classes in a class diagram. Our solution is based on a multi-objective genetic algorithm (MOGA) and uses class coupling and cohesion measurement for defining fitness functions. Our MOGA takes as input a class diagram to be optimized and suggests possible improvements to it. The choice of a MOGA stems from the fact that there are typically many evaluation criteria that cannot be easily combined into one objective, and several alternative solutions are acceptable for a given OO domain model. Using a carefully selected case study, this article investigates the application of our proposed MOGA to the class responsibility assignment problem, in the context of object-oriented analysis and domain class models. Our results suggest that the MOGA can help correct suboptimal class responsibility assignment decisions and perform far better than simpler alternative heuristics such as hill climbing and a single objective GA.},
	author = {Bowman, Mike and Briand, Lionel and Labiche, Yvan}
}
@article {Simula.SE.313,
	title = {A Systematic and Comprehensive Investigation of Methods to Build and Evaluate Fault Prediction Models},
	journal = {Journal of Systems and Software},
	volume = {83},
	number = {1},
	year = {2010},
	month = {January},
	pages = {2-17},
	abstract = {This paper describes a study performed in an industrial setting that attempts to build predictive models to identify parts of a Java system with a high fault probability. The system under consideration is constantly evolving as several releases a year are shipped to customers. Developers usually have limited resources for their testing and would like to devote extra resources to faulty system parts. The main research focus of this paper is to systematically assess three aspects on how to build and evaluate fault-proneness models in the context of this large Java legacy system development project: (1) compare many data mining and machine learning techniques to build fault-proneness models, (2) assess the impact of using different metric sets entailing different data collection costs, such as source code structural measures and historic change/fault (process) measures, and (3) compare several alternative ways of assessing the performance of the models, in terms of (i) confusion matrix criteria such as accuracy and precision/recall, (ii) ranking ability, using the receiver operating characteristic area (ROC), and (iii) our proposed cost-effectiveness measure (CE). The results of the study indicate that the choice of fault-proneness modeling technique has limited impact on the resulting classification accuracy or cost-effectiveness. There is however large differences between the individual metric sets in terms of cost-effectiveness, and although the process measures are among the most expensive ones to collect, including them as candidate measures significantly improves the prediction models compared with models that only include structural measures and/or their deltas across releases - both in terms of ROC area and cost-effectiveness. Further, we observe that what is considered the best model is highly dependent on the criteria that are used to evaluate and compare the models. The regular confusion matrix criteria, although popular, are not clearly related to what we consider to be a crucial aspect, namely the cost-effectiveness of using fault-proneness prediction models to focus verification effort where it is the most needed.},
	author = {Arisholm, Erik and Briand, Lionel and Eivind B. {Johannessen}}
}
@article {Simula.SE.661,
	title = {A Systematic Review of the Application and Empirical Investigation of Search-Based Test-Case Generation},
	journal = {IEEE Transactions on Software Engineering},
	volume = {36},
	number = {6},
	year = {2010},
	pages = {742-762},
	publisher = {IEEE},
	abstract = {Metaheuristic search techniques have been extensively used to automate the process of generating test cases and thus providing solutions for a more cost-effective testing process. This approach to test automation, often coined as \&ldquo;Search-based Software Testing\&rdquo; (SBST), has been used for a wide variety of test case generation purposes, differing in terms of test objectives, test levels, and other characteristics [1]. Since SBST techniques are heuristic by nature, they must be empirically investigated in terms of how costly and effective they are at reaching their test objectives and whether they scale up to realistic development artifacts. However, approaches to empirically study SBST techniques have shown wide variation in the literature. This paper presents the results of a systematic, comprehensive review that aims at characterizing how empirical studies have been designed to investigate SBST cost-effectiveness and what empirical evidence is available in the literature regarding SBST cost-effectiveness and scalability. We also provide a framework that drives the data collection process of this systematic review and can be the starting point of guidelines on how SBST techniques can be empirically assessed. The intent is to aid future researchers doing empirical studies in SBST by providing an unbiased view of the body of empirical evidence and by guiding them in performing well designed and executed empirical studies.},
	author = {Ali, Shaukat and Briand, Lionel and Hemmati, Hadi and Rajwinder Kaur {Panesar-Walawege}}
}
@techreport {Simula.simula.277,
	title = {The Value of Design Rationale Information},
	number = {2010-13},
	year = {2010},
	publisher = {Simula Research Laboratory},
	abstract = {A complete and detailed Design Rationale Documentation (DRD) could support many software development activities, such as an impact analysis or a major redesign. However, a full DRD is too onerous for systematic industrial use as it is not cost-effective to write, maintain, or read. The key idea investigated in this paper is that DRD should be adopted only to the extent required to support activities particularly difficult to enact or in need of significant improvement in a particular context. The aim of this paper is to empirically investigate the possibility to customize the DRD by documenting only the information that will probably be required for executing an activity. This customization strategy relies on the hypothesis that the value of a DRD information item depends on its category (e.g. Assumptions, Related requirements, etc.) and on the activity it is meant to support. This hypothesis is investigated through two controlled experiments involving a total of seventy-five post-graduate master students as experimental subjects. The value of DRD information was shown to significantly depend on its category and, within the same category, on the activity it supports. Furthermore, our results show that, on average among activities, documenting only the information that has been required at least half of the time (i.e., the information that will probably be required in the future) generates a customized DRD containing about half the information of a full documentation. Such a significant reduction of information to document is expected to mitigate the effects of inhibitors that are currently preventing practitioners from documenting the rationale of their design decisions.},
	author = {Falessi, Davide and Briand, Lionel and Cantone, Giovanni and Capilla, Rafael and Kruchten, Philippe}
}
@article {Simula.SE.243,
	title = {Automated Traceability Analysis for UML Model Refinements},
	journal = {Information and Software Technology},
	volume = {51},
	number = {2},
	year = {2009},
	publisher = {Elsevier},
	author = {Briand, Lionel and Labiche, Yvan and Yue, Tao}
}
@techreport {Simula.SE.639,
	title = {Automating Image Segmentation Verification and Validation by Learning Test Oracles},
	number = {TR SCE-09-06},
	year = {2009},
	publisher = {Carleton University},
	abstract = {An Image Segmentation Algorithm is an algorithm that delineates (an) object(s) of interest in an image. The output of the image segmentation algorithm is referred to as a segmentation. Developing image segmentation algorithms is a manual, iterative process involving repetitive verification and validation tasks. This process is time-consuming and depends on the availability of medical experts, who are a scarce resource. We propose a procedure that uses machine learning to construct an oracle, which can then be used to automatically verify the correctness of image segmentations, thus saving substantial resources. During the initial learning phase, segmentations from the first few (optimally two) revisions of the segmentation algorithm are manually verified by experts. The similarity of successive segmentations of the same images is also measured. This information is then fed to a machine learning algorithm to construct a classifier that distinguishes between consistent and inconsistent segmentation pairs based on the values of the similarity measures associated with each segmentation pair. Once the accuracy of the classifier is deemed satisfactory for the purposes of the application, the classifier is then used to determine whether the segmentation, systems{\textquoteright} output by subsequent versions of the algorithm under test, are (in)consistent with already verified segmentations from previous versions. This information is then used to automatically make conclusions about the (in)correctness of the segmentations. To demonstrate the performance of the approach, the proposed solution was successfully applied to 3D segmentations of the cardiac left ventricle obtained from CT scans.},
	author = {Frounchi, Kambiz and Briand, Lionel and Grady, Leo and Labiche, Yvan}
}
@article {Simula.SE.303,
	title = {Automating Regression Test Selection Based on UML Designs},
	journal = {Information and Software Technology},
	volume = {51},
	number = {1},
	year = {2009},
	author = {Briand, Lionel and Labiche, Yvan and He, Siyuan}
}
@techreport {Simula.se.731,
	title = {An Eclipse Plug-In for the Flattening of Concurrency and Hierarchy in UML State Machines},
	number = {2009-06},
	year = {2009},
	publisher = {Simula Research Laboratory},
	abstract = {In this technical report, we present an algorithm that can be used to flatten simple-composite states (or-states), orthogonal states (and-states), and submachine states in complex UML state-machines [2]. The algorithm is appli-cable to state machines that include guarded transitions. The objective of this research is to automate the flattening of complex state machines. Orthogonal states and submachine states are transformed to simple-composite states. Simple-composite states are transformed to simple states by redirecting incoming and outgoing transitions. The result is a state machine where all state components are simple states. The flattening aspects are exemplified with isolated illustrations. Furthermore, we present STATE MACHINE FLATTENER - an Eclipse plug-in that implements this algorithm using Kermeta. Interesting aspect of the flattening are exemplified and discussed. Thus, the contribution of this study is threefold: 1) a flattening algorithm, 2) a plug-in that implements this algorithm to provide automatic flattening of complex UML state machines, and 2) a demonstration of the flattening approach in a number of example models.},
	author = {Nina Elisabeth {Holt} and Arisholm, Erik and Briand, Lionel}
}
@techreport {Simula.SE.681,
	title = {The Impact of Automated Support for Linking Equivalent Requirements Based on Similarity Measures},
	number = {2009-08},
	year = {2009},
	publisher = {Simula Research Laboratory},
	abstract = {When developing systems of systems, requirements tend to be redundant especially when running large numbers of projects, with many requirements per project, and diverse sources of requirements. It is therefore necessary to consolidate requirements by identifying the ones that are equivalent in order to avoid redundant work. The aim of this paper is to evaluate requirement similarity measurement to support analysts when linking equivalent requirements. The evaluation is conducted based on the requirements management process of an Italian company in the defense and aerospace domain. Our empirical investigation combines a controlled experiment with graduate students and an industrial case study. Results clearly show that one cannot expect any significant advantage in general. The level of support provided by similarity measures significantly depends on their level of credibility, that is the extent to which similarity measurement reliably indicates the equivalence of requirements. On average, given the credibility distribution observed in our industrial case study, showing similarity measurement to analysts is expected to: 1) improve by 20\% the number of equivalence links identified per minute and 2) decrease by 40\% the number of incorrect links. Finally, we investigate whether there is an effective way to combine human judgment and similarity measurement to effectively determine equivalence links. Based on machine learning, our approach yielded positive results both in terms of the correctness of the links and the speed at which they are established. Moreover, this hybrid solution is effective even when the credibility of similarity measurement is half the average we observed in our industrial case study. In conclusion, our results confirm and complement past empirical studies on the practical benefit, in terms of both quality and speed, of adopting requirement similarity measurement for linking equivalent requirements.},
	author = {Falessi, Davide and Briand, Lionel and Cantone, Giovanni}
}
@techreport {Simula.SE.625,
	title = {An Object-Oriented High-Level Design Class Cohesion Metric},
	number = {2009-1},
	year = {2009},
	publisher = {Simula Research Laboratory},
	abstract = {Class cohesion is an important object-oriented software quality attribute. Assessing class cohesion and improving class quality during the object-oriented design phase leads to more comprehensible and maintainable software. One issue with the few existing cohesion metrics targeted at the high-level design phase is that they are not based on realistic assumptions and do not fulfill expected mathematical properties. In this paper, we address this problem by introducing the notion of similarity between pairs of methods and pairs of attribute types in a class, and we use it as a basis to introduce a novel high-level design-based class cohesion metric. The metric considers method-method, attribute-attribute, and attribute-method direct and indirect interactions. We validate this Similarity-based Class Cohesion (SCC) metric theoretically and empirically. The former includes a careful study of the mathematical properties of the metric whereas the latter investigates, using four open source software systems and ten cohesion metrics, whether SCC helps predicts faults more accurately than other comparable cohesion metrics, considered individually or in combination,. Results confirm that SCC is based on more justifiable theoretical principles, relies on more realistic assumptions, and better predicts class quality.},
	author = {Jehad Al {Dallal} and Briand, Lionel}
}
@techreport {Simula.SE.665,
	title = {A Precise Method-Method Interaction-Based Cohesion Metric for Object-Oriented Classes},
	number = {2009-04},
	year = {2009},
	publisher = {Simula Research Laboratory},
	abstract = {The building of highly cohesive classes is an important objective in object-oriented design. Class cohesion refers to the relatedness of the class members, and it indicates one important aspect of the class design quality. A meaningful class cohesion metric helps object-oriented software developers detect class design weaknesses and refactor classes accordingly. Several class cohesion metrics have been proposed in the literature. Most of these metrics are applicable based on low level design information such as attribute references in methods. Some of these metrics capture class cohesion by counting the number of method pairs sharing common attributes. A few metrics measure cohesion more precisely by considering the degree of interaction, through attribute references, between each pair of methods. However, the formulas applied by these metrics to measure the degree of interaction cause the metrics to violate important mathematical properties, thus undermining their construct validity and leading to misleading cohesion measurement. In this paper, we propose a formula that precisely measures the degree of interaction between each pair of methods, and we use it as a basis to introduce a low-level design class cohesion metric (LSCC). We verify that the proposed formula does not cause the metric to violate important mathematical properties. In addition, we provide a mechanism to use this metric as a useful indicator for refactoring weakly cohesive classes, thus showing its usefulness in improving class cohesion. Finally, we empirically validate LSCC. Using four open source software systems and eleven cohesion metrics, we investigate the relationship between LSCC, other cohesion metrics, and fault occurrences in classes. Our results show that LSCC is one of three metrics that explains more accurately the presence of faults in classes. LSCC is the only one among the three metrics to comply with important mathematical properties. This suggests that LSCC is a better alternative, when taking into account both theoretical and empirical results, as a measure to guide the refactoring of classes. From a more general standpoint, the results suggest that class quality, as measured in terms of fault occurrences, can be more accurately explained by cohesion metrics that account for the degree of interaction between each pair of methods.},
	author = {Jehad Al {Dallal} and Briand, Lionel}
}
@inbook {Simula.SE.431,
	title = {Software Verification: a Scalable, Model-Driven, Empirically Grounded Approach},
	booktitle = {Simula Research Laboratory - by thinking constantly about it},
	year = {2009},
	pages = {415-442},
	publisher = {Springer},
	organization = {Springer},
	chapter = {28},
	address = {Heidelberg},
	isbn = {978-3-642-01155-9},
	author = {Briand, Lionel},
	editor = {Tveito, Aslak and Are Magnus {Bruaset} and Lysne, Olav}
}
@article {Simula.SE.277,
	title = {A UML-Based Quantitative Framework for Early Prediction of Resource Usage and Load in Distributed Real-Time Systems},
	journal = {Software and Systems Modeling},
	volume = {Volume 8},
	number = {Number 2},
	year = {2009},
	pages = {275-302},
	publisher = {Springer},
	author = {Garousi, Vahid and Briand, Lionel and Labiche, Yvan}
}
@inproceedings {Simula.SE.645,
	title = {A UML/MARTE Model Analysis Method for Detection of Data Races in Concurrent Systems},
	journal = {ACM/IEEE MODELS 2009},
	year = {2009},
	publisher = {Springer-Verlag Berlin, Heidelberg},
	type = {Conference},
	abstract = {The earlier concurrency problems are identified, the less costly they are to fix. As larger, more complex concurrent systems are developed, early detection of problems is made increasingly difficult. Meant to be used in the context of Model Driven Development, we have developed a general approach, based on the analysis of design models expressed in the Unified Modeling Language (UML) that uses specifically designed genetic algorithms to detect concurrency problems. All relevant concurrency information is extracted from systems{\textquoteright} UML models that comply with the UML Modeling and Analysis of Real-Time and Embedded Systems profile. Our approach was previously shown to work for both deadlocks and starvation. The current paper addresses data race detection, further illustrating how our approach can be tailored to other concurrency issues. Our main motivations are (1) to devise practical solutions that are applicable in the context of UML design of concurrent systems without requiring additional modeling and (2) to achieve scalable automation. Results on a case study inspired from the Therac-25 radiation machine show that our approach is effective in the detection of data races.},
	isbn = {978-3-642-04424-3},
	author = {Shousha, Marwa and Briand, Lionel and Labiche, Yvan},
	editor = {Sch{\"u}rr, Andy and Selic, Bran}
}
@inproceedings {Simula.SE.627,
	title = {A Use Case Modeling Approach to Facilitate the Transition Towards Analysis Models: Concepts and Empirical Evaluation},
	journal = {IEEE/ACM MODELS 2009 Proceedings},
	year = {2009},
	publisher = {Springer-Verlag Berlin, Heidelberg},
	type = {Conference},
	abstract = {Use case modeling is commonly applied to document requirements. Use case specifications (UCSs) are usually structured, textual documents complying with a certain template. However, because they remain essentially textual, ambiguities are inevitable. In this paper, we propose a new use case modeling approach, which is composed of a set of well-defined restriction rules and a template. The goal is to reduce ambiguity and facilitate automated analysis, though the later point is not addressed in this paper. We also report on a controlled experiment which evaluates the restriction rules and template in terms of their ease of application during use case modeling, and the quality of the analysis models derived from them by trained individuals. Results show that the restriction rules are overall easy to apply and that our use case modeling approach results in significant improvements regarding the correctness of derived class diagrams and the understandability of UCSs.},
	isbn = {978-3-642-04424-3},
	author = {Yue, Tao and Briand, Lionel and Labiche, Yvan},
	editor = {Sch{\"u}rr, Andy and Selic, Bran}
}
@article {Simula.SE.641,
	title = {Using Machine Learning to Refine Category-Partition Test Specifications and Test Suites},
	journal = {Information and Software Technology},
	volume = {21},
	number = {11},
	year = {2009},
	abstract = {In the context of open source development or software evolution, developers often face test suites which have been developed with no apparent rationale and which may need to be augmented or refined to ensure sufficient dependability, or even reduced to meet tight deadlines. We refer to this process as the re-engineering of test suites. It is important to provide both methodological and tool support to help people understand the limitations of test suites and their possible redundancies, so as to be able to refine them in a cost effective manner. To address this problem in the case of black-box, Category-Partition testing, we propose a methodology and a tool based on machine learning that has shown promising results on a case study involving students as testers.},
	author = {Briand, Lionel and Labiche, Yvan and Bawar, Zaheer and Spido, Nadia}
}
@inproceedings {Simula.SE.283,
	title = {Concurrent Contracts for Java in JML},
	journal = {IEEE International Symposium on Software Reliability Engineering (ISSRE)},
	year = {2008},
	type = {Conference},
	author = {Araujo, Wladimir and Briand, Lionel and Labiche, Yvan}
}
@misc {19097,
	title = {Novel Applications of Machine Learning in Software Testing},
	year = {2008},
	address = {Eigth IEEE International Conference on Quality Software},
	author = {Briand, Lionel}
}
@book {Simula.SE.295,
	title = {Proceedings of the First Workshop on Empirical Studies of Model-Driven Engineering (ESMDE)},
	volume = {392},
	year = {2008},
	note = {http://CEUR-WS.org/Vol-392},
	publisher = {CEUR},
	abstract = {It is often difficult to rigorously evaluate Model-Driven Engineering (MDE) technologies. Performing empirical studies require skills, experience and tacit knowledge that are in many ways very different from the {\textquotedblleft}core{\textquotedblright} MDE research. Furthermore, empirical studies often entail large investments in terms of human resources, time and money. Nevertheless, evaluations of MDE technologies are needed in order to demonstrate the soundness, applicability, and cost effectiveness of proposed technologies in various development contexts. The aim of this workshop is to exemplify and discuss ways in which proposed modeldriven engineering (MDE) technologies should be evaluated, with a specific emphasis on how to plan, conduct, analyze and report the results of empirical studies. The workshop will have focus on the challenges of empirical studies involving human users, since MDE technologies are typically expected to be used by software engineers to improve various quality aspects of software systems and the productivity of software development. More detailed topics include: What are the main obstacles and potential remedies when performing empirical studies of MDE? What are the main threats to validity of empirical studies of MDE, and how should they be dealt with? For example, since MDE often represent new and complex technology, the selection and training of human subjects who participate in empirical studies often become critical factors. What are the most important outcome variables of the costs and benefits of MDE? How can quality be measured in the context of MDE? And can we define an unambiguous set of (benchmark) outcome measures to facilitate metaanalyses across subjects, systems, tasks and technologies? The goal of the workshop is to pave the way for the development of a MDE-specific framework for empirical evaluation of MDE technologies, or at least provide a minimum standard for evaluation that published work in the MDE community should abide by.},
	author = {Arisholm, Erik and Briand, Lionel and Anda, Bente Cecilie Dahlum}
}
@article {Simula.SE.120,
	title = {A Realistic Empirical Evaluation of the Costs and Benefits of UML in Software Maintenance},
	journal = {IEEE Transactions on Software Engineering},
	volume = {34},
	number = {3},
	year = {2008},
	month = {May},
	pages = {407-432},
	abstract = {The Unified Modeling Language (UML) is the de facto standard for object-oriented software analysis and design modeling. However, few empirical studies exist that investigate the costs and evaluate the benefits of using UML in realistic contexts. Such studies are needed so that the software industry can make informed decisions regarding the extent to which they should adopt UML in their development practices. This is the first controlled experiment that investigates the costs of maintaining and the benefits of using UML documentation during the maintenance and evolution of a real, non-trivial system, using professional developers as subjects, working with a state-of-the-art UML tool during an extended period of time. The subjects in the control group had no UML documentation. In this experiment, the subjects in the UML group had on average a practically and statistically significant 54\% increase in the functional correctness of changes (p=0.03), an insignificant 7\% overall improvement in design quality (p=0.22) - though a much larger improvement was observed on the first change task (56\%) - at the expense of an insignificant 14\% increase in development time caused by the overhead of updating the UML documentation (p=0.35).},
	doi = {10.1109/TSE.2008.15},
	author = {Dzidek, James and Arisholm, Erik and Briand, Lionel}
}
@techreport {Simula.SE.315,
	title = {A Systematic and Comprehensive Investigation of Methods to Build and Evaluate Fault Prediction Models},
	number = {TR 2008-06},
	year = {2008},
	month = {November},
	publisher = {Simula Research Laboratory},
	abstract = {This paper describes a study performed in an industrial setting that attempts to build predictive models to identify parts of a Java system with a high fault probability. The system under consideration is constantly evolving as several releases a year are shipped to customers. Developers usually have limited resources for their testing and would like to devote extra resources to faulty system parts. The main research focus of this paper is to systematically assess three aspects on how to build and evaluate fault-proneness models in the context of this large Java legacy system development project: (1) compare many data mining and machine learning techniques to build fault-proneness models, (2) assess the impact of using different metric sets entailing different data collection costs, such as source code structural measures and historic change/fault (process) measures, and (3) compare several alternative ways of assessing the performance of the models, in terms of (i) confusion matrix criteria such as accuracy and precision/recall, (ii) ranking ability, using the receiver operating characteristic area (ROC), and (iii) our proposed cost-effectiveness measure (CE). The results of the study indicate that the choice of fault-proneness modeling technique has limited impact on the resulting classification accuracy or cost-effectiveness. There is however large differences between the individual metric sets in terms of cost-effectiveness, and although the process measures are among the most expensive ones to collect, including them as candidate measures significantly improves the prediction models compared with models that only include structural measures and/or their deltas across releases - both in terms of ROC area and cost-effectiveness. Further, we observe that what is considered the best model is highly dependent on the criteria that are used to evaluate and compare the models. The regular confusion matrix criteria, although popular, are not clearly related to what we consider to be a crucial aspect, namely the cost-effectiveness of using fault-proneness prediction models to focus verification effort where it is the most needed.},
	author = {Arisholm, Erik and Briand, Lionel and Eivind B. {Johannessen}}
}
@techreport {Simula.SE.293,
	title = {A Systematic Review of the Application and Empirical Investigation of Search-Based Test-Case Generation},
	year = {2008},
	month = {September},
	publisher = {Simula Research Laboratory},
	abstract = {Metaheuristic search techniques have been extensively used to automate the process of generating test cases and thus providing solutions for a more cost-effective testing process. This approach to test automation, often coined as {\textquotedblleft}Search-based Software Testing{\textquotedblright} (SBST), has been used for a wide variety of test case generation purposes, differing in terms of test objectives, test levels, and other characteristics. Since SBST techniques are heuristic by nature, they must be empirically investigated in terms of how costly and effective they are at reaching their test objectives and whether they scale up to realistic development artifacts. However, approaches to empirically study SBST techniques have shown wide variation in the literature. This paper presents the results of a systematic, comprehensive review that aims at characterizing how empirical studies have been designed to investigate SBST cost-effectiveness and what empirical evidence is available in the literature regarding SBST cost-effectiveness and scalability. We also provide a framework that drives the data collection process of this systematic review and can be the starting point of guidelines on how SBST techniques can be empirically assessed. The intent is to aid future researchers doing empirical studies in SBST by providing an unbiased view of the body of empirical evidence and by guiding them in performing well designed and executed empirical studies.},
	author = {Ali, Shaukat and Briand, Lionel and Hemmati, Hadi and Rajwinder Kaur {Panesar-Walawege}}
}
@article {Simula.SE.179,
	title = {Traffic-Aware Stress Testing of Distributed Real-Time Systems Based on UML Models Using Genetic Algorithms},
	journal = {Journal of Systems and Software},
	volume = {81},
	number = {2},
	year = {2008},
	month = {February},
	pages = {161-185},
	abstract = {This paper presents a model-driven, stress test methodology aimed at increasing chances of discovering faults related to network traffic in distributed real-time systems (DRTS). The technique uses the UML 2.0 model of the distributed system under test, augmented with timing information, and is based on an analysis of the control flow in sequence diagrams. It yields stress test requirements that are made of specific control flow paths along with time values indicating when to trigger them. The technique considers different types of arrival patterns (e.g., periodic) for real-time events (common to DRTSs), and generates test requirements which comply with such timing constraints. Though different variants of our stress testing technique already exist (that stress different aspects of a distributed system), they share a large amount of common concepts and we therefore focus here on one variant that is designed to stress test the system at a time instant when data traffic on a network is maximal. Our technique uses genetic algorithms to find test requirements which lead to maximum possible traffic-aware stress in a system under test. Using a real-world DRTS specification, we design and implement a prototype DRTS and describe, for that particular system, how the stress test cases are derived and executed using our methodology. The stress test results indicate that the technique is significantly more effective at detecting network traffic-related faults when compared to test cases based on an operational profile.},
	author = {Garousi, Vahid and Briand, Lionel and Labiche, Yvan}
}
@inproceedings {Simula.SE.279,
	title = {A UML/SPT Model Analysis Methodology for Concurrent Systems Based on Genetic Algorithms},
	journal = {ACM/IEEE 11th International Conference in Model Driven Engineering Languages and Systems (MODELS 2008)},
	year = {2008},
	type = {Conference},
	author = {Shousha, Marwa and Briand, Lionel and Labiche, Yvan}
}
@inproceedings {Simula.SE.251,
	title = {Using Machine Learning to Refine Black-Box Test Specifications and Test Suites},
	journal = {Eigth IEEE International Conference on Quality Software},
	year = {2008},
	type = {Conference},
	author = {Briand, Lionel and Labiche, Yvan and Bawar, Zaheer}
}
@inproceedings {Simula.SE.148,
	title = {Assessing, Comparing, and Combining Statechart-Based Testing and Structural Testing: an Experiment},
	journal = {International Symposium on Empirical Software Engineering and Measurement (ESEM)},
	year = {2007},
	type = {Annual},
	abstract = {An important number of studies have addressed the importance of models in software engineering, mainly in the design of robust software systems. Although models have been proven to be helpful in a number of software engineering activities, such as providing a better medium for communication among designers and customers, there is still significant resistance to model-driven development in many software organizations. The main reason is that it is perceived to be expensive and not necessarily cost-effective. This paper investigates one specific aspect of this larger problem. It addresses the impact of using statecharts for testing class clusters that exhibit a state-dependent behavior. More precisely, it reports on a controlled experiment that investigates their impact on testing fault-detection effectiveness and cost. Code-based, structural testing is compared to statechart-based testing and their combination is investigated to determine whether they are complementary. Results show that there is no significant difference between the fault detection effectiveness of the two test strategies but that they are significantly more effective when combined. This implies that a cost-effective strategy could be to specify statechart-based test cases early on, execute them when the source code becomes available, and then complete them with code-based test cases based on coverage analysis. This article also investigates the reasons for undetected faults and how the statechartbased testing of source code could be improved.},
	author = {Mouchawrab, Samar and Briand, Lionel and Labiche, Yvan}
}
@inproceedings {Simula.SE.149,
	title = {A Critical Analysis of Empirical Research in Software Testing},
	journal = {International Symposium on Empirical Software Engineering and Measurement (ESEM)},
	year = {2007},
	type = {Annual},
	abstract = {In the foreseeable future, software testing will remain one of the best tools we have at our disposal to ensure software dependability. Empirical studies are crucial to software testing research in order to compare and improve software testing techniques and practices. In fact, there is no other way to assess the cost-effectiveness of testing techniques, since all of them are, to various extents, based on heuristics and simplifying assumptions. However, when empirically studying the cost and fault-detection rates of a testing technique, a number of validity issues arise. Further, there are many ways in which empirical studies can be performed, ranging from simulations to controlled experiments with human subjects. What are the strengths and drawbacks of the various approaches? What is the best option under which circumstances? This paper presents a critical analysis of empirical research in software testing and will attempt to highlight and clarify the issues above in a structured and practical manner.},
	author = {Briand, Lionel}
}
@inproceedings {Simula.SE.17,
	title = {Data Mining Techniques for Building Fault-Proneness Models in Telecom Java Software},
	journal = {18th International Symposium on Software Reliability Engineering (ISSRE)},
	year = {2007},
	month = {November},
	pages = {215-224},
	publisher = {IEEE Computer Society},
	type = {Conference},
	abstract = {This paper describes a study performed in an industrial setting that attempts to build predictive models to identify parts of a Java system with a high probability of fault. The system under consideration is constantly evolving as several releases a year are shipped to customers. Developers usually have limited resources for their testing and inspections and would like to be able to devote extra resources to faulty system parts. The main research focus of this paper is two-fold: (1) use and compare many data mining and machine learning techniques to build fault-proneness models based mostly on source code measures and change/fault history data, and (2) demonstrate that the usual classification evaluation criteria based on confusion matrices may not be fully appropriate to compare and evaluate models.},
	isbn = {0-7695-3024-9},
	author = {Arisholm, Erik and Briand, Lionel and Magnus J. {Fuglerud}}
}
@book {Simula.SE.163,
	title = {Future of Software Engineering, 2007. FOSE {\textquoteright}07},
	year = {2007},
	publisher = {IEEE},
	organization = {IEEE},
	address = {Washington, DC, USA},
	abstract = {Welcome to the Future of Software Engineering (FoSE) 2007! Software engineering is a rapidly evolving field of research and practice. It is a highly diverse and vast realm of knowledge, spanning from management and process issues in software development to system issues such as safety, quality, and deployment. It has become an integral part of the development activities of automobiles and the World Wide Web. As a result, it is difficult for anyone to follow, even at a high level, how the various elements of software engineering research are evolving and what to expect in the future. This volume aims to provide anyone with an interest in this field with a thorough and structured overview of current research and its future directions. This has become a necessity to help each of us understand the interconnections between what we do and other areas of our field and to identify new and exciting avenues of research. As a community, it also helps us understand how much we have achieved and where we need to improve. Such exercises of introspection are necessary to help us evolve in positive directions and create an identity in a community that is so varied in its interests and expertise. We would like to thank all the authors who participated in this endeavor. They had to deal with a very tight schedule and a very challenging task, not to mention very demanding editors. We are also grateful to Myra Cohen who has been extremely helpful in putting together the volume, and John Knight who invited us to edit the volume with a free hand. Lastly, we would like to acknowledge the work of Anthony Finkelstein, the editor of the inaugural Future of Software Engineering volume at ICSE 2000.},
	isbn = {0-7695-2829-5},
	author = {Briand, Lionel and Wolf, Alexander}
}
@inproceedings {Simula.SE.146,
	title = {Multi-Objective Genetic Algorithms to Support Class Responsibility Assignment},
	journal = {International Conference on Software Maintenance (ICSM 2007)},
	year = {2007},
	type = {Annual},
	abstract = {Class responsibility assignment is not an easy skill to acquire. There is ample evidence that this is hard to teach and apply. Though there are many methodologies for assigning responsibilities to classes, they all rely on human judgment and decision making. In this paper, our objective is to provide decision-making help to re-assign methods and attributes to classes in a class diagram. Our solution is based on a multi-objective genetic algorithm (MOGA) and uses class coupling and cohesion measurement. Our MOGA takes as input a class diagram to be optimized, typically produced during the analysis phase of software development and evolution (i.e., a domain model) in the context of Model-Driven Development, and suggests possible improvements to the diagram. The choice of a MOGA stems from the fact that there are typically many evaluation criteria that cannot be easily combined into one objective, and several alternative solutions are acceptable for a given OO domain model. This article presents our approach in details, our decisions regarding the multi-objective genetic algorithm, and reports on a case study. Our results suggest that the MOGA can help correct suboptimal class responsibility assignment decisions.},
	author = {Bowman, Michael and Briand, Lionel and Labiche, Yvan}
}
@techreport {Simula.SE.161,
	title = {A Realistic Empirical Evaluation of the Costs and Benefits of UML in Software Maintenance},
	number = {2007 - 04},
	year = {2007},
	month = {September},
	publisher = {Simula Research Laboratory},
	address = {Oslo, Norway},
	abstract = {The Unified Modeling Language (UML) is the de facto standard for object-oriented software analysis and design modeling. However, few empirical studies exist that investigate the costs and evaluate the benefits of using UML in realistic contexts. Such studies are needed so that the software industry can make informed decisions regarding the extent to which they should adopt UML in their development practices. This is the first controlled experiment that investigates the costs of maintaining and the benefits of using UML documentation during the maintenance and evolution of a real, non-trivial system, using professional developers as subjects, working with a state-of-the-art UML tool during an extended period of time. The subjects in the control group had no UML documentation. In this experiment, the subjects in the UML group had on average a practically and statistically significant 54\% increase in the functional correctness of changes (p=0.03), an insignificant 7\% overall improvement in design quality (p=0.22) - though a much larger improvement was observed on the first change task (56\%) - at the expense of an insignificant 14\% increase in development time caused by the overhead of updating the UML documentation (p=0.35).},
	author = {Dzidek, James and Arisholm, Erik and Briand, Lionel}
}
@article {Simula.SE.174,
	title = {A State-Based Approach to Integration Testing Based on UML Models},
	journal = {Information and Software Technology},
	volume = {49},
	number = {11-12},
	year = {2007},
	pages = {1087-1106},
	abstract = {Correct functioning of object-oriented software depends upon the successful integration of classes. While individual classes may function correctly, several new faults can arise when these classes are integrated together. In this paper, we present a technique to enhance testing of interactions among modal classes. The technique combines UML collaboration diagrams and statecharts to automatically generate an intermediate test model, called SCOTEM (State COllaboration TEst Model). The SCOTEM is then used to generate valid test paths. We also define various coverage criteria to generate test paths from the SCOTEM model. In order to assess our technique, we have developed a tool and applied it to a case study to investigate its fault detection capability. The results show that the proposed technique effectively detects all the seeded integration faults when complying with the most demanding adequacy criterion and still achieves reasonably good results for less expensive adequacy criteria.},
	author = {Ali, Shaukat and Briand, Lionel and Muhammad Jaffar-ur {Rehman} and Asghar, Hajra and Muhammad Zohaib {Iqbal} and Nadeem, Aamer}
}
@inproceedings {Simula.SE.147,
	title = {A UML Profile for Developing Airworthiness-Compliant (RTCA DO-178B) Safety-Critical Software},
	journal = {International Conference on Model Driven Engineering Languages},
	year = {2007},
	type = {Annual},
	abstract = {Many safety-related and certification standards exist for developing safety-critical systems. Safety assessments are performed in practice, and system certification according to a standard requires the submitting information about the software. The airworthiness standard, RTCA DO-178B, is the software de-facto standard for commercial and military aerospace programmes. The objective of this research is to propose an approach to improve the line of communication between safety engineers and software engineers by proposing a Unified Modeling Language (UML) profile that allows software engineers to model safety related concepts and properties in UML, the de-facto software modeling language. In this research, the list of safety-related concepts is extracted from RTCA DO- 178B, and then a UML profile is presented to enable modeling them. Then, approaches to generate certification-related information from UML models are presented. This new approach is illustrated through a case study on developing an aircraft{\textquoteright}s navigation controller subsystem},
	author = {Zoughbi, Gregory and Briand, Lionel and Labiche, Yvan}
}
@inproceedings {Simula.SE.145,
	title = {Using Machine Learning to Support Debugging With Tarantula},
	journal = {International Symposium on Software Reliability Engineering (ISSRE)},
	year = {2007},
	type = {Annual},
	abstract = {Using a specific machine learning technique, this paper proposes a way to identify suspicious statements during debugging which is based on principles similar to Tarantula but addresses its main flaw: Its difficulty to deal with the presence of multiple faults as it assumes that failing test cases execute the same fault(s). The improvement we present in this paper results from the use of C4.5 decision trees to identify various failure conditions based on information regarding the test cases{\textquoteright} inputs and outputs. Failing test cases executing under similar conditions are then assumed to fail due to the same fault(s). Statements are then considered suspicious if they are covered by a large proportion of failing test cases that execute under similar conditions. We report on a case study that demonstrates improvement over the original Tarantula technique in terms of statement ranking. Another contribution of the paper is to show that failure conditions as modeled by a C4.5 decision tree accurately predict failures and can therefore be used as well to help debugging.},
	author = {Briand, Lionel and Labiche, Yvan and Liu, Xuetao}
}
@inproceedings {Garousi.2006.2,
	title = {Analysis and Visualization of Behavioral Dependencies Among Distributed Objects Based on UML Models},
	journal = {ACM/IEEE MoDELS},
	year = {2006},
	pages = {365-379},
	publisher = {Springer},
	type = {Conference},
	isbn = {3-540-45772-0},
	author = {Garousi, Vahid and Briand, Lionel and Labiche, Yvan},
	editor = {Nierstrasz, Oscar and Whittle, Jon and Harel, David and Reggio, Gianna}
}
@inproceedings {Briand.2006.1,
	title = {Automated, Contract-Based User Testing of Commercial-Off-the-Shelf Components},
	journal = {ACM/IEEE International Conference on Software Engineering (ICSE)},
	year = {2006},
	publisher = {ACM Press},
	type = {Conference},
	abstract = {Commercial-off-the-Shelf (COTS) components provide a means to construct software (component-based) systems in reduced time and cost. In a COTS component software market there exist component vendors (original developers of the component) and component users (developers of the component-based systems). The former provide the component to the user without source code or design documentation, and as a result it is difficult for the latter to adequately test the component when deployed in their system. In this article we propose a framework that clarifies the roles and responsibilities of both parties so that the user can adequately test the component in a deployment environment and the vendor does not need to release proprietary details. Then, based on this framework we combine and adapt two specification-based testing techniques and describe (and implement) a method for the automated generation of adequate test sets. An evaluation of our approach on a case study demonstrates that it is possible to automatically generate cost effective test sequences and that these test sequences are effective at detecting complex errors.},
	isbn = {1-59593-375-1},
	author = {Briand, Lionel and Labiche, Yvan and Sowka, Michal},
	editor = {Anderson, Ken}
}
@article {Simula.SE.23,
	title = {Automated Impact Analysis of UML Models},
	journal = {Journal of Systems and Software},
	volume = {79},
	number = {3},
	year = {2006},
	pages = {339-352},
	author = {Briand, Lionel and Labiche, Yvan and O{\textquoteright}Sullivan, L. and Sowka, Michal}
}
@inproceedings {Simula.SE.127,
	title = {Automatic Evaluation of Intrusion Detection Systems},
	journal = {22nd Annual Computer Security Applications Conference},
	year = {2006},
	pages = {361-370},
	type = {Conference},
	abstract = {An Intrusion Detection System (IDS) is a crucial element of a network security posture. Although there are many IDS products available, it is rather difficult to find information about their accuracy. Only a few organizations evaluate these products. Furthermore, the data used to test and evaluate these IDS is usually proprietary. Thus, the research community cannot easily evaluate the next generation of IDS. Toward this end, DARPA provided in 1998, 1999 and 2000 an Intrusion Detection Evaluation Data Set. However, no new data set has been released by DARPA since 2000, in part because of the cumbersomeness of the task. In this paper, we propose a strategy to address certain aspects of generating a publicly available documented data set for testing and evaluating intrusion detection systems. We also present a tool that automatically analyzes and evaluates IDS using our proposed data set.},
	isbn = {1063-9527},
	author = {Massicotte, Frederic and Gagnon, Fran{\c c}ois and Labiche, Yvan and Briand, Lionel and Couture, Mathieu}
}
@inproceedings {Holt.2006.2,
	title = {Experiences With Precise State Modeling in an Industrial Safety Critical System},
	journal = {Critical Systems Development Using Modeling Lanuguages, CSDUML{\textquoteright}06},
	year = {2006},
	month = {October},
	pages = {68-77},
	publisher = {Springer},
	type = {Workshop},
	edition = {9th edition},
	chapter = {6},
	abstract = {The development of safety critical systems is a complex and challenging task. There are many claims regarding how precise modeling, either with the UML or other modeling notations, can yield benefits in terms of more rigorous specifications and designs. This paper reports on experiences from applying statechart-driven UML modeling in the development of a safety-critical system at ABB. The primary lessons learned from the study are related to the impact of precise modeling on the ease of transitioning to design.},
	author = {Nina Elisabeth {Holt} and Anda, Bente Cecilie Dahlum and Asskildt, Knut and Briand, Lionel and Endresen, Jan and Fr{\o}ystein, Sverre},
	editor = {Siv Hilde {Houmb} and Georg, Geri and France, Robert and Dorina C. {Petriu} and J{\"u}rjens, Jan}
}
@inproceedings {Simula.SE.55,
	title = {The Experimental Paradigm in Reverse Engineering: Role, Challenges, and Limitations},
	journal = {IEEE Working Conference on Reverse Engineering (WCRE)},
	year = {2006},
	publisher = {Publisher},
	type = {Conference},
	isbn = {0000000000},
	author = {Briand, Lionel}
}
@inproceedings {Simula.SE.56,
	title = {Guiding the Application of Design Patterns Based on UML Models},
	journal = {IEEE International Conference on Software Maintenance (ICSM)},
	year = {2006},
	publisher = {Publisher},
	type = {Conference},
	isbn = {0000000000},
	author = {Briand, Lionel and Labiche, Yvan and Sauv{\'e}, Alexandre}
}
@article {Arisholm.2006.3,
	title = {The Impact of UML Documentation on Software Maintenance: an Experimental Evaluation},
	journal = {IEEE Transactions on Software Engineering},
	volume = {32},
	number = {6},
	year = {2006},
	month = {June},
	pages = {365-381},
	abstract = {The Unified Modeling Language (UML) is becoming the de-facto standard for software analysis and design modeling. However, there is still a significant resistance to model-driven development in many software organizations as it is perceived to be expensive and not necessarily cost-effective. It is therefore important to investigate the benefits obtained through modeling. As a first step in this direction, this paper reports on controlled experiments, spanning across two locations, which investigate the impact of UML documentation on software maintenance. Results show that, for complex tasks and past a certain learning curve, the availability of UML documentation may result in significant improvements of the functional correctness of changes as well as their design quality. On the other hand, there does not seem to be any resulting time saving. For simpler tasks, the time needed to update the UML documentation may be substantial compared with the potential benefits, thus motivating the need for UML tools with better support for software maintenance.},
	author = {Arisholm, Erik and Briand, Lionel and Siw Elisabeth {Hove} and Labiche, Yvan}
}
@inbook {Dzidek.2006.1,
	title = {Lessons Learned From Developing a Dynamic OCL Constraint Enforcement Tool for Java},
	booktitle = {Satellite Events at the MoDELS 2005 Conference: MoDELS 2005 International Workshops OCLWS, MoDeVA, MARTES, AOM, MTiP, WiSME, MODAUI, NfC, MDD, WUsCAM, Montego Bay, Jamaica, October 2-7, 2005, Revised Selected Papers},
	series = {Lecture Notes in Computer Science, Vol. 3844},
	year = {2006},
	month = {January},
	pages = {10-19},
	publisher = {Springer},
	organization = {Springer},
	abstract = {Analysis and design by contract allows the definition of a formal agreement between a class and its clients, expressing each party{\textquoteright}s rights and obligations. Contracts written in the Object Constraint Language (OCL) are known to be a useful technique to specify the precondition and postcondition of operations and class invariants in a UML context, making the definition of object-oriented analysis or design elements more precise while also helping in testing and debugging. In this article, we report on the experiences with the development of ocl2j, a tool that automatically instruments OCL constraints in Java programs using aspect-oriented programming (AOP). The approach strives for automatic and efficient generation of contract code, and a non-intrusive instrumentation technique. A summary of our approach is given along with the results of an initial case study, the discussion of encountered problems, and the necessary future work to resolve the encountered issues.},
	isbn = {3-540-31780-5},
	author = {Dzidek, James and Briand, Lionel and Labiche, Yvan},
	editor = {Bruel, Jean-Michel}
}
@inproceedings {Elaasar.2006.1,
	title = {A Metamodeling Approach to Pattern Specification and Detection},
	journal = {Proc. of ACM/IEEE International Conference on Model Driven Engineering Languages and Systems (MoDELS)},
	year = {2006},
	pages = {484-498},
	publisher = {Springer},
	type = {Conference},
	isbn = {3-540-45772-0},
	author = {Elaasar, Maged and Briand, Lionel and Labiche, Yvan},
	editor = {Nierstrasz, Oscar and Whittle, Jon and Harel, David and Reggio, Gianna}
}
@inproceedings {Arisholm.2006.4,
	title = {Predicting Fault-Prone Components in a Java Legacy System},
	journal = {5th ACM-IEEE International Symposium on Empirical Software Engineering (ISESE), Rio de Janeiro, Brazil, September 21-22},
	year = {2006},
	month = {September},
	pages = {8-17},
	publisher = {ACM},
	type = {Conference},
	abstract = {This paper reports on the construction and validation of fault-proneness prediction models in the context of an object-oriented, evolving, legacy system. The goal is to help QA engineers focus their limited verification resources on parts of the system likely to contain faults. A number of measures including code quality, class structure, changes in class structure, and the history of class-level changes and faults are included as candidate predictors of class fault-proneness. A cross-validated classification analysis shows that the obtained model has less than 20\% of false positives and false negatives, respectively. However, as shown in this paper, statistics regarding the classification accuracy tend to inflate the potential usefulness of the fault-proneness prediction models. We thus propose a simple and pragmatic methodology for assessing the cost-effectiveness of the predictions to focus verification effort. On the basis of the cost-effectiveness analysis we show that change and fault data from previous releases is paramount to developing a practically useful prediction model. When our model is applied to predict faults in a new release, the estimated potential savings in verification effort is about 29\%. In contrast, the estimated savings in verification effort drops to 0\% when history data is not included.},
	isbn = {1-59593-218-6},
	author = {Arisholm, Erik and Briand, Lionel},
	editor = {Mendes,  and Maldonado, Wohlin}
}
@article {Simula.SE.18,
	title = {Towards the Reverse Engineering of UML Sequence Diagrams for Distributed Java Software},
	journal = {IEEE Transactions on Software Engineering},
	volume = {32},
	number = {9},
	year = {2006},
	author = {Briand, Lionel and Labiche, Yvan and Leduc, Johanne}
}
@inproceedings {Garousi.2006.1,
	title = {Traffic-Aware Stress Testing of Distributed Systems Based on UML Models},
	journal = {ACM/IEEE International Conference on Software Engineering (ICSE)},
	year = {2006},
	pages = {391-400},
	publisher = {ACM Press},
	type = {Conference},
	abstract = {A stress test methodology aimed at increasing chances of discovering faults related to network traffic in distributed systems is presented. The technique uses the UML 2.0 model of the distributed system under test, augmented with timing information and is based on an analysis of the control flow in sequence diagrams. It yields stress test requirements that are made of specific control flow paths along with time values indicating when to trigger them. Different variants of our stress testing technique already exist (they stress different aspects of a distributed system) and we focus here on one variant that is designed to identify and to stress test the system at the instant when data traffic on a network is maximal. Using a real-world distributed system specification, we design and implement a prototype distributed system and describe, for that particular system, how the stress test cases are derived and executed using our methodology. The stress test results indicate that the technique is significantly more effective at detecting network traffic-related faults when compared to test cases based on an operational profile.},
	isbn = {1-59593-375-1},
	author = {Garousi, Vahid and Briand, Lionel and Labiche, Yvan},
	editor = {Anderson, Ken}
}
@article {Simula.SE.19,
	title = {Using Genetic Algorithms for Early Schedulability Analysis and Stress Testing in Real-Time Systems},
	journal = {Journal of Genetic Programming and Evolvable Machines},
	volume = {7},
	number = {2},
	year = {2006},
	author = {Briand, Lionel and Labiche, Yvan and Shousha, Marwa}
}
@article {Andrews.2006.1,
	title = {Using Mutation Analysis for Assessing and Comparing Testing Coverage Criteria},
	journal = {IEEE Transactions on Software Engineering},
	volume = {32},
	number = {8},
	year = {2006},
	month = {August},
	pages = {608-624},
	abstract = {The empirical assessment of test techniques plays an important role in software testing research. One common practice is to seed faults in subject software, either manually or by using a program that generates all possible mutants based on a set of mutation operators. The latter allows the systematic, repeatable seeding of large numbers of faults, thus facilitating the statistical analysis of fault detection effectiveness of test suites; however, we do not know whether empirical results obtained this way lead to valid, representative conclusions. Focusing on four common control and data flow criteria (Block, Decision, C-Use, and P-Use), this paper investigates this important issue based on a middle size industrial program with a comprehensive pool of test cases and known faults. Based on the data available thus far, the results are very consistent across the investigated criteria as they show that the use of mutation operators is yielding trustworthy results: Generated mutants can be used to predict the detection effectiveness of real faults. Applying such a mutation analysis, we then investigate the relative cost and effectiveness of the above-mentioned criteria by revisiting fundamental questions regarding the relationships between fault detection, test suite size, and control/data flow coverage. Although such questions have been partially investigated in previous studies, we can use a large number of mutants, which helps decrease the impact of random variation in our analysis and allows us to use a different analysis approach. Our results are then compared with published studies, plausible reasons for the differences are provided, and the research leads us to suggest a way to tune the mutation analysis process to possible differences in fault detection probabilities in a specific environment.},
	author = {James H. {Andrews} and Briand, Lionel and Labiche, Yvan and Akbar Sami {Namin}}
}
@article {Simula.SE.24,
	title = {Automated Support for Deriving Test Requirements From UML Statecharts},
	journal = {Software and Systems Modeling},
	volume = {4},
	number = {12},
	year = {2005},
	pages = {399-423},
	author = {Briand, Lionel and Labiche, Yvan and Cui, J.}
}
@inproceedings {Simula.SE.59,
	title = {Control Flow Analysis of UML 2.0 Sequence Diagrams},
	journal = {European Conference on Model Driven Architecture-Foundations and Applications (ECMDA-FA)},
	year = {2005},
	publisher = {Publisher},
	type = {Conference},
	isbn = {0000000000},
	author = {Garousi, Vahid and Briand, Lionel and Labiche, Yvan}
}
@article {Freimut.2005.1,
	title = {Determining Inspection Cost-Effectiveness by Combining Project Data and Expert Opinion},
	journal = {IEEE Transactions on Software Engineering},
	volume = {31},
	number = {12},
	year = {2005},
	month = {December},
	pages = {1074-1092},
	abstract = {There is a general agreement among software engineering practitioners that software inspections are an important technique to achieve high software quality at a reasonable cost. However, there are many ways to perform such inspections and many factors that affect their cost-effectiveness. It is therefore important to be able to estimate this cost-effectiveness in order to monitor it, improve it, and convince developers and management that the technology and related investments are worthwhile. This work proposes a rigorous but practical way to do so. In particular, a meaningful model to measure cost-effectiveness is proposed and a method to determine the cost-effectiveness by combining project data and expert opinion is described. To demonstrate the feasibility of the proposed approach, the results of a large-scale industrial case study are presented and an initial validation is performed.},
	author = {Freimut, Bernd and Briand, Lionel and Vollei, Ferdinand}
}
@article {Simula.SE.22,
	title = {An Experimental Investigation of Formality in UML-Based Development},
	journal = {IEEE Transactions on Software Engineering},
	volume = {vol. 31},
	number = {nr. 10},
	year = {2005},
	pages = {p. 833-849},
	author = {Briand, Lionel and Labiche, Yvan and Di Penta, Massimiliano and H. D. {Yan-Bondoc}}
}
@techreport {Arisholm.2005.2,
	title = {The Impact of UML Documentation on Software Maintenance: an Experimental Evaluation},
	number = {2005-14},
	year = {2005},
	month = {August},
	publisher = {Simula Research Laboratory},
	abstract = {The Unified Modeling Language (UML) is becoming the de-facto standard for software analysis and design modeling. However, there is still a significant resistance to model-driven development in many software organizations as it is perceived to be expensive and not necessarily cost-effective. It is therefore important to investigate the benefits obtained through modeling. As a first step in this direction, this paper reports on controlled experiments, spanning across two locations, which investigate the impact of UML documentation on software maintenance. Results show that, for complex tasks and passed a certain learning curve, the availability UML documentation may result into significant improvements of the functional correctness of changes as well as their design quality. On the other hand, there does not seem to be any resulting time saving. For simpler tasks, the time needed to update the UML documentation may be substantial compared with the potential benefits, thus motivating the need for UML tools with better support for performing model changes.},
	author = {Arisholm, Erik and Briand, Lionel and Siw Elisabeth {Hove} and Labiche, Yvan}
}
@inproceedings {Simula.SE.58,
	title = {Improving Statechart Testing Criteria Using Data Flow Information},
	journal = {IEEE Int. Symposium on Software Reliability Engineering (ISSRE)},
	year = {2005},
	publisher = {Publisher},
	type = {Conference},
	isbn = {0000000000},
	author = {Briand, Lionel and Labiche, Yvan and Lin, Qin}
}
@inproceedings {Briand.2005.1,
	title = {Instrumenting Contracts With Aspect-Oriented Programming to Increase Observability and Support Debugging},
	journal = {21st IEEE International Conference on Software Maintenance (ICSM), Budapest, Hungary, September 25-30},
	year = {2005},
	note = {Use of the attached PDF is subject to the IEEE terms found here: http://www.computer.org/portal/pages/csdl/content/Terms.html},
	pages = {687-690},
	publisher = {IEEE},
	type = {Conference},
	abstract = {Analysis and design by contract allows the definition of a formal agreement between a class and its clients, expressing each party{\textquoteright}s rights and obligations. Operation contracts and class invariants are known to be a useful technique to specify the precondition and postcondition of operations and the legal states of class instances in an object-oriented context, making the definition of object-oriented analysis or design elements more precise. Furthermore, it is also useful to check such contracts and invariants at run time in order to help testing and debugging during corrective maintenance. Indeed, experiments report a substantial gain when relying on instrumented contracts during those two activities. However, the instrumentation of such contracts is a time consuming activity. In this paper we report on how Aspect-Oriented Programming (AOP), using AspectJ, can be employed to automatically and efficiently instrument contracts and invariants in Java. The paper focuses on (1) the AspectJ templates to instrument preconditions, postconditions, and class invariants, (2) the necessary instrumentation for compliance-checking to the Liskov Substitution Principle.},
	isbn = {0-7695-2368-4},
	author = {Briand, Lionel and Dzidek, James and Labiche, Yvan},
	editor = {IEEE Computer {Society}}
}
@article {Simula.SE.21,
	title = {A Measurement Framework for Object-Oriented Software Testability},
	journal = {Information and Software Technology},
	volume = {47},
	number = {12},
	year = {2005},
	author = {Mouchawrab, S. and Briand, Lionel and Labiche, Yvan}
}
@inproceedings {Simula.SE.62,
	title = {Is Mutation an Appropriate Tool for Testing Experiments?},
	journal = {IEEE International Conference on Software Engineering (ICSE{\textquoteright}05)},
	year = {2005},
	publisher = {Publisher},
	type = {Conference},
	isbn = {0000000000},
	author = {Briand, Lionel and Andrews, James and Labiche, Yvan}
}
@inproceedings {Simula.SE.144,
	title = {Tracing Distributed Systems Executions Using AspectJ},
	journal = {21st IEEE International Conference on Software Maintenance (ICSM{\textquoteright}05)},
	year = {2005},
	month = {September},
	pages = {81-90},
	publisher = {IEEE Computer Society},
	type = {Conference},
	abstract = {This article addresses the generation of traces to monitor the execution of distributed Java systems, and investigates the use of Aspect-Oriented Programming (AOP) as the instrumentation strategy to get the necessary information at runtime. The overall objective is to gather enough information to help people understand program executions by abstracting out design details related to thread and distributed communications, for instance under the form of UML sequence diagrams. We show how AspectJ, the main Java implementation of AOP, can be used to solve such issues, assuming RMI is the distribution middleware and thread communications employ specific data structures. The most important aspects are discussed and experiments on a case study are reported.},
	isbn = {0-7695-2368-},
	author = {Briand, Lionel and Labiche, Yvan and Leduc, Johanne},
	editor = {Briand, Lionel}
}
@inproceedings {Simula.SE.60,
	title = {Tracing Distributed Systems Executions Using AspectJ},
	journal = {IEEE International Conference on Software Maintenance (ICSM 2005)},
	year = {2005},
	publisher = {Publisher},
	type = {Conference},
	isbn = {0000000000},
	author = {Briand, Lionel and Labiche, Yvan and Leduc, Johanne}
}
@inproceedings {Simula.SE.61,
	title = {Using Aspect-Oriented Programming to Instrument OCL Contracts in Java},
	journal = {IEEE International Conference on Software Maintenance (ICSM 2005)},
	year = {2005},
	publisher = {Publisher},
	type = {Conference},
	isbn = {0000000000},
	author = {Briand, Lionel and Wojciech James {Dzidek} and Labiche, Yvan}
}
@inproceedings {Simula.SE.63,
	title = {A Controlled Experiment on the Impact of the Object Constraint Language in UML-Based Development},
	journal = {IEEE Conference on Software Maintenance (ICSM 2004)},
	year = {2004},
	publisher = {Publisher},
	type = {Conference},
	isbn = {0000000000},
	author = {Briand, Lionel and Labiche, Yvan and Han Daphne {Yan} and Di Penta, Massimiliano}
}
@article {SE.4.Arisholm.2004.a,
	title = {Dynamic Coupling Measurement for Object-Oriented Software},
	journal = {IEEE Transactions on Software Engineering},
	volume = {30},
	number = {8},
	year = {2004},
	month = {August},
	pages = {491-506},
	abstract = {The relationships between coupling and external quality factors of object-oriented software have been studied extensively for the past few years. For example, several studies have identified clear empirical relationships between class-level coupling and class fault-proneness. A common way to define and measure coupling is through structural properties and static code analysis. However, because of polymorphism, dynamic binding, and the common presence of unused ({\textquotedblleft}dead{\textquotedblright}) code in commercial software, the resulting coupling measures are imprecise as they do not perfectly reflect the actual coupling taking place among classes at run-time. For example, when using static analysis to measure coupling, it is difficult and sometimes impossible to determine what actual methods can be invoked from a client class if those methods are overridden in the subclasses of the server classes. Coupling measurement has traditionally been performed using static code analysis, because most of the existing work was done on non-object oriented code and because dynamic code analysis is more expensive and complex to perform. For modern software systems, however, this focus on static analysis can be problematic, because although dynamic binding existed before the advent of object-orientation, its usage has increased significantly in the last decade. This paper describes how coupling can be defined and precisely measured based on dynamic analysis of systems. We refer to this type of coupling as dynamic coupling. An empirical evaluation of the proposed dynamic coupling measures is reported in which we study the relationship of these measures with the change proneness of classes. Data from maintenance releases of a large Java system are used for this purpose. Preliminary results suggest that some dynamic coupling measures are significant indicators of change proneness and that they complement existing coupling measures based on static analysis.},
	author = {Arisholm, Erik and Briand, Lionel and F{\o}yen, A.}
}
@techreport {Simula.SE.133,
	title = {An Overview of UML Consistency Management},
	year = {2004},
	publisher = {Carleton University},
	abstract = {The ambiguity inherent in UML coupled with its support of multiple viewpoint modeling pose a great risk of inconsistency. Many classifications of UML inconsistencies exist in the literature today. Several proposals are also made for the mitigation of that risk. The essence of these proposals is to clear the existing ambiguity and to seek the formalization of UML. Unfortunately most of the se proposals are not implemented in today{\textquoteright}s UML CASE tools. For these tools to fulfill their promises of supporting automation and hiding complexity, they need to employ a consistency management framework with certain characteristics. This paper surveys the state of the art in UML consistency management and proposes a research agenda for the implementation of a successful consistency management framework.},
	author = {Elaasar, M. and Briand, Lionel}
}
@techreport {SE.7.Briand.2004,
	title = {Using Aspect-Oriented Programming to Instrument OCL Contracts in Java},
	number = {SCE-04-03},
	year = {2004},
	publisher = {Carleton University},
	abstract = {Analysis and design by contract allows the definitions of a formal agreement between a class and its clients, expressing each party{\textquoteright}s rights and obligations. Contracts written in the Object-Constraint Language (OCL) are known to be a useful technique to specify the precondition and postcondition of operations and class invariants in a UML context, making the definition of object-oriented analysis or design elements more precise. In this report, we introduce the ocl2j approach to automatically instrument OCL constraints in Java programs using aspect-oriented programming (AOP). One of the many possible applications of checking contract assertions at run time is to help testing and debugging. The approach strives for automatic, efficient generation of contract code and a nonintrusive instrumentation technique. It is assessed on a case study and initial results show that the approach is viable. We conclude by discussing strategies to optimize instrumentation so as to further decrease overhead.},
	author = {Briand, Lionel and Dzidek, James and Labiche, Yvan}
}
@article {Simula.SE.26,
	title = {Using Multiple Adaptive Regression Splines to Understand Trends in Inspection Data and Identify Optimal Inspection Rates},
	journal = {Journal of Systems and Software},
	volume = {73},
	number = {2},
	year = {2004},
	author = {Briand, Lionel and Freimut, Bernd and Vollei, Ferdinand}
}
@inproceedings {Simula.SE.64,
	title = {Using Simulation to Empirically Investigate State Coverage Criteria Based on Statecharts},
	journal = {ACM International Conference on Software Engineering (ICSE{\textquoteright}04)},
	year = {2004},
	publisher = {Publisher},
	type = {Conference},
	author = {Briand, Lionel and Labiche, Yvan and Wang, Yunlan}
}
@techreport {SE.7.Arisholm.2003.a,
	title = {Dynamic Coupling Measurement for Object-Oriented Software (Detailed Analyses)},
	number = {2003-5},
	year = {2003},
	note = {Updated April 26, 2004},
	publisher = {Simula Research Laboratory},
	abstract = {The relationships between coupling and external quality factors of object-oriented software have been studied extensively for the past few years. For example, several studies have identified clear empirical relationships between class-level coupling and class fault-proneness. A common way to define and measure coupling is through structural properties and static code analysis. However, because of polymorphism, dynamic binding, and the common presence of unused ({\textquotedblleft}dead{\textquotedblright}) code in commercial software, the resulting coupling measures are imprecise as they do not perfectly reflect the actual coupling taking place among classes at run-time. For example, when using static analysis to measure coupling, it is difficult and sometimes impossible to determine what actual methods can be invoked from a client class if those methods are overridden in the subclasses of the server classes. Similarly, static analysis is not a fully appropriate tool to account for dead code. Coupling measurement has traditionally been performed using static code analysis, because most of the existing work was done on non-object oriented code and because dynamic code analysis is more expensive and complex. This paper describes how coupling can be defined and precisely measured on the basis of dynamic analysis or equivalent dynamic models of the system. We refer to this type of coupling as dynamic coupling. A first empirical evaluation of the proposed dynamic coupling measures is reported in which we study the relationship of these measures with the change proneness of classes. Data from maintenance releases of a large Java system are used for this purpose. Preliminary results suggest that some dynamic coupling measures are strong indicators of change proneness and that they complement existing coupling measures based on static analysis.},
	author = {Arisholm, Erik and Briand, Lionel and F{\o}yen, A.}
}
@inbook {Simula.SE.27,
	title = {Experimenting With Genetic Algorithms and Coupling Measures to Devise Optimal Integration Test Orders},
	booktitle = {Software Engineering with Computational Intelligence},
	year = {2003},
	publisher = {Kluwer Academic Publishers},
	organization = {Kluwer Academic Publishers},
	author = {Briand, Lionel}
}
@inproceedings {Simula.SE.68,
	title = {Impact Analysis and Change Management of UML Models},
	journal = {IEEE International Conference on Software Maintenance (ICSM{\textquoteright}03)},
	year = {2003},
	pages = {256-265},
	publisher = {Publisher},
	type = {Conference},
	author = {Briand, Lionel and Labiche, Yvan and O{\textquoteright}Sullivan, L.}
}
@article {Simula.SE.28,
	title = {Investigating the Use of Analysis Contracts to Improve the Testability of Object Oriented Code},
	journal = {Software: Practice and Experience},
	volume = {33},
	number = {7},
	year = {2003},
	author = {Briand, Lionel and Labiche, Yvan and Sun, H.}
}
@article {Simula.SE.29,
	title = {Revisiting Strategies for Ordering Class Integration Testing in the Presence of Dependency Cycles},
	journal = {IEEE Transactions on Software Engineering},
	volume = {29},
	number = {7},
	year = {2003},
	author = {Briand, Lionel and Labiche, Yvan and Wang, Y.}
}
@inproceedings {Simula.SE.66,
	title = {Toward a Comprehensive and Systematic Methodology for Class Integration Testing},
	journal = {IEEE International Symposium on Software Reliability Engineering (ISSRE{\textquoteright}03)},
	year = {2003},
	pages = {14-25},
	publisher = {Publisher},
	type = {Conference},
	isbn = {0000000000},
	author = {Briand, Lionel and Labiche, Yvan and Wang, Y.}
}
@inproceedings {Simula.SE.67,
	title = {Towards Automated Support for Deriving Test Data From UML Statecharts},
	journal = {ACM/IEEE International Conference on the Unified Modeling Language (UML{\textquoteright}03)},
	year = {2003},
	pages = {249-264},
	type = {Conference},
	author = {Briand, Lionel and Cui, J. and Labiche, Yvan}
}
@inproceedings {Simula.SE.65,
	title = {Towards the Reverse Engineering of UML Sequence Diagrams},
	journal = {IEEE Working Conference on Reverse Engineering (WCRE{\textquoteright}03)},
	year = {2003},
	pages = {57-66},
	type = {Conference},
	author = {Briand, Lionel and Labiche, Yvan and Miao, Y.}
}
@article {Simula.SE.32,
	title = {Assessing the Applicability of Fault-Proneness Models Across Object-Oriented Software Projects},
	journal = {IEEE Transactions on Software Engineering},
	volume = {28},
	number = {7},
	year = {2002},
	author = {Briand, Lionel and Melo, W. and W{\"u}st, J.}
}
@inproceedings {Simula.SE.71,
	title = {Automating Impact Analysis and Regression Test Selection Based on UML Designs},
	journal = {IEEE International Conference on Software Maintenance (ICSM)},
	year = {2002},
	type = {Conference},
	author = {Briand, Lionel and Labiche, Yvan and Soccar, G.}
}
@article {Simula.SE.110,
	title = {Empirical Studies of Quality Models in Object-Oriented Systems},
	journal = {Advances in Computers},
	volume = {56},
	year = {2002},
	note = {Edited by M. Zelkowitz},
	author = {Briand, Lionel and W{\"u}st, J.}
}
@inproceedings {Simula.SE.72,
	title = {An Experiment Using the Round-Trip Strategy for State-Based Class Testing},
	journal = {IEEE International Symposium on Software Reliability Engineering (ISSRE)},
	year = {2002},
	type = {Conference},
	author = {Briand, Lionel and Antoniol, G. and Di Penta, Massimiliano and Labiche, Yvan}
}
@inproceedings {Simula.SE.69,
	title = {Investigating the Use of Analysis Contracts to Support Fault Isolation in Object Oriented Code},
	journal = {ACM International Symposium on Software Testing and Analysis (ISSTA)},
	year = {2002},
	pages = {70-80},
	type = {Conference},
	author = {Briand, Lionel and Labiche, Yvan and Sun, H.}
}
@article {Simula.SE.33,
	title = {An Operational Process for Goal-Driven Definition of Measures},
	journal = {IEEE Transactions on Software Engineering},
	volume = {28},
	number = {12},
	year = {2002},
	author = {Briand, Lionel and Morasca, S. and Basili, Victor}
}
@article {Simula.SE.30,
	title = {A UML-Based Approach to System Testing},
	journal = {Software and Systems Modeling},
	volume = {1},
	number = {1},
	year = {2002},
	author = {Briand, Lionel and Labiche, Yvan}
}
@inproceedings {Simula.SE.70,
	title = {Using Genetic Algorithms and Coupling Measures to Devise Optimal Integration Test Orders},
	journal = {ACM International Conference on Software Engineering and Knowledge Engineering (SEKE)},
	year = {2002},
	pages = {43-50},
	type = {Conference},
	author = {Briand, Lionel and Feng, J. and Labiche, Yvan}
}
@article {Simula.SE.35,
	title = {A Controlled Experiment for Evaluating Quality Guidelines on the Maintainability of Object-Oriented Designs},
	journal = {IEEE Transactions on Software Engineering},
	volume = {27},
	number = {6},
	year = {2001},
	author = {Briand, Lionel and Bunse, Christian and Daly, J.}
}
@inproceedings {Simula.SE.75,
	title = {The Impact of Design Properties on Development Cost in Object-Oriented Systems},
	journal = {IEEE International Symposium on Software Metrics},
	year = {2001},
	type = {Conference},
	author = {Briand, Lionel and W{\"u}st, J.}
}
@article {Simula.SE.34,
	title = {The Impact of Design Properties on Development Cost in Object-Oriented Systems},
	journal = {IEEE Transactions on Software Engineering},
	volume = {27},
	number = {11},
	year = {2001},
	author = {Briand, Lionel and W{\"u}st, J.}
}
@article {Simula.SE.36,
	title = {Integrating Scenario-Based and Measurement-Based Software Product Assessment},
	journal = {Journal of Systems and Software},
	volume = {59},
	number = {1},
	year = {2001},
	author = {Briand, Lionel and W{\"u}st, J.}
}
@article {Simula.SE.37,
	title = {Replicated Case Studies for Investigating Quality Factors in Object-Oriented Designs},
	journal = {Empirical Software Engineering},
	volume = {6},
	number = {6},
	year = {2001},
	author = {Briand, Lionel and W{\"u}st, J. and Lounis, H.}
}
@inproceedings {Simula.SE.73,
	title = {Revisiting Strategies for Ordering Class Integration Testing in the Presence of Dependency Cycles},
	journal = {IEEE Symposium on Software Reliability Engineering (ISSRE)},
	year = {2001},
	type = {Conference},
	author = {Briand, Lionel and Labiche, Yvan and Wang, Y.}
}
@inproceedings {Simula.SE.74,
	title = {A UML Approach to System Testing},
	journal = {IEEE International Conference on the Unified Modeling Langauge},
	year = {2001},
	type = {Conference},
	author = {Briand, Lionel and Labiche, Yvan}
}
@article {Simula.SE.39,
	title = {A Comprehensive Evaluation of Capture-Recapture Models for Estimating Software Defect Content},
	journal = {IEEE Transactions on Software Engineering},
	volume = {26},
	number = {6},
	year = {2000},
	author = {Briand, Lionel and Emam, El and Freimut, Bernd and Laitenberger, O.}
}
@article {Simula.SE.40,
	title = {Defining and Validating Measures for Object-Based High-Level Designs},
	journal = {IEEE Transactions on Software Engineering},
	volume = {25},
	number = {5},
	year = {2000},
	author = {Briand, Lionel and Morasca, S. and Basili, Victor}
}
@article {Simula.SE.41,
	title = {Exploring the Relationships Between Design Measures and Software Quality in Object-Oriented Systems},
	journal = {Journal of Systems and Software},
	volume = {51},
	year = {2000},
	pages = {245-273},
	author = {Briand, Lionel and W{\"u}st, J. and Daly, J. and Porter, V.}
}
@inproceedings {Simula.SE.76,
	title = {A Replicated Assessment and Comparison of Common Software Cost Modeling Techniques},
	journal = {IEEE International Conference on Software Engineering (ICSE)},
	year = {2000},
	type = {1},
	author = {Briand, Lionel and Langley, T. and Wieczorek, I.}
}
@article {Simula.SE.38,
	title = {Using Simulation for Assessing the Real Impact of Test Coverage on Defect Coverage},
	journal = {IEEE Transactions on Reliability},
	volume = {49},
	number = {1},
	year = {2000},
	author = {Briand, Lionel and Pfahl, Dietmar}
}
@article {Simula.SE.265,
	title = {Using Simulation for Assessing the Real Impact of Test-Coverage on Defect-Coverage},
	journal = {IEEE Transactions on Reliability},
	volume = {49},
	number = {1},
	year = {2000},
	pages = {60-70},
	author = {Briand, Lionel and Pfahl, Dietmar}
}
@inproceedings {Simula.SE.81,
	title = {A Comparison of Common Cost Modeling Techniques},
	journal = {IEEE International Conference on Software Engineering (ICSE)},
	year = {1999},
	type = {Conference},
	author = {Briand, Lionel and Emam, El and Surmann, D. and Wieczorek, I. and Maxwell, K.}
}
@inproceedings {Simula.SE.80,
	title = {A Comprehensive Investigation of Quality Factors in Object-Oriented Designs: an Industrial Case Study},
	journal = {IEEE International Conference on Software Engineering (ICSE)},
	year = {1999},
	type = {Conference},
	author = {Briand, Lionel and W{\"u}st, J. and Ikonomovski, S. and Lounis, H.}
}
@article {Simula.SE.42,
	title = {Empirical Studies of Object-Oriented Artifacts, Methods, and Processes: State of the Art and Future Directions},
	journal = {Empirical Software Engineering},
	volume = {4},
	number = {4},
	year = {1999},
	author = {Briand, Lionel and Arisholm, Erik and Counsell, Steve and Houdek, F. and Th{\'e}venod-Fosse, P.}
}
@article {SE.4.Briand.1999,
	title = {Empirical Studies of Object-Oriented Artifacts, Methods, and Processes: State of the Art and Future Directions},
	journal = {Empirical Software Engineering},
	volume = {4},
	number = {4},
	year = {1999},
	note = {(Also available as ISERN TR 99-12)},
	pages = {387-404},
	author = {Briand, Lionel and Arisholm, Erik and Counsell, Steve and Houdek, F.}
}
@inproceedings {Simula.SE.79,
	title = {Explaining the Cost of Software Projects in the European Space Industry},
	journal = {IEEE International Conference on Software Engineering (ICSE)},
	year = {1999},
	type = {Conference},
	isbn = {0000000000},
	author = {Briand, Lionel and Emam, El}
}
@article {Simula.SE.43,
	title = {A Unified Framework for Coupling Measurement in Object-Oriented Systems},
	journal = {IEEE Transactions on Software Engineering},
	volume = {25},
	number = {1},
	year = {1999},
	author = {Briand, Lionel and Daly, J. and W{\"u}st, J.}
}
@inproceedings {Simula.SE.78,
	title = {Using Coupling Measurement for Impact Analysis in Object-Oriented System},
	journal = {IEEE International Conference on Software Maintenance (ICSM)},
	year = {1999},
	type = {Conference},
	author = {Briand, Lionel and W{\"u}st, J. and Lounis, H.}
}
@inproceedings {Simula.SE.77,
	title = {Using Simulation for Assessing the Real Impact of Test Coverage on Defect Coverage},
	journal = {IEEE International Symposium on Software Reliability Engineering (ISSRE)},
	year = {1999},
	publisher = {Publisher},
	type = {Conference},
	abstract = {The use of test coverage measures (e.g., block coverage) to control the software test process has become an increasingly common practice. This is justified by the assumption that higher test coverage helps achieve higher defect coverage and therefore improves software quality. In practice, data often shows that defect coverage and test coverage grow over time, as additional testing is performed. However, it is unclear whether this phenomenon of concurrent growth can be attributed to a causal dependency, or if it is coincidental, simply due to the cumulative nature of both measures. Answering such a question is important as it determines whether a given test coverage measure should be monitored for quality control and used to drive testing. Although this is no general answer to the problem above, we propose a procedure to investigate whether any test coverage criterion has a genuine additional impact on defect coverage when compared to the impact of just running additional test cases. This procedure is applicable in typical testing conditions where the software is tested once, according to a given strategy, and where coverage measures are collected as well as defect data. We then test the procedure on published data and compare our results with the original findings. The study outcomes do not support the assumption of a causal dependency between test coverage and defect coverage, a result for which several plausible explanations are provided.},
	isbn = {0-7695-0443-4},
	author = {Briand, Lionel and Pfahl, Dietmar}
}
@inproceedings {Simula.SE.86,
	title = {A Case Study in Productivity Benchmarking: Methods and Lessons Learned},
	journal = {European Software Cost Estimation and Measurement (ESCOM)},
	year = {1998},
	publisher = {Publisher},
	type = {Conference},
	isbn = {0000000000},
	author = {Briand, Lionel and Emam, El and Wieczorek, I.}
}
@inproceedings {Simula.SE.83,
	title = {COMPARE: a Comprehensive Framework for Architecture Evaluation},
	journal = {European Conference on Object-Oriented Programming (ECOOP), Workshop on Software Architectures},
	year = {1998},
	publisher = {Publisher},
	type = {Workshop},
	isbn = {0000000000},
	author = {Briand, Lionel and Carriere, J. and Kazman, R. and W{\"u}st, J.}
}
@inproceedings {Simula.SE.89,
	title = {A Comparison and Integration of Capture-Recapture Models and the Detection Profile Method},
	journal = {IEEE International Symposium on Software Reliability Engineering (ISSRE)},
	year = {1998},
	publisher = {Publisher},
	type = {Conference},
	isbn = {0000000000},
	author = {Briand, Lionel and Emam, El and Freimut, Bernd}
}
@inproceedings {Simula.SE.84,
	title = {A Comprehensive Empirical Validation of Product Measures for Object-Oriented Systems},
	journal = {IEEE METRICS Symposium},
	year = {1998},
	publisher = {Publisher},
	type = {Conference},
	isbn = {0000000000},
	author = {Briand, Lionel and Daly, J. and Porter, V. and W{\"u}st, J.}
}
@inproceedings {Simula.SE.88,
	title = {A Hybrid Method for Software Cost Estimation and Risk Assessment},
	journal = {IEEE International Conference on Software Engineering (ICSE)},
	year = {1998},
	publisher = {Publisher},
	type = {Conference},
	isbn = {0000000000},
	author = {Briand, Lionel and Emam, El and Bomarius, Frank}
}
@inproceedings {Simula.SE.85,
	title = {Predicting Fault-Prone Classes Based on Design Measures in Object-Oriented Systems},
	journal = {IEEE International Symposium on Software Reliability Engineering (ISSRE)},
	year = {1998},
	publisher = {Publisher},
	type = {Conference},
	isbn = {0000000000},
	author = {Briand, Lionel and Daly, J. and Porter, V. and W{\"u}st, J.}
}
@article {Simula.SE.44,
	title = {Q\_MOPP: Qualitative Evaluation of Maintenance Organizations, Processes, and Products},
	journal = {Journal of Software Maintenance and Evolution: Research and Practice},
	volume = {10},
	number = {4},
	year = {1998},
	author = {Briand, Lionel and Kim, Y. and Melo, W. and Seaman, C. and Basili, Victor}
}
@inproceedings {Simula.SE.82,
	title = {Quality Assurance Technologies for the EURO Conversion - Industrial Experience at Allianz Life Assurance},
	journal = {Quality Week Europe},
	year = {1998},
	publisher = {Publisher},
	type = {1},
	isbn = {0000000000},
	author = {Briand, Lionel and Freimut, Bernd and Laitenberger, O. and Ruhe, G. and Klein, B.}
}
@article {Simula.SE.45,
	title = {Requirements for the Knowledge-Based Support of Software Engineering Measurement Plans},
	journal = {Journal of Knowledge-Based Systems},
	volume = {11},
	number = {2},
	year = {1998},
	pages = {Pages 125-143},
	author = {Briand, Lionel and Gresse, C.}
}
@article {Simula.SE.46,
	title = {A Unified Framework for Cohesion Measurement in Object-Oriented Systems},
	journal = {Empirical Software Engineering},
	volume = {3},
	number = {1},
	year = {1998},
	author = {Briand, Lionel and Daly, J. and W{\"u}st, J.}
}
@inproceedings {Simula.SE.87,
	title = {Using Simulation to Build Inspection Efficiency Benchmarks for Development Projects},
	journal = {IEEE International Conference on Software Engineering (ICSE)},
	year = {1998},
	publisher = {Publisher},
	type = {Conference},
	isbn = {0000000000},
	author = {Briand, Lionel and Emam, El and Laitenberger, O. and Fussbroich, T.}
}
@article {Simula.SE.47,
	title = {Assessor Agreement in Rating SPICE Processes},
	journal = {Software Process: Improvement and Practice},
	volume = {2},
	number = {4},
	year = {1997},
	author = {Briand, Lionel and Emam, El and Smith, R.}
}
@article {Simula.SE.48,
	title = {An Experimental Comparison of the Maintainability of Object-Oriented and Structured Design Documents},
	journal = {Empirical Software Engineering},
	volume = {2},
	number = {3},
	year = {1997},
	author = {Briand, Lionel and Bunse, Christian and Daly, J. and Differding, C.}
}
@inproceedings {Simula.SE.95,
	title = {An Experimental Comparison of the Maintainability of Object-Oriented and Structured Design Documents},
	journal = {International Conference on Software Maintenance (ICSM)},
	year = {1997},
	publisher = {Publisher},
	type = {Conference},
	isbn = {0000000000},
	author = {Briand, Lionel and Bunse, Christian and Daly, J. and Differding, C.}
}
@inproceedings {Simula.SE.96,
	title = {An Experimental Evaluation of Quality Guidelines on the Maintainability of Object-Oriented Design Documents},
	journal = {Empirical Studies of Programmers (ESP)},
	year = {1997},
	publisher = {Publisher},
	type = {Conference},
	isbn = {0000000000},
	author = {Briand, Lionel and Bunse, Christian and Daly, J.}
}
@inproceedings {Simula.SE.93,
	title = {An Investigation Into Coupling Measures for C++},
	journal = {IEEE International Conference on Software Engineering (ICSE)},
	year = {1997},
	publisher = {Publisher},
	type = {Conference},
	isbn = {0000000000},
	author = {Briand, Lionel and Devanbu, P. and Melo, W.}
}
@inproceedings {Simula.SE.92,
	title = {Quantitative Evaluation of Capture-Recapture Models to Control Software Inspections},
	journal = {IEEE International Symposium on Software Reliability Engineering (ISSRE)},
	year = {1997},
	publisher = {Publisher},
	type = {Conference},
	isbn = {0000000000},
	author = {Briand, Lionel and Emam, El and Freimut, Bernd and Laitenberger, O.}
}
@inproceedings {Simula.SE.90,
	title = {Requirements for the Knowledge-Based Support of Software Engineering Measurement Plans},
	journal = {IEEE Software Engineering and Knowledge Engineering Conference (SEKE)},
	year = {1997},
	publisher = {Publisher},
	type = {Conference},
	isbn = {0000000000},
	author = {Briand, Lionel and Gresse, C.}
}
@inproceedings {Simula.SE.91,
	title = {Software Measurement and Formal Methods: a Case Study Centered on TRIO+ Specifications},
	journal = {IEEE International Conference on Formal Engineering Methods (ICFEM)},
	year = {1997},
	publisher = {Publisher},
	type = {Conference},
	isbn = {0000000000},
	author = {Briand, Lionel and Morasca, S.}
}
@inproceedings {Simula.SE.94,
	title = {A Unified Framework for Cohesion Measurement},
	journal = {IEEE METRICS Symposium},
	year = {1997},
	publisher = {Publisher},
	type = {Conference},
	isbn = {0000000000},
	author = {Briand, Lionel and Daly, J. and W{\"u}st, J.}
}
@article {Simula.SE.51,
	title = {On the Application of Measurement Theory to Software Engineering},
	journal = {Empirical Software Engineering},
	volume = {1},
	number = {1},
	year = {1996},
	author = {Briand, Lionel and Emam, El and Morasca, S.}
}
@article {Simula.SE.109,
	title = {Measuring the Impact of Reuse on Quality and Productivity in Object- Oriented Systems},
	journal = {Communications of the ACM},
	year = {1996},
	author = {Briand, Lionel and Basili, Victor and Melo, W.}
}
@inproceedings {Simula.SE.97,
	title = {Practical Guidelines for Measurement-Based Process Improvement},
	journal = {ISCN{\textquoteright}96},
	year = {1996},
	publisher = {Publisher},
	type = {Conference},
	isbn = {0000000000},
	author = {Briand, Lionel and Differding, C. and Rombach, D.}
}
@article {Simula.SE.49,
	title = {Practical Guidelines for Measurement-Based Process Improvement},
	journal = {Software Process: Improvement and Practice},
	volume = {2},
	number = {4},
	year = {1996},
	author = {Briand, Lionel and Differding, C. and Rombach, D.}
}
@article {Simula.SE.52,
	title = {Property-Based Software Engineering Measurement},
	journal = {IEEE Transactions on Software Engineering},
	volume = {22},
	number = {1},
	year = {1996},
	author = {Briand, Lionel and Morasca, S. and Basili, Victor}
}
@inproceedings {Simula.SE.98,
	title = {Understanding and Predicting the Process of Software Maintenance Releases},
	journal = {IEEE International Conference on Software Engineering (ICSE)},
	year = {1996},
	publisher = {Publisher},
	type = {Conference},
	isbn = {0000000000},
	author = {Briand, Lionel and Basili, Victor and Condon, S. and Melo, W. and Valett, J.}
}
@article {Simula.SE.50,
	title = {A Validation of Object-Oriented Design Metrics As Quality Indicators},
	journal = {IEEE Transactions on Software Engineering},
	volume = {22},
	number = {10},
	year = {1996},
	author = {Briand, Lionel and Basili, Victor and Melo, W.}
}
@inproceedings {Simula.SE.99,
	title = {ANSI: an Inductive Method for Process Improvement: Concrete Steps and Guidelines},
	journal = {ESI-ISCN{\textquoteright}95},
	year = {1995},
	publisher = {Publisher},
	type = {Conference},
	isbn = {0000000000},
	author = {Briand, Lionel and Emam, El and Melo, W.}
}
@inproceedings {Simula.SE.100,
	title = {Characterizing and Assessing a Large-Scale Software Maintenance Organization},
	journal = {IEEE International Conference on Software Engineering (ICSE)},
	year = {1995},
	publisher = {Publisher},
	type = {Conference},
	isbn = {0000000000},
	author = {Briand, Lionel and Melo, W. and Seaman, C. and Basili, Victor}
}
@inproceedings {Simula.SE.101,
	title = {A Change Causal Analysis Process to Characterize Software Maintenance Projects},
	journal = {IEEE International Conference on Software Maintenance (ICSM)},
	year = {1994},
	publisher = {Publisher},
	type = {Conference},
	isbn = {0000000000},
	author = {Briand, Lionel and Basili, Victor and Kim, Y. and Squier, D.}
}
@inproceedings {Simula.SE.102,
	title = {METRIX: a Tool for Software Risk Analysis and Management},
	journal = {Annual Reliability and Maintainability Symposium},
	year = {1994},
	publisher = {Publisher},
	type = {Conference},
	isbn = {0000000000},
	author = {Briand, Lionel and Gayet, B.}
}
@inproceedings {Simula.SE.103,
	title = {Assessing Software Maintainability at the End of High-Level Design},
	journal = {IEEE Conference on Software Maintenance (ICSM)},
	year = {1993},
	publisher = {Publisher},
	type = {Conference},
	isbn = {0000000000},
	author = {Briand, Lionel and Morasca, S. and Basili, Victor}
}
@article {Simula.SE.53,
	title = {Developing Interpretable Models With Optimized Set Reduction for Identifying High Risk Software Components},
	journal = {IEEE Transactions on Software Engineering},
	volume = {19},
	number = {11},
	year = {1993},
	author = {Briand, Lionel and Basili, Victor and Hetmanski, C.}
}
@inproceedings {Simula.SE.104,
	title = {Modeling and Managing Risk Early in Software Development},
	journal = {IEEE International Conference on Software Engineering (ICSE)},
	year = {1993},
	publisher = {Publisher},
	type = {Conference},
	isbn = {0000000000},
	author = {Briand, Lionel and Thomas, W. and Hetmanski, C.}
}
@inproceedings {Simula.SE.107,
	title = {An Alternative Approach for Predicting Error Profiles in Ada Systems},
	journal = {European Conference on Quantitative Evaluation of Software and Systems},
	year = {1992},
	publisher = {Publisher},
	type = {Conference},
	isbn = {0000000000},
	author = {Briand, Lionel and Porter, A.}
}
@inproceedings {Simula.SE.105,
	title = {A Classification Procedure for an Effective Management of Changes During the Software Maintenance Process},
	journal = {IEEE International Conference on Software Maintenance (ICSM)},
	year = {1992},
	publisher = {Publisher},
	type = {Conference},
	isbn = {0000000000},
	author = {Briand, Lionel and Basili, Victor}
}
@article {Simula.SE.54,
	title = {A Pattern Recognition Approach for Software Engineering Data Analysis},
	journal = {IEEE Transactions on Software Engineering},
	volume = {18},
	number = {11},
	year = {1992},
	author = {Briand, Lionel and Basili, Victor and Thomas, W.}
}
@inproceedings {Simula.SE.106,
	title = {Providing an Empirical Basis to Software Testing and Verification},
	journal = {IEEE International Symposium on Software Reliability Engineering (ISSRE)},
	year = {1992},
	publisher = {Publisher},
	type = {Conference},
	isbn = {0000000000},
	author = {Briand, Lionel and Basili, Victor and Hetmanski, C.}
}
