• Nie Znaleziono Wyników

Software Engineering from Research and Practice Perspectives

N/A
N/A
Protected

Academic year: 2022

Share "Software Engineering from Research and Practice Perspectives"

Copied!
200
0
0

Pełen tekst

(1)

Software Engineering

from Research and Practice Perspectives

Scientific Editors

Lech Madeyski

Mirosław Ochodek

(2)

the Polish Information Processing Society:

IX edition of the Congress of Young IT Scientists XVI edition of the Polish Conference on Software Engineering

XXI edition of Real Time Systems

and co-organized by the Wielkopolska Branch of PIPS

XVIII edition of Signal Processing

were supported

by the Ministry of Science and Higher Education

within the program related to the implementation of tasks of science dissemination

(Decision No. 1187/P-DUN/2014 on 07/07/2014)

(3)

Polish Information Processing Society

Software Engineering

from Research and Practice Perspectives

Scientific Editors Lech Madeyski Mirosław Ochodek

Poznan-Warsaw 2014

(4)

Scientific Council

prof. dr hab. Zdzisław Szyjewski – Chairman dr hab. prof. PWr Zygmunt Mazur – Vice-Chairman dr hab. inż. prof. PG Cezary Orłowski – Vice-Chairman

dr hab. Jakub Swacha – Secretary prof. dr hab. Zbigniew Huzar prof. dr hab. Janusz Kacprzyk prof. dr hab. inż. Marian Noga prof. dr hab. inż. Ryszard Tadeusiewicz dr hab. prof. WWSZiP Tadeusz Gospodarek dr hab. prof. UE in Wroclaw Leszek A. Maciaszek

dr hab. inż. Lech Madeyski dr hab. Zenon A. Sosnowski

dr inż. Adrian Kapczyński dr inż. Andrzej Romanowski

dr inż. Marek Valenta

(5)

Authors

Dirk Riehle – CHAPTER 1 Miklós Biró – CHAPTER 2

Jakub Jurkiewicz, Piotr Kosiuczenko, Lech Madeyski, Mirosław Ochodek, Cezary Orłowski, Łukasz Radliński – CHAPTER 3

Marek Majchrzak, Łukasz Stilger, Marek Matczak – CHAPTER 4 Tomasz Sitek, Artur Ziółkowski – CHAPTER 5

Robert Waszkowski – CHAPTER 6

Jerzy Niepostyn, Andrzej Tyrowicz – CHAPTER 7 Łukasz Radliński – CHAPTER 8

Bogumiła Hnattkowska, Łukasz Wrona – CHAPTER 9 Andrzej Ratkowski, Krzysztof Gawryś, Eliza Świątek – CHAPTER 10

Ilona Bluemke, Anna Stępień – CHAPTER 11 Michał Ćmil. Bartosz Walter – CHAPTER 12 Wojciech Frącz, Jacek Dajda – CHAPTER 13

Reviewers

Bartosz Alchimowicz, Piotr Czapiewski, Włodzimierz Dąbrowski, Iwona Dubielewicz, Bogumiła Hnatkowska, Jarosław Hryszko, Aleksander Jarzębowicz, Krzysztof Juszczyszyn, Sylwia Kopczyńska, Leszek Maciaszak, Michał Maćkowiak, Marek Majchrzak, Roland Manglus,

Piotr Miklosik, Karolina Muszyńska, Michał Negacz, Mirosław Ochodek, Cezary Orłowski, Willy Picard, Łukasz Radliński, Jakub Rojek, Martin Shepperd, Michał Śmiałek, Janusz Sobecki, Mirosław Staron, Andrzej Stasiak, Wojciech Thomas, Lech Tuzinkiewicz, Tomasz Wala,

Anita Walkowiak, Bartosz Walter, Jacek Widuch, Łukasz Wrona Scientific Editors

Lech Madeyski Mirosław Ochodek

Copyright © by The Polish Information Processing Society Poznan-Warsaw 2014

ISBN 978-83-63919-16-0

Edition I

NAKOM Publishers, Starołęcka St. 18A, room 303, 61-361 Poznan, Poland

(6)
(7)

Table of Contents

Preface 9

Dirk Riehle, Miklós Biró 11

1. Recent Polish achievements in Software Engineering 15

Part I – Project Management 39

2. Working with Agile in a Distributed Environment 41 3. Management of IT project experiences on the basis of SOEKS 55

Part II – Requirements Engineering 71

4. Functional Safety, Traceability, and Open Services 73 5. The Sufficient Criteria for Consistent Modeling From the Con-

text Diagram to the Business Use Case Diagrams Driven By Consistency Rules

83

6. How software development factors influence user satisfaction in meeting business objectives and requirements?

101

Part III – Software Architecture and Design 121 7. Comparison of selected ESBs on the base of ISO standards 123 8. Architectural Patterns Applied in Internet of Things 133 9. DCI implementation in C++ and JAVA – case study 153

Part IV – Software Quality 165

10 E2A – An Extensible Evolution Analyzer for Software Reposito- ries

167

11 Can the source code be reviewed on a smartphone? 179

Authors and affiliations 197

(8)
(9)

Preface

Software Engineering is a relatively young engineering discipline. The term was coined during the NATO conference held in 1968 in Garmish, Germany. In fact, the composition of two words ``software'' and ``engineering'' was rather provocative at that time, because the young software development industry was going through difficult times – also known as the ``software crisis''. When com- puters became more popular and software development went from scientific laboratories to massive production, it became obvious that without systematic, well founded ``engineering" methods, development of complex software sys- tems would remain extremely difficult and risky business.

The IEEE Computer Society defines software engineering as: ``(1) The ap- plication of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. (2) The study of approaches as in (1)." Thus, one could use the term software engineer either to refer to a person who professionally delivers soft- ware systems or to one who investigates phenomena related to software devel- opment – which seems natural to academia. In fact, the currently promoted agile software development methods show that effective software development or- ganizations require both – practical skills of their employees and the ability to critically look at existing problems to continuously grow. Such thinking creates a unique opportunity for closer collaboration between practitioners and re- searches. However, before that could happen, both – engineers and researchers need to better understand each other’s views on software development.

In this book, we asked practitioners and researchers to share their thoughts on chosen problems related to software development. We would like to begin the book by presenting selected, valuable results of research in the area of Soft- ware Engineering. Firstly, we would like to present two internationally recog- nized researchers – Dirk Riehle from the Friedrich-Alexander University of Erlangen-Nürnberg and Miklós Biró representing Software Competence Center Hagenberg, who changed the way we perceive Open Source and Software Pro- cess Improvement. Secondly, in Chapter 1, we discuss recent, prominent re- search in the area of Software Engineering conducted by researchers from the Polish research institutions. The rest of the book is organized into four parts:

project management; requirements engineering; software architecture and de- sign; and software quality.

(10)

In the first part of the book, the contributing authors discuss problems related to project management. In Chapter 2, the practitioners from Capgemini Poland share their practical experience from conducting projects in distributed envi- ronment using agile methodologies. In Chapter 3, the researchers from Gdansk University of Technology discus the possibility of supporting decision-making in IT projects.

In the second part of the book, different aspects of requirements engineering are discussed. In Chapter 4, Miklós Biró from Software Competence Center Hagenberg gives a brief overview of standard approaches to functional safety with examples from the medical domain. The following Chapter 5 was contrib- uted by the authors combining perspectives – research (Warsaw University of Technology) and practice (Agencja Europejska). They discuss problems related to preserving consistency between semi-formal diagrams such as context dia- grams and use-case diagrams. Finally, in Chapter 6, Łukasz Radliński, from West Pomeranian University of Technology investigates the factors that seem to influence user satisfaction in meeting business objectives and requirements.

The third part of the book is dedicated to software architecture and design. In Chapter 7, the researchers from Wroclaw University of Technology evaluate and compare three popular Enterprise Service Buses (ESB), based on the ISO 9126 standard. In Chapter 8, a group of researchers from Warsaw University of Technology discusses potential applications of architectural patterns to some of the emerging problems in so-called Internet of Things. In Chapter 9, the re- searchers from Warsaw University of Technology give advices on how to effi- ciently implement Data, Context and Interaction architectural pattern (DCI) in Java and C++ programming languages.

The last part of the book discusses problems related to software quality. In Chapter 10, two researchers from Poznan University of Technology present their extensible software tool E2A that allows defining and collecting software metrics. Finally, in Chapter 11, two authors from AGH University of Science and Technology present a promising approach to perform source code reviews on mobile devices.

Finally, we would like to express our deep gratitude towards the authors of chapters for their contributions and to the reviewers for their valuable remarks.

Lech Madeyski Mirosław Ochodek

(11)

Dirk Riehle

Prof. Dr. Dirk Riehle is the Professor for Open Source Software at the Frie- drich-Alexander University of Erlangen-Nürnberg. Before joining academia, Riehle led the Open Source Research Group at SAP Labs, LLC, in Palo Alto, California (Silicon Valley). Before this, he was the co-founder of an on-demand business software startup in Berlin, Germany, which used agile methods and strategically employed open source software. Riehle is interested in open source software engineering and agile methods, complexity science and human collab- oration, as well as software design. Prof. Riehle holds a Ph.D. in computer sci- ence from ETH Zürich and an M.B.A. from Stanford Business School.

In more detail: Riehle’s dissertation at ETH Zurich on object-oriented frameworks and design patterns explored the use of collaboration-based design (then called role modeling) to reduce complexity in the engineering of object- oriented software systems. It emphasized the use of design patterns in frame- work design and construction. He also translated the seminal Design Patterns book into German, all while employed at UBS’ Ubilab, a Zurich-based industri- al research lab, during the late 1990s. From 1999 to 2002, Riehle lead the de- sign and implementation of the first UML virtual machine while employed at Skyva, a Boston-based software startup. The UML VM interpreted UML mod- els as programs and made it faster, better, and cheaper to develop business ap- plications. UML was treated as a framework for domain-specific languages for different aspects of business modeling. Skyva was acquired by ABB. After re- ceiving an M.B.A. from Stanford Business School, Riehle co-founded a soft- ware startup in Berlin, Germany that provided on-demand software (SaaS) to small businesses. In 2006, he moved back to the United States to work for SAP in the Silicon Valley, where he was the principal investigator of open source and Web 2.0 applications research. In 2009 he moved to Germany for his cur- rent position as a professor at the University of Erlangen.

Riehle has published in leading journals and conferences, including the CACM, Computer, IEEE Software, OOPSLA, ICSE, and OSS. His publication record comprises more than 50 peer-reviewed and well-cited academic papers.

He is serving on the editorial boards of TPLoP, IJOSSP and IJODE and he has been a reviewer for many leading journals, transactions, and conferences on object orientation and software engineering, including ACM TOSEM, IEEE TSE, OOPSLA, ECOOP, and OSS. He is the founder and chairman of the steer- ing committee of the International Symposium on Wikis and Open Collabora- tion conference series and a founding member of the steering committee of the Onward! conference series. He is a member emeritus of the board and prior

(12)

treasurer of the Hillside Group, the U.S.-based non-profit behind the software patterns community. He is a frequent speaker at academic conferences and col- loquia and industry events alike.

Prof. Dr. Dirk Riehle is also frequently invited as a keynote speaker at rec- ognized conferences, workshops, and seminars. Below, we present two selected abstracts of his research talks regarding Open Source.

Sustainable Open Source

KKIO’14 Software Engineering Conference

2014 BITKOM Forum “Future of Open Source”

Research Seminar at Victoria University of Wellington, New Zealand, 2012

Abstract: MySQL was sold for one billion US-dollar. Red Hat is worth a multi- ple of that. The Eclipse Foundation has pushed many software tool vendors out of business. How come that open source, a phenomenon dubbed “temporary”

not only has become sustainable but the business strategy of choice? In this talk, I discuss the four main business models, two for-profit and two not-for-profit, that have made open source sustainable. These models are changing the busi- ness of software and the future of our industry.

Best of Our Empirical Open Source Research

39th International Conference on Current Trends in Theory and Practice of Computer Science, SOFSEM 2013

Research Seminar at Victoria University of Wellington, New Zealand, 2012

Abstract: Open source software is publicly developed software. Thus, for the first time, we can broadly analyze in data-driven detail how people program, how bugs come about, and how we could improve our tools. In this talk, I’ll review six years of our open source empirical (data) research and highlight the most interesting insights, including how different (or not) open source is from closed source programming.

(13)

Miklós Biró

Dr. Miklós Biró is Key Researcher and Scientific Head of the Process and Quality Engineering Research Focus at Software Competence Center Ha- genberg GmbH (SCCH, Austria), Full Professor (Ordentlicher Hochschulpro- fessor in German) nominated by the prime minister of Hungary, Doctor Habili- tatus (Corvinus University of Budapest) with software engineering, university teaching (including professorship in the USA), research, and management expe- rience.

Ph.D. in Mathematics (Loránd Eötvös University in Budapest), Master of Science in Management (Purdue University, USA). Fluent in Hungarian, Eng- lish, and French. Initiating and managing role in numerous European projects.

Author of Hungarian and English language books and publications.

Founding president of the professional division for Software Quality Man- agement of the John von Neumann Computer Society, Hungarian national rep- resentative in IFIP TC-2 Software: Theory and Practice. Chair of professional conferences, member of programme committees and journal editorial board.

Dr. Miklós Biró contributed to the book as an author of Chapter 4, entitled

“Functional safety, traceability, and Open Services.”

(14)
(15)

PART I

PROJECT MANAGEMENT

(16)
(17)

Chapter 1

Recent Polish achievements in Software Engineering

Publications in top research journals (indexed by ISI) as well as citations are crucial in any research field to position the work and to build on the work of others. The objective of this chapter is twofold:

to give an overview of the achievements of Polish research centers in the field of software engineer- ing since 2010, and to present few recent contributions by researchers with Polish affiliations in ISI journals in the field of software engineering or closely related fields.

1.1. Introduction

Glass was the first who two decades ago published an assessment of systems and software engineering scholars and institutions [Gla94]. The set of journals selected by Glass included IEEE Transactions on Software Engineering (TSE), ACM Transactions on Software Engineering and Methodologies(TOSEM), IEEE Software(SW), Information and Software Technology (IST), Journal of Systems and Software(JSS), and Software: Practice and Experience (SPE). In 2009 Wong et al. [WTGBC09] have analyzed publications in the period of 2002–2006 using this set of journals extended by the Empirical Software Engineering (EMSE) jour- nal to emphasize the importance of strong empirical component. The most recent report by Wong et al. was published in 2011 [WTGBC11].

A complementary series of analyses of the most cited articles in the software engineering journals has been published by Wohlin. The most recent of analyses was published in 2009 on a basis of 18 software engineering journals [Woh09].

However, to the best of our knowledge, neither similar analyses but related to Polish research institutions or researchers involved in the software engineer- ing field, nor an overview of selected of contributions by researchers with Polish affiliations in ISI software engineering (or closely related) journals have been pub- lished so far. Hence, the aim of this chapter is to fill this gap.

The aim of the first section is to give an overview of the contribution of re- searchers with Polish affiliations in comparison to other European countries. The aim of the subsequent sections is to go into details and present short overviews of selected contributions of Polish authors published by ISI indexed journals within the software engineering field or computer science in general. The presented con- tributions include identification of events in use cases, solving the invariability problem in OCL, predicting the flow of defect correction effort to optimize the

(18)

amount of quality assurance (QA) activities to minimize the total project effort, and model of a maturity capsule in software project management.

1.1.1. Selection decisions

An important decision when looking at Polish contributions to the field of software engineering is which ISI software engineering journals to include. We decided to include in the analyzed set of journals all of the software engineering journals analyzed by Wong et al. [WTGBC11] as well as Wohlin [Woh09], even if they changed their names (e.g., Journal of Software: Evolution and Process continues, since 2012, the tradition of the Journal of Software Maintenance and Evolution: Research and Practiceand Software Process: Improvements and Prac- tice, while IET Software continues, since 2007, the tradition of IEE Proceedings - Software). Then from the created superset of journals we excluded journals which are discontinued (Annals of Software Engineering, Software Architecture, Soft- ware – Concepts and Tools) or journals without impact factor in 2013. In spite of the fact that the created our set of journals based on the inclusion decisions of the renowned authors of previous analyses – Wong et al. [WTGBC11] and Wohlin [Woh09] – and minor constraints related to impact factor in year 2013, the created set of journals is by no means complete and can be extended even further.

Our arbitrary decision is to extend the set of journals by adding the Software and Systems Modelingjournal, which is strictly software engineering journal with as- signed impact factor. There is also a wide range of computer science journals (e.g., Computing and Informatics, Cybernetics and Systems: An International Journal) which could be included on a paper by paper basis as some of them may be re- lated to software engineering. However, it would need an extreme effort to check every published paper. As a result, the set of the analyzed journals is presented in Table 1.1.

All of these journals are indexed by Scopus, which provides an excellent search interface including ability to construct advanced search strings. The search string we used to constrain our search to the papers by authors with Polish af- filiation published since 2010 in the aforementioned set of journals is presented below:

( ISSN(1049331X) OR ISSN(09288910) OR ISSN(13823256) OR ISSN(17518806) OR ISSN(07407459) OR ISSN(00985589) OR ISSN(09505849) OR ISSN(02181940) OR ISSN(1532060X) OR ISSN(09473602) OR ISSN(20477481) OR ISSN(09639314) OR ISSN(09600833) OR ISSN(00380644) OR ISSN(01641212) OR ISSN(16191366)) AND AFFIL(poland) AND (PUBYEAR > 2009)

(19)

Recent Polish achievements in Software Engineering 17 Table 1.1. Set of analyzed software engineering journals.

ACM Transactions on Software Engineering and Methodology (TOSEM) Automated Software Engineering (ASE)

Empirical Software Engineering (EMSE) IET Software (IETSW)

IEEE Software (SW)

IEEE Transactions on Software Engineering (TSE) Information and Software Technology (IST)

International Journal of Software Engineering and Knowledge Engineering (IJSEKE) Journal of Software: Evolution and Process (JSEP)

Journal of Software Maintenance and Evolution: Research and Practice (JSME) Requirements Engineering Journal (REJ)

Software and Systems Modeling (SoSyM) Software Quality Journal (SQJ)

Software Testing, Verification and Reliability (STVR) Software: Practice and Experience (SPE)

Journal of Systems and Software (JSS)

1.1.2. Search results

The search performed on 14 September 2014 returned 28 document results (sorted by number of citations):

1. L. Madeyski. “The impact of test-first programming on branch coverage and mutation score indicator of unit tests: An experiment”. In: Information and Software Technology 52.2 (2010), pp. 169–184. DOI: 10.1016/ j.infsof.2009.08.007. URL: http:// dx.doi.org/ 10.1016/ j.infsof.

2009.08.007– 19 citations

2. M. Ochodek, J. Nawrocki, and K. Kwarciak. “Simplifying Effort Estimation Based on Use Case Points”. In: Information and Software Technology 53.3 (Mar. 2011), pp. 200–213.ISSN: 0950-5849.DOI: 10.1016/ j.infsof.2010.10.005.URL: http:// dx.doi.org/ 10.1016/ j.infsof.2010.

10.005– 16 citations

3. L. Madeyski and N. Radyk. “Judy – A Mutation Testing Tool for Java”. In: IET Software Jour- nal (formerly IEE Proceedings Software)4.1 (2010). Draft: http:// madeyski.e- informatyka.

pl / download / Madeyski10b. pdf, pp. 32–42. DOI: 10.1049/ iet- sen.2008.0038. URL: http:

// dx.doi.org/ 10.1049/ iet-sen.2008.0038– 16 citations

4. A. Janik and K. Zielinski. “AAOP-based Dynamically Reconfigurable Monitoring System”.

In: Information and Software Technology 52.4 (Apr. 2010), pp. 380–396. ISSN: 0950-5849.

DOI: 10.1016/ j.infsof.2009.10.006.URL: http:// dx.doi.org/ 10.1016/ j.infsof.2009.10.006 – 15 citations

5. G. J. Nalepa and K. Kluza. “UML REPRESENTATION FOR

RULE-BASED APPLICATION MODELS WITH XTT2-BASED BUSINESS RULES”. in: In- ternational Journal of Software Engineering and Knowledge Engineering22.04 (2012), pp. 485–

524.DOI: 10.1142/ S021819401250012X.URL: http:// www.worldscientific.com/ doi/ abs/ 10.

1142/ S021819401250012X– 10 citations

6. M. Miłkowski. “Developing an Open-source, Rule-based Proofreading Tool”. In: Software:

(20)

Practice and Experience40.7 (June 2010), pp. 543–566.ISSN: 0038-0644.DOI: 10.1002/ spe.

v40:7.URL: http:// dx.doi.org/ 10.1002/ spe.v40:7 – 10 citations 7. A. Janik and K. Zielinski. “Adaptability Mechanisms for

Autonomic System Implementation with AAOP”. in: Software: Practice and Experience 40.3 (Mar. 2010), pp. 209–223.ISSN: 0038-0644.DOI: 10.1002/ spe.v40:3.URL: http:// dx.doi.org/

10.1002/ spe.v40:3– 4 citations

8. P. Bachara, K. Blachnicki, and K. Zielinski. “Framework for Application Management with Dynamic Aspects J-EARS Case Study”. In: Information and Software Technology 52.1 (Jan.

2010), pp. 67–78. ISSN: 0950-5849. DOI: 10 . 1016 / j . infsof . 2009 . 06 . 003. URL: http : // dx.doi.org/ 10.1016/ j.infsof.2009.06.003– 4 citations

9. J. Floch et al. “A Comprehensive Engineering Framework for Guaranteeing Component Com- patibility”. In: Journal of Systems and Software 83.10 (Oct. 2010), pp. 1759–1779. ISSN: 0164-1212.DOI: 10.1016/ j.jss.2010.04.075. URL: http:// dx.doi.org/ 10.1016/ j.jss.2010.04.

075– 3 citations

10. S. Deorowicz. “Solving Longest Common Subsequence and Related Problems on Graphical Processing Units”. In: Software: Practice and Experience 40.8 (2010), pp. 673–700. ISSN: 0038-0644.DOI: 10.1002/ spe.v40:8.URL: http:// dx.doi.org/ 10.1002/ spe.v40:8 – 3 citations 11. A. Zalewski and S. Kijas. “Beyond ATAM: Early Architecture Evaluation Method for

Large-scale Distributed Systems”. In: Journal of Systems and Software 86.3 (Mar. 2013), pp. 683–697.ISSN: 0164-1212.DOI: 10.1016/ j.jss.2012.10.923. URL: http:// dx.doi.org/ 10.

1016/ j.jss.2012.10.923– 2 citations

12. K. Łukasiewicz and J. Miler. “Improving agility and discipline of software development with the Scrum and CMMI”. in: Software, IET 6.5 (2012), pp. 416–422. ISSN: 1751-8806. DOI: 10.1049/ iet-sen.2011.0193– 2 citations

13. M. Janicki, M. Katara, and T. Pääkkönen. “Obstacles and Opportunities in Deploying Model-based GUI Testing of Mobile Software: A Survey”. In: Software Testing, Verification and Reliability22.5 (Aug. 2012), pp. 313–341. ISSN: 0960-0833. DOI: 10 . 1002 / stvr. 460.

URL: http:// dx.doi.org/ 10.1002/ stvr.460 – 2 citations

14. M. Ochodek, B. Alchimowicz, J. Jurkiewicz, and J. Nawrocki. “Improving the Reliability of Transaction Identification in Use Cases”. In: Information and Software Technology 53.8 (2011), pp. 885–897. ISSN: 0950-5849. DOI: 10 . 1016 / j . infsof . 2011 . 02 . 004. URL: http : // dx.doi.org/ 10.1016/ j.infsof.2011.02.004– 2 citations

15. R. Hofman. “Behavioral Economics in Software Quality Engineering”. In: Empirical Software Engineering16.2 (Apr. 2011), pp. 278–293. ISSN: 1382-3256. DOI: 10.1007/ s10664- 010- 9140-x.URL: http:// dx.doi.org/ 10.1007/ s10664-010-9140-x – 2 citations

16. J. Jurkiewicz, J. Nawrocki, M. Ochodek, and T. Głowacki. “HAZOP based identification of events in use cases”. English. In: Empirical Software Engineering (2013), pp. 1–28. ISSN: 1382-3256.DOI: 10.1007/ s10664-013-9277-5.URL: http:// dx.doi.org/ 10.1007/ s10664-013- 9277-5– 1 citation

17. A. Riel, A. Draghici, G. Draghici, D. Grajewski, and R. Messnarz. “Process and product inno- vation needs integrated engineering collaboration skills”. In: Journal of Software: Evolution and Process24.5 (2012), pp. 551–560. ISSN: 2047-7481. DOI: 10 . 1002 / smr. 497. URL: http:// dx.doi.org/ 10.1002/ smr.497– 1 citation

18. P. Janczarek and J. Sosnowski. “Investigating software testing and maintenance reports: Case study”. In: Information and Software Technology 0 (2014), pp. –. ISSN: 0950-5849. DOI:

(21)

Recent Polish achievements in Software Engineering 19

http:// dx.doi.org/ 10.1016/ j.infsof.2014.06.015. URL: http:// www.sciencedirect.com/ science/

article/ pii/ S0950584914001542– 0 citations

19. L. Madeyski and M. Jureczko. “Which Process Metrics Can Significantly Improve Defect Prediction Models? An Empirical Study”. In: Software Quality Journal (accepted) (2014).

DOI: 10.1007/ s11219-014-9241-7.URL: http:// dx.doi.org/ 10.1007/ s11219-014-9241-7 – 0 citations

20. L. Madeyski, W. Orzeszyna, R. Torkar, and M. Józala. “Overcoming the Equivalent Mutant Problem: A Systematic Literature Review and a Comparative Experiment of Second Order Mutation”. In: IEEE Transactions on Software Engineering 40.1 (2014), pp. 23–42. ISSN: 0098-5589. DOI: 10.1109/ TSE.2013.44. URL: http:// dx.doi.org/ 10.1109/ TSE.2013.44 – 0 citations

21. J. Sobecki. “Comparison of Selected Swarm Intelligence Algorithms in Student Courses Rec- ommendation Application”. In: International Journal of Software Engineering and Knowledge Engineering24.01 (2014), pp. 91–109 – 0 citations

22. B. Czarnacka-Chrobot. “RATIONALIZATION OF BUSINESS

SOFTWARE SYSTEMS DEVELOPMENT AND ENHANCEMENT PROJECTS INVEST- MENT DECISIONS ON THE BASIS OF FUNCTIONAL SIZE MEASUREMENT”. in: Inter- national Journal of Software Engineering and Knowledge Engineering23.06 (2013), pp. 839–

868. URL: http : / / www. worldscientific . com / doi / abs / 10 . 1142 / S0218194013500228 – 0 citations

23. T. Schulz, Ł. Radli´nski, T. Gorges, and W. Rosenstiel. “Predicting the Flow of Defect Correc- tion Effort using a Bayesian Network Model”. English. In: Empirical Software Engineering 18.3 (2013), pp. 435–477. ISSN: 1382-3256. DOI: 10 . 1007 / s10664 - 011 - 9175 - 7. URL: http:// dx.doi.org/ 10.1007/ s10664-011-9175-7– 0 citations

24. P. Kosiuczenko. “Specification of Invariability in OCL”. in: Software and Systems Modeling 12.2 (May 2013), pp. 415–434. ISSN: 1619-1366. DOI: 10.1007/ s10270- 011- 0215- y. URL: http:// dx.doi.org/ 10.1007/ s10270-011-0215-y– 0 citations

25. W. Pedrycz. “KNOWLEDGE MANAGEMENT AND SEMANTIC MODELING: A ROLE OF INFORMATION GRANULARITY”. in: International Journal of Software Engineering and Knowledge Engineering23.01 (2013), pp. 5–11. URL: http:// www.worldscientific.com/

doi/ abs/ 10.1142/ S0218194013400019– 0 citations

26. J. J. Jung, R. P. Katarzyniak, and N. T. Nguyen. “GUEST EDITORS; INTRODUCTION”.

in: International Journal of Software Engineering and Knowledge Engineering 23.01 (2013), pp. 1–3.DOI: 10.1142/ S0218194013020014 – 0 citations

27. R. P. Katarzyniak and G. Popek. “INTEGRATION OF MODAL AND FUZZY METH- ODS OF KNOWLEDGE REPRESENTATION IN ARTIFICIAL AGENTS”. in: International Journal of Software Engineering and Knowledge Engineering23.01 (2013), pp. 13–29. DOI: 10 . 1142 / S0218194013400020. URL: http : / / www. worldscientific . com / doi / abs / 10 . 1142 / S0218194013400020– 0 citations

28. M. Psiuk, D. ˙Zmuda, and K. Zielinski. “Distributed OSGi Built over Message-oriented Mid- dleware”. In: Software: Practice and Experience 43.1 (Jan. 2013), pp. 1–31.ISSN: 0038-0644.

DOI: 10.1002/ spe.1148.URL: http:// dx.doi.org/ 10.1002/ spe.1148 – 0 citations

(22)

We repeated the search process for different countries (changing the part of the search string responsible for affiliation, e.g. from AFFIL(poland) into AFFIL(germany)) as well as the world (removing the part of the search string responsible for affiliation). Figure 1.1 presents a map of Europe including bubbles with bubble size proportional to the contribution of each country.

8.5% 0.6%

4.5%

2.8% 4.3%

2.4%

9.1%

7.4%

10.2%

0.2%

0.2%

2.3%

1.6%

0%

0.1%

1.2%

0.2%

2.6%

0.5%

1.8%

0.2%

0%

1%

4%

0.8%

0.2%

0.1%

0%

1.8% 0.5%

1.5%

0%

Figure 1.1. How European countries contribute to leading software engineering journals.

United Kingdom, Spain and Germany contribute the most in terms of the number of papers published in the analyzed set of leading software engineering journals and time frame, i.e. 10.2%, 9.1% and 8.5% respectively. It is worth mentioning that contribution of United States is about 21%.

(23)

Recent Polish achievements in Software Engineering 21 Polish contribution (0.6%) is slightly less than the contribution of Portugal (0.8%), which cannot be considered an achievement taking into account that Poland is bigger than Portugal. Polish contribution is spread among 13 research institu- tions (e.g., Wroclaw University of Technology, AGH University of Technology, Poznan University of Technology, Warsaw University of Technology) and one software development company (Nokia Siemens Networks).

It would be interesting to check whether there are any interesting trends with regard to the contribution of Polish researchers in last years. A subsequent analysis presented in Figure 1.2 shows how selected European countries contributed to the analyzed set of journals in successive years. We cannot see any specific trend with regard to Polish contribution in the last five years.

0 3 6 9

2010 2011 2012 2013 2014

Year

Percentage contribution of a country

Country Austria Finland Germany Poland Spain Sweden

United Kingdom|UK

Figure 1.2. Percentage contribution of European countries to leading software engineering journals.

1.2. Identification of events in use cases 1.2.1. Research context

There are many quality attributes of requirements specifications, one of them is completeness. If one considers use cases for description of functional require- ments, it is important to include complete list of events which may interrupt

(24)

main scenarios. Missing events can lead to higher project costs and overrunning schedule. Therefore, a question arises: what is the effective and efficient method to identify events in use cases? No specific method, aimed at identification of events in use cases, had been found, hence, as the first step, method based on HAZOP approach has been proposed and evaluated in comparison to the ad hoc approach [JNOG13b]. As the second step, automatic method of events identifica- tion has been proposed and evaluated.

1.2.2. Research objectives

The goal of this study was to propose methods aimed at identification of events in use cases. Moreover, these methods have been evaluated from the stand point of accuracy and speed.

1.2.3. Research methods

HAZOP method has been used as a fundament for the proposed H4U method, which is aimed at identification of events in use cases. H4U uses the notion of primary and secondary keywords in the process of analysis of use cases. In order to evaluate the proposed approach, two controlled experiments have been designed and conducted. In both experiments the H4U method has been compared to the ad hoc approach. Participants of the first experiment included 18 students and in the second experiment 64 IT professionals were involved. In both experiments, the accuracy and speed of the two approaches have been measured and evaluated.

Moreover, an automatic method of events identification has been proposed. In or- der to elaborate this method, 160 use cases from software projects have been ana- lyzed. This analysis let to naming 14 abstract event types and two inference rules.

The automatic method has been evaluated from the point of view of speed and accuracy. Moreover, linguistic quality of the automatically identified events has been assessed in an experiment based on the assumptions of Turing-test. Bench- mark use-case-based requirements specification was used in the evaluations of ad hoc approach, H4U method and automatic method.

1.2.4. Research results

In the first place, H4U method has been evaluated with comparison to the ad hoc approach. The first experiment (with students) showed that H4U method allows to achieve more accurate results. However, the participants who used the H4U method were slower in the analysis of use cases than the participants who used ad hoc approach. The second experiment (with IT professionals) con-

(25)

Recent Polish achievements in Software Engineering 23 firmed these results. The results from both experiments showed that the accu- racy of events identification ranged from 0.15 to 0.26. Experiment concerning the proposed automatic method of events identification showed that this method can achieve accuracy at the level of 0.8, which is better than manual approaches.

Moreover, automatic method is faster than manual methods, i.e., it is able to an- alyze 10.8 steps per minute, while participant of the experiments were able to analyze on average 2.5 steps per minute with ad hoc approach and 0.5 steps per minute with H4U method. In terms of linguistic quality of the automatically iden- tified events, it can be concluded that the understandability of event descriptions generated by computer was not worse than understandability of event descriptions written by humans.

1.2.5. Conclusions

The proposed H4U method, aimed at identification of use-case events, pro- vides effective alternative to the ad hoc approach in terms of accuracy of event identification. The accuracy and speed of identification of events can be further improved by using the proposed automatic method.

1.3. Solving the invariability problem in OCL 1.3.1. Research context

There exist various methods and languages for the specification and model- ing of object-oriented systems. Contracts are the prevailing way of specifying systems from the caller point of view (see [Mey88]). The Unified Modeling Lan- guage (UML) [OMG11] is often used in combination with the Object Constraint Language (OCL) [OMG12], a high-level language for a contractual specification of object-oriented systems. In OCL, one can express invariants and operations’

pre- and post-conditions.

The specification of invariable system parts is a well known problem. Usually when a change of a large system happens, only its small part is modified and the rest remains unchanged. In case of complex systems one needs a means for avoid- ing extensive specification of those invariable parts. This is the so called frame problem. In case of object-oriented systems, one has to specify what happens with all objects’ attributes and associations. However, without a proper means the resulting specification can be, and often is, very excessive. For a number of years this problem remained unsolved for OCL.

(26)

The frame problem

In general there exist four approaches to the frame problem: minimal-change approach, implicit specification and frame formulas. The minimal-change ap- proach requires that the set of changed system parts is minimal, i.e., the change is in accordance with the specification in the usual sense and moreover the number of changed parts cannot be smaller. A serious disadvantage of this approach is that it is very hard to figure out such minimal sets, and the minimality proof can be complex and non-standard. Thus it is not useful in practice, and specially when tool support is needed

An implicit approach to invariability was used in case of OCL, however it dates back to Hoare logic. In this logic all variables which are not mentioned in the so called Hoare triple are assumed to be unchanged. The idea of the approach is similar: all system parts not mentioned in a specification must not change. This approach allows to write simple specifications and does not require any special means. However, it does not work well for contractual specifications because an operation execution can have very complex side-effects. This approach also heav- ily depends on the actual form of the specification and for specifications equivalent in the classical logical sense it may result in different variable parts.

The frame formulas are used in artificial intelligence (cf. [Sch90]). The idea is to specify modification of attributes using axiom schemata. This approach requires however proper means to make the specifications compact. In case of Java Modeling Language (JML, see [DM05]) and also Spec#, explicit invariability clauses are used for a compact specification of invariable properties. Invariability constraints can be checked at the compile-time. Thus, it is not possible to specify invariability requirements which cannot be checked statically. Moreover, these languages are much simpler than OCL.

1.3.2. Research objectives

The goal of research [Kos13c; Kos13a] was to provide specification primitives which address the shortcomings of previously existing approaches. In particular, these primitives should:

— allow one to specify the invariable part of object-oriented systems

— be language-based, not semantics-based, preferably OCL-based

— allow validity monitoring with standard OCL-tools

— ensure logical equivalence of OCL-specifications in the standard sense

— allow for the application of standard proof techniques

(27)

Recent Polish achievements in Software Engineering 25 1.3.3. Research results

A state of an object-oriented system can be understood as a graph with labeled nodes and labeled edges. The nodes correspond to objects, their labels to their classes. The edges correspond to links between objects; the corresponding labels to class attributes and associations among them. A state change of an oo-system corresponds to a state change of such a labeled graph. Such a change concerns object creation and deletion, and also link modification. We let the object creation and deletion be governed by the OCL-specification. However we add new primi- tives to identify sets of those links which can be removed or replaced by new ones.

Thus, a system change, object removal and creation as well as link modification can happen as long as the basic OCL-specification is satisfied and the links are modified only when they are specified by the primitives.

An OCL-specification of an operation has basically three parts. The first part of the specification declares the context, i.e., the signature of specified method and the class it belongs to. The second part specifies its pre-condition, i.e., the condition which has to be satisfied before the operation is executed. The third part is the post-condition, i.e., a condition which must be valid after the operation’s execution. We add to operations’ post-conditions invariability clauses of the form:

in p modifies t1::a1, ..., tn::an

Clause p defines a set of classes; in general it can be a metamodel-based view definition [Kos13c]. Term ti is an OCL-term defining a set of objects of a class Ci and ai is an attribute or an association-end of this class. For objects defined by term ti attribute/association ai can be changed. Attribute ai has to belong to classes defined by p. We do not specify in this clause, what happens with attributes not included in p.

As an example, consider a bank account with attribute balance storing in- formation on the actual balance of a bank account and method credit. The way this method operates can be specified in the extended OCL in the following way:

context BankAccount::credit(amount : Real) post : self.balance = self.balance@pre + amount in BankAccount modifes : self::balance

The primitive @pre can occur only in post-conditions. It delivers the value of attribute balance in the pre-state, i.e., in the state before the method execution.

When it does not occur as a postfix of an attribute, then the value of attribute is computed in the post-state. Operation credit increases attribute balance by adding amount. The invariability clause says that credit modifies only the attribute balance of objects from class BankAccount.

(28)

1.3.4. Conclusions

Specification of invariability was a real problem in case of OCL-specifications.

The problem with designing invariability primitives was the descriptive power of OCL and the plenitude of constructs facilitating specification writing. As a result of the presented research, a solution of this problem was proposed, which is simple in form and has natural semantics. It allows one for compact specifications of invariable system parts in a compact and precise way. The semantics is defined in terms of standard OCL; this allows for the application of standard OCL-models, techniques and tools. However, there are still issues to be addressed. For example, we need to define primitives for associations with multiple ends.

1.4. Predicting the Flow of Defect Correction Effort 1.4.1. Research context

Extensive literature on defect prediction usually deals with predicting number of defects or defect proneness of a software component. While such information is useful in many contexts it does not answer the question that is more important from the resource management perspective, i.e., how much effort will be required to correct these defects?The described study investigated possibility of predicting correction effort instead of raw defect count. [SRGR13b]

The environment for this study was the automotive company where software is developed according to the industrial standard V-model [Ind92] with four suc- cessive phases: requirements (RE), design (DE), implementation (IM), integration and testing (I&T). An earlier study [SRGR11] had confirmed that defect correc- tion effort (DCE) depends on the phases where a defect was inserted and detected.

Specifically, defects inserted in early phase, but detected in later, need more effort for their correction than if they are inserted and detected in the same phase. This flow of defect correction effort between phases makes the main rationale for the proposed predictive model.

1.4.2. Research objectives

The main goal of this study was to develop a model that could predict the de- fect correction effort at various development phases. This model, called a Defect Cost Flow Model (DCFM) reflects a V-model of a software development lifecycle – a real engineering process for developing embedded applications in the automo- tive industry. With this model it was possible to optimize the amount of quality assurance (QA) activities in different phases to minimize the total project effort.

(29)

Recent Polish achievements in Software Engineering 27 1.4.3. Research methods

Technically, the DCFM is a Bayesian Network (BN). Among various reasons for choosing a Bayesian Network as a formal representation of DCFM the most important were:

— Model structure reflects cause-effect relationships for better understanding and fit to reality.

— BNs may incorporate expert knowledge combined with empirical data.

— They enable performing various types of analyses using rigorous probability calculus focused on decision support.

The research process involved the following main phases:

1. Problem definition using the Goal-Question-Metric approach.

2. Data gathering and analysis – using the internal change and defect manage- ment systemas main source. The second data source was expert knowledge from researchers, developers and managers supporting this study. Exiting lit- erature in the field served as the third data source.

3. Model creation and enhancement covered building initial version of the model as well as its multiple enhancements. Each version contained new elements (i.e. variables) and the whole model was calibrated using the data obtained in the previous phase. The model was created in an iterative process for easier validation and access to the working (partial) version at each time.

4. Model validation covered general model behavior, practical usefulness, de- tailed model behavior in numerous scenarios with different input data, sensi- tivity analysis, and in the possibility of adjusting and calibrating the core of DCFM.

1.4.4. Research results

The main result was the Defect Cost Flow model. Its structure is too large for display and discuss in a single figure. Thus, Figure 1.3 illustrates the core structure of the model while Figure 1.4 presents some details for the design phase.

The defect correction effort flows from the phase where defects are inserted until they are detected and fixed.

Specifically, some defects inserted in the requirements phase are also fixed there. But since the review process is imperfect some defects are left and thus flow to the next phase (design). Correcting these defects in this phase requires more effort (4-5 times) as reflected by the effort multiplier (Figure 1.4 left). With higher level of QA activity more defects could be detected in the design phase. But still, some would be left and detected in later phases.

(30)

Figure 1.3. Schematic of DCFM [SRGR13b].

In the design phase also new defects are inserted. They would need to be detected and fixed – partially in the QA activity, and partially in the next phases as the defect correction effort (Figure 1.4 right).

The model incorporates various empirical data, e.g.:

— The probabilities for inserting defects slowly decreases in the first three phases and drops down rapidly in the I&T phase.

— Different levels for sufficiency of QA effort are defined as a percentage of the core development effort.

— The QA activities are the most efficient in the RE and DE phases. In IM and I&T phases they are significantly less efficient in detecting defects originating from earlier phases.

1.4.5. Conclusions

Model validation confirms that the model provides sensible predictions con- sistent with gathered empirical data and known literature in software engineering field. What is especially important is that this model has been applied in a real in-

(31)

Recent Polish achievements in Software Engineering 29

Phase DE (RE) Phase DE

Phase Multiplier (RE) RE to DE DCE (RE) in

DE

DCE after Rev iew (RE)

in DE Defect Detection Potential (RE) in DE

DCE Reduced (RE) in DE

Lev el of QA activ ity (RE)

in DE

Lev el of QA activ ity

Dev elopment Effort

QA Effort

DCF

DCE DCE after QA

Defect Detection

Potential

DCE Reduced DCE (RE)

shifted from Phase RE

DCE (DE) shifted to Phase IM DCE (RE) shifted to Phase IM

Figure 1.4. Model structure for design phase (DE) [SRGR13b].

dustrial process. It demonstrates high potential in finding the appropriate amount of review effort for specific development phases to minimize the overall costs.

Thus, the model may be used in the industry for decision support. By extend- ing and calibrating it can be tailored to meet the needs of specific development environment.

1.5. Model of a maturity capsule in software project management 1.6. Research context

Research conducted at the Center for Advanced Studies on Campus (CAS) focuses on issues of software project management and on finding solutions to im- prove management and development processes. The development methods used in project management and in the development environment prove inadequate to the problems of contemporary IT projects. It is therefore proposed that in project management the development and management processes should be monitored with the use of the innovative maturity capsule developed at CAS.

1.6.1. Research objectives

The main objective of the study was to define and apply in practice the matu- rity capsule in IT projects. It was assumed that the concept of the maturity capsule is to be understood as a set of maturity ratings of the supplier, client and project

(32)

(estimated through the scalar negentropy of the project) [KO14a]. To define the maturity capsule, it is necessary to establish the measurements of the maturity of the client and the supplier and the project negentropy. The knowledge resulting from the COBIT (Control Objectives for Information and Related Technology) and ITIL (Information Technology Infrastructure Library) standards is important for the initial processing of the project data, which aims at evaluating the maturity of the supplier and client organizations in question. The TOGAF standard is used mainly to evaluate a specific indicator, measuring the degree of global maturity of a project, called negentropy. The applicability of the model is verified in a number of environments, mainly in IT projects and in the organizations carrying out such projects [KO14b].

1.6.2. Research methods

The description of the project management processes and information tech- nologies was based on a formal, discrete - time-linear dynamic description ex- panded with the essential nonlinear mechanisms in the form of a fuzzy - rule-based system (with the use of a linguistic estimation developed on the basis of answers given by experts to sets of questions in interview questionnaires). These descrip- tions were used to develop a useful model based on a sequence of the following three steps [SO14]:

1. the fuzzy modeling philosophy, based on the formation of the membership function, is an appropriate foundation of the universality of the maturity cap- sule.

2. the number of times of use is a relevant criterion for assessing the quality of the developed model.

3. the tuning of the model becomes possible through the identification of its parameters and variables (it is based on linguistic evaluations resulting from competency questions).

1.6.3. Research results

The conducted studies demonstrated how the maturity capsule can be used by those managing projects, by development teams and by customer teams in order to support the processes inside the project in terms of monitoring and predicting its development. Four levels of verification of the maturity capsule were proposed [Orł14]. On the first one, the usefulness of the capsule for the managers of IT projects was evaluated. On the second level, the support for processes which en- sure corporate governance was referred to, as well as the use of project negentropy

(33)

Recent Polish achievements in Software Engineering 31 in supporting the management processes of a company. The third level focused on the linguistic evaluation of supplier organization maturity in predicting its evolu- tion. While, on the fourth level of ’control of the level of the client organization and the processes of its change, a linguistic description was used to support this evaluation.

1.6.4. Conclusions

In previous studies on project management processes, neither the analysis of the state nor the maturity of the project was as comprehensive as this one. Both elements have been included in the maturity capsule to predict and optimize infor- mation technologies in managing information technology projects. The presented analysis of the maturity capsule, the possibility to progress in terms of maturity, and the monitoring of the level of management all allow for predicting technolo- gies to support the desired changes in the maturity capsule. In this sense, the de- veloped solution provides an innovative perspective on the management processes of technologies and IT projects, involving the aggregation of knowledge about the maturity of the entities in the capsule (client, project and supplier) and the de- composition of information technologies into services and IT functionalities. The solution described in this work, regarding a comprehensive evaluation of a project and involving the use of the maturity capsule, requires indicating how frequent this evaluation is and analyzing its applicability for the organization/teams of the client and the supplier, which change dynamically during the project. In such cases, the standard use of evaluation questionnaires may be inadequate. A better solution would be to develop and apply a system in which specialized agents make the assessment. The purpose of such a system would be to evaluate the environment in which the IT project is carried out.

1.7. Conclusions

The contribution of Polish researchers to the software engineering research field is limited. The percentage of research papers in the analyzed set of leading software engineering journals and the time period (2010 – 2014 Sep 14) was about 0.6%. Fortunately, there are some valuable achievements of Polish researchers which we tried to present briefly in this chapter.

It is also worth mentioning that we did not analyzed which research institu- tions in Poland contribute the most as sometimes changing an affiliation of one or two researchers would influence the results to a large extent.

(34)

References

[Gla94] R. L. Glass. “An Assessment of Systems and Software Engineer- ing Scholars and Institutions”. In: Journal of Systems and Soft- ware 27.1 (Oct. 1994), pp. 63–67. ISSN: 0164-1212. DOI: 10 . 1016 / 0164 - 1212(94 ) 90115 - 5. URL: http : / / dx . doi . org / 10 . 1016/ 0164-1212(94)90115-5.

[WTGBC09] W. E. Wong, T. H. Tse, R. L. Glass, V. R. Basili, and T. Y. Chen.

“Controversy Corner: An Assessment of Systems and Software Engineering Scholars and Institutions (2002-2006)”. In: Journal of Systems and Software82.8 (Aug. 2009), pp. 1370–1373.ISSN: 0164-1212.DOI: 10.1016/ j.jss.2009.06.018.URL: http:// dx.doi.

org/ 10.1016/ j.jss.2009.06.018.

[WTGBC11] W. E. Wong, T. Tse, R. L. Glass, V. R. Basili, and T. Chen. “An assessment of systems and software engineering scholars and in- stitutions (2003–2007 and 2004–2008)”. In: Journal of Systems and Software84.1 (2011). Information Networking and Software Services, pp. 162 –168.ISSN: 0164-1212.DOI: http:// dx.doi.org/

10.1016/ j.jss.2010.09.036.URL: http:// www.sciencedirect.com/

science/ article/ pii/ S0164121210002682.

[Woh09] C. Wohlin. “An Analysis of the Most Cited Articles in Software Engineering Journals - 2002”. In: Information and Software Tech- nology51.1 (Jan. 2009), pp. 2–6.ISSN: 0950-5849.DOI: 10.1016/

j.infsof.2008.09.012. URL: http:// dx.doi.org/ 10.1016/ j.infsof.

2008.09.012.

[Mad10] L. Madeyski. “The impact of test-first programming on branch coverage and mutation score indicator of unit tests: An exper- iment”. In: Information and Software Technology 52.2 (2010), pp. 169–184. DOI: 10 . 1016 / j . infsof . 2009 . 08 . 007. URL: http : // dx.doi.org/ 10.1016/ j.infsof.2009.08.007.

[ONK11] M. Ochodek, J. Nawrocki, and K. Kwarciak. “Simplifying Effort Estimation Based on Use Case Points”. In: Information and Soft- ware Technology53.3 (Mar. 2011), pp. 200–213.ISSN: 0950-5849.

DOI: 10.1016/ j.infsof.2010.10.005.URL: http:// dx.doi.org/ 10.

1016/ j.infsof.2010.10.005.

[MR10] L. Madeyski and N. Radyk. “Judy – A Mutation Testing Tool for Java”. In: IET Software Journal (formerly IEE Proceedings

(35)

Recent Polish achievements in Software Engineering 33 Software)4.1 (2010). Draft: http:// madeyski.e- informatyka.pl/

download/ Madeyski10b.pdf, pp. 32–42. DOI: 10.1049/ iet- sen.

2008.0038.URL: http:// dx.doi.org/ 10.1049/ iet-sen.2008.0038.

[JZ10a] A. Janik and K. Zielinski. “AAOP-based Dynamically Reconfig- urable Monitoring System”. In: Information and Software Tech- nology 52.4 (Apr. 2010), pp. 380–396. ISSN: 0950-5849. DOI: 10 . 1016 / j . infsof . 2009 . 10 . 006. URL: http : / / dx . doi . org / 10 . 1016/ j.infsof.2009.10.006.

[NK12] G. J. Nalepa and K. Kluza. “UML REPRESENTATION FOR RULE-BASED APPLICATION MODELS WITH XTT2-BASED BUSINESS RULES”. In: International Journal of Software En- gineering and Knowledge Engineering 22.04 (2012), pp. 485–

524. DOI: 10 . 1142 / S021819401250012X. URL: http : / / www . worldscientific.com/ doi/ abs/ 10.1142/ S021819401250012X.

[Mił10] M. Miłkowski. “Developing an Open-source, Rule-based Proof- reading Tool”. In: Software: Practice and Experience 40.7 (June 2010), pp. 543–566.ISSN: 0038-0644. DOI: 10.1002/ spe.v40:7.

URL: http:// dx.doi.org/ 10.1002/ spe.v40:7.

[JZ10b] A. Janik and K. Zielinski. “Adaptability Mechanisms for

Autonomic System Implementation with AAOP”. In: Software:

Practice and Experience 40.3 (Mar. 2010), pp. 209–223. ISSN: 0038-0644.DOI: 10.1002/ spe.v40:3.URL: http:// dx.doi.org/ 10.

1002/ spe.v40:3.

[BBZ10] P. Bachara, K. Blachnicki, and K. Zielinski. “Framework for Ap- plication Management with Dynamic Aspects J-EARS Case Study”.

In: Information and Software Technology 52.1 (Jan. 2010), pp. 67–

78. ISSN: 0950-5849.DOI: 10.1016/ j.infsof.2009.06.003. URL: http:// dx.doi.org/ 10.1016/ j.infsof.2009.06.003.

[Flo+10] J. Floch et al. “A Comprehensive Engineering Framework for Guaranteeing Component Compatibility”. In: Journal of Systems and Software83.10 (Oct. 2010), pp. 1759–1779.ISSN: 0164-1212.

DOI: 10.1016/ j.jss.2010.04.075.URL: http:// dx.doi.org/ 10.1016/

j.jss.2010.04.075.

[Deo10] S. Deorowicz. “Solving Longest Common Subsequence and Re- lated Problems on Graphical Processing Units”. In: Software: Prac- tice and Experience40.8 (2010), pp. 673–700.ISSN: 0038-0644.

(36)

DOI: 10.1002/ spe.v40:8.URL: http:// dx.doi.org/ 10.1002/ spe.

v40:8.

[ZK13] A. Zalewski and S. Kijas. “Beyond ATAM: Early Architecture Evaluation Method for

Large-scale Distributed Systems”. In: Journal of Systems and Soft- ware86.3 (Mar. 2013), pp. 683–697. ISSN: 0164-1212.DOI: 10.

1016/ j.jss.2012.10.923. URL: http:// dx.doi.org/ 10.1016/ j.jss.

2012.10.923.

[ŁM12] K. Łukasiewicz and J. Miler. “Improving agility and discipline of software development with the Scrum and CMMI”. In: Software, IET6.5 (2012), pp. 416–422.ISSN: 1751-8806.DOI: 10.1049/ iet- sen.2011.0193.

[JKP12] M. Janicki, M. Katara, and T. Pääkkönen. “Obstacles and Oppor- tunities in Deploying

Model-based GUI Testing of Mobile Software: A Survey”. In:

Software Testing, Verification and Reliability 22.5 (Aug. 2012), pp. 313–341.ISSN: 0960-0833.DOI: 10.1002/ stvr.460.URL: http:

// dx.doi.org/ 10.1002/ stvr.460.

[OAJN11] M. Ochodek, B. Alchimowicz, J. Jurkiewicz, and J. Nawrocki.

“Improving the Reliability of Transaction Identification in Use Cases”. In: Information and Software Technology 53.8 (2011), pp. 885–897.ISSN: 0950-5849.DOI: 10.1016/ j.infsof.2011.02.

004.URL: http:// dx.doi.org/ 10.1016/ j.infsof.2011.02.004.

[Hof11] R. Hofman. “Behavioral Economics in Software Quality Engi- neering”. In: Empirical Software Engineering 16.2 (Apr. 2011), pp. 278–293.ISSN: 1382-3256.DOI: 10.1007/ s10664-010-9140- x.URL: http:// dx.doi.org/ 10.1007/ s10664-010-9140-x.

[JNOG13a] J. Jurkiewicz, J. Nawrocki, M. Ochodek, and T. Głowacki. “HA- ZOP based identification of events in use cases”. English. In: Em- pirical Software Engineering(2013), pp. 1–28.ISSN: 1382-3256.

DOI: 10.1007/ s10664- 013- 9277- 5.URL: http:// dx.doi.org/ 10.

1007/ s10664-013-9277-5.

[RDDGM12] A. Riel, A. Draghici, G. Draghici, D. Grajewski, and R. Messnarz.

“Process and product innovation needs integrated engineering col- laboration skills”. In: Journal of Software: Evolution and Process 24.5 (2012), pp. 551–560.ISSN: 2047-7481.DOI: 10.1002/ smr.

497.URL: http:// dx.doi.org/ 10.1002/ smr.497.

(37)

Recent Polish achievements in Software Engineering 35 [JS14] P. Janczarek and J. Sosnowski. “Investigating software testing and maintenance reports: Case study”. In: Information and Software Technology 0 (2014), pp. –. ISSN: 0950-5849. DOI: http : / / dx . doi . org / 10 . 1016 / j . infsof . 2014 . 06 . 015. URL: http : / / www . sciencedirect.com/ science/ article/ pii/ S0950584914001542.

[MJ14] L. Madeyski and M. Jureczko. “Which Process Metrics Can Sig- nificantly Improve Defect Prediction Models? An Empirical Study”.

In: Software Quality Journal (accepted) (2014). DOI: 10 . 1007 / s11219- 014- 9241- 7.URL: http:// dx.doi.org/ 10.1007/ s11219- 014-9241-7.

[MOTJ14] L. Madeyski, W. Orzeszyna, R. Torkar, and M. Józala. “Overcom- ing the Equivalent Mutant Problem: A Systematic Literature Re- view and a Comparative Experiment of Second Order Mutation”.

In: IEEE Transactions on Software Engineering 40.1 (2014), pp. 23–

42. ISSN: 0098-5589. DOI: 10 . 1109 / TSE . 2013 . 44. URL: http : // dx.doi.org/ 10.1109/ TSE.2013.44.

[Sob14] J. Sobecki. “Comparison of Selected Swarm Intelligence Algo- rithms in Student Courses Recommendation Application”. In: In- ternational Journal of Software Engineering and Knowledge En- gineering24.01 (2014), pp. 91–109.

[CC13] B. Czarnacka-Chrobot. “RATIONALIZATION OF BUSINESS SOFTWARE SYSTEMS DEVELOPMENT AND ENHANCE- MENT PROJECTS INVESTMENT DECISIONS ON THE BA- SIS OF FUNCTIONAL SIZE MEASUREMENT”. In: Interna- tional Journal of Software Engineering and Knowledge Engineer- ing23.06 (2013), pp. 839–868.URL: http:// www.worldscientific.

com/ doi/ abs/ 10.1142/ S0218194013500228.

[SRGR13a] T. Schulz, Ł. Radli´nski, T. Gorges, and W. Rosenstiel. “Predict- ing the Flow of Defect Correction Effort using a Bayesian Net- work Model”. English. In: Empirical Software Engineering 18.3 (2013), pp. 435–477. ISSN: 1382-3256. DOI: 10 . 1007 / s10664 - 011-9175-7.URL: http:// dx.doi.org/ 10.1007/ s10664-011-9175- 7.

[Kos13b] P. Kosiuczenko. “Specification of Invariability in OCL”. In: Soft- ware and Systems Modeling12.2 (May 2013), pp. 415–434.ISSN: 1619-1366.DOI: 10.1007/ s10270- 011- 0215- y. URL: http:// dx.

doi.org/ 10.1007/ s10270-011-0215-y.

Cytaty

Powiązane dokumenty

skich w sprawie dodatku administracyjnego, mimo że nie mieliby ani bezpośrednio ani pośrednio, żadnego wpływu na prowadzenie spraw ziemstwa. Pomijając przytoczone zasadnicze

celem podjętych rozważań było poznanie poczucia tożsamości osób w wieku późnej dorosłości żyjących w polskiej oraz czeskiej części śląska cieszyńskiego..

These publications prepared by several dozens of ex- ceptional authors (including Polish geographers) were devoted to economic integration, spatial planning and

The aim of the Research is to analyze and develop an open and free software, and development of domestic distribution within national software platform.. The

Another famous scholar of the 17 th century was Jan Brożek, a doctor of philosophy and theology at the Jagiellonian University as well as of medicine in Padua; he was the

First duty is to believe in the Word of God which announces the truth about God’s mercy. Cognition and experience of almighty grace of Lord builds a man and opens them for bigger

nia, CeDuWu, Warszawa 2012; J. Szumielewicz, Cash management w grupach kapitałowych, Difin, Warszawa 2009, s.. a) minimalizację kosztów utrzymywania środków pieniężnych w kasie, na

2008.. Wiedza ta jest konieczna, by mógł kierować sobą, właściwie ustosunkować się do drugiego człowieka 1 do tego wszystkiego, co go otacza, a co nie jest