33 research outputs found

    Recognizing Developers' Emotions while Programming

    Full text link
    Developers experience a wide range of emotions during programming tasks, which may have an impact on job performance. In this paper, we present an empirical study aimed at (i) investigating the link between emotion and progress, (ii) understanding the triggers for developers' emotions and the strategies to deal with negative ones, (iii) identifying the minimal set of non-invasive biometric sensors for emotion recognition during programming task. Results confirm previous findings about the relation between emotions and perceived productivity. Furthermore, we show that developers' emotions can be reliably recognized using only a wristband capturing the electrodermal activity and heart-related metrics.Comment: Accepted for publication at ICSE2020 Technical Trac

    Action-based recommendation in pull-request development

    Get PDF
    Pull requests (PRs) selection is a challenging task faced by integrators in pull-based development (PbD), with hundreds of PRs submitted on a daily basis to large open-source projects. Managing these PRs manually consumes integrators' time and resources and may lead to delays in the acceptance, response, or rejection of PRs that can propose bug fixes or feature enhancements. On the one hand, well-known platforms for performing PbD, like GitHub, do not provide built-in recommendation mechanisms for facilitating the management of PRs. On the other hand, prior research on PRs recommendation has focused on the likelihood of either a PR being accepted or receive a response by the integrator. In this paper, we consider both those likelihoods, this to help integrators in the PRs selection process by suggesting to them the appropriate actions to undertake on each specific PR. To this aim, we propose an approach, called CARTESIAN (aCceptance And Response classificaTion-based requESt IdentificAtioN) modeling the PRs recommendation according to PR actions. In particular, CARTESIAN is able to recommend three types of PR actions: accept, respond, and reject. We evaluated CARTESIAN on the PRs of 19 popular GitHub projects. The results of our study demonstrate that our approach can identify PR actions with an average precision and recall of about 86%. Moreover, our findings also highlight that CARTESIAN outperforms the results of two baseline approaches in the task of PRs selection

    Blinded by Simplicity: Locating the Social Dimension in Software Development Process Literature

    Get PDF
    The software development process is a complex human, intellectual and labor-intensive activity and human related factors have shown to be the most significant contributors to software system failures. Lacking the ability to identify or quantify these factors, software practitioners will not learn from the failures caused by them. Although, social factors give rise to high failure rates in software development projects they tend to be ignored. Business continues as usual. The inability for software engineers to attain a holistic and inclusive approach will leave the social dimension out and undermine the realization of a fully sustainable software development process.This paper builds on the master’s thesis with the same title completed in December 2019 at Stockholm University. The thesis demonstrates how research literature on software development processes addresses (or not) the social dimension of sustainability from a holistic point of view. The results indicate that the practice of dealing holistically with complexity including the social dimension is still underdeveloped. Further research is suggested regarding the development of adequate supporting tools, social skills, and managerial attitudes and behaviors

    Asking Questions is Easy, Asking Great Questions is Hard: Constructing Effective Stack Overflow Questions

    Get PDF
    This paper explores and seeks to improve the ways in which Stack Overflow question posts can elicit answers. Using statistical data analysis approaches and reviews of existing literature, we pin- point three key factors that are found in many previously success- ful/answerable questions. We then present a prototypical sidebar for the ask page that leverages these factors to dynamically (1) evaluate the quality of questions in construction (2) display answer previews of relevant questions and (3) scaffold the identified factors to subsequent askers during their question development processes

    A survey on elasticity management in PaaS systems

    Full text link
    [EN] Elasticity is a goal of cloud computing. An elastic system should manage in an autonomic way its resources, being adaptive to dynamic workloads, allocating additional resources when workload is increased and deallocating resources when workload decreases. PaaS providers should manage resources of customer applications with the aim of converting those applications into elastic services. This survey identifies the requirements that such management imposes on a PaaS provider: autonomy, scalability, adaptivity, SLA awareness, composability and upgradeability. This document delves into the variety of mechanisms that have been proposed to deal with all those requirements. Although there are multiple approaches to address those concerns, providers main goal is maximisation of profits. This compels providers to look for balancing two opposed goals: maximising quality of service and minimising costs. Because of this, there are still several aspects that deserve additional research for finding optimal adaptability strategies. Those open issues are also discussed.This work has been partially supported by EU FEDER and Spanish MINECO under research Grant TIN2012-37719-C03-01.Muñoz-Escoí, FD.; Bernabeu Aubán, JM. (2017). A survey on elasticity management in PaaS systems. Computing. 99(7):617-656. https://doi.org/10.1007/s00607-016-0507-8S617656997Ajmani S (2004) Automatic software upgrades for distributed systems. PhD thesis, Department of Electrical and Computer Science, Massachusetts Institute of Technology, USAAjmani S, Liskov B, Shrira L (2006) Modular software upgrades for distributed systems. In: 20th European Conference on Object-Oriented Programming (ECOOP), Nantes, France, pp 452–476Alhamad M, Dillon TS, Chang E (2010) Conceptual SLA framework for cloud computing. In: 4th International Conference on Digital Ecosystems and Technologies (DEST), Dubai, pp 606–610Almeida S, Leitão J, Rodrigues LET (2013) ChainReaction: a causal+ consistent datastore based on chain replication. In: 8th EuroSys Conference, Prague, Czech Republic, pp 85–98Araujo J, Matos R, Maciel PRM, Matias R (2011) Software aging issues on the Eucalyptus cloud computing infrastructure. In: IEEE International Conference on Systems, Man, and Cybernetics (SMC), Anchorage, Alaska, USA, pp 1411–1416Arief LB, Speirs NA (2000) A UML tool for an automatic generation of simulation programs. In: Worshop on Software and Performance (WOSP), Ottawa, Canada, pp 71–76Armbrust M, Fox A, Griffith R, Joseph AD, Katz RH, Konwinski A, Lee G, Patterson DA, Rabkin A, Stoica I, Zaharia M (2010) A view of cloud computing. Commun ACM 53(4):50–58Bailis P, Ghodsi A (2013) Eventual consistency today: limitations, extensions, and beyond. Commun ACM 56(5):55–63Bailis P, Ghodsi A, Hellerstein JM, Stoica I (2013) Bolt-on causal consistency. In: Intnl Conf Mgmnt Data (SIGMOD). NY, USA, New York, pp 761–772Balsamo S, Marco AD, Inverardi P, Simeoni M (2004) Model-based performance prediction in software development: a survey. IEEE Trans Softw Eng 30(5):295–310Barham P, Dragovic B, Fraser K, Hand S, Harris TL, Ho A, Neugebauer R, Pratt I, Warfield A (2003) Xen and the art of virtualization. In: 19th ACM Symposium on Operating Systems Principles (SOSP), Bolton Landing, NY, USA, pp 164–177Bennani MN, Menascé DA (2005) Resource allocation for autonomic data centers using analytic performance models. In: 2nd Intnl Conf Auton Comput (ICAC), Seattle, WA, USA, pp 229–240Birman KP (1996) Building Secure and Reliable Network Applications. Manning Publications Co., ISBN 1-884777-29-5Bloom T (1983) Dynamic module replacement in a distributed programming system. PhD thesis, Department of Electrical Engineering and Computer Science, Massachusetts Institute of Technology, USABloom T, Day M (1993) Reconfiguration and module replacement in Argus: theory and practice. Softw Eng J 8(2):102–108Caballer M, Segrelles Quilis JD, Moltó G, Blanquer I (2015) A platform to deploy customized scientific virtual infrastructures on the cloud. Concurr Comput Pract E 27(16):4318–4329Calatrava A, Romero E, Moltó G, Caballer M, Alonso JM (2016) Self-managed cost-efficient virtual elastic clusters on hybrid cloud infrastructures. Future Gener Comp Syst 61:13–25Calcavecchia NM, Caprarescu BA, Nitto ED, Dubois DJ, Petcu D (2012) DEPAS: a decentralized probabilistic algorithm for auto-scaling. Computing 94(8–10):701–730Casalicchio E, Silvestri L (2013) Mechanisms for SLA provisioning in cloud-based service providers. Comput Netw 57(3):795–810Casalicchio E, Menascé DA, Aldhalaan A (2013) Autonomic resource provisioning in cloud systems with availability goals. In: ACM Cloud Autonomic Computing Conference (CAC), FL, USA, Miami, pp 1–10Chang F, Dean J, Ghemawat S, Hsieh WC, Wallach DA, Burrows M, Chandra T, Fikes A, Gruber RE (2008) Bigtable: a distributed storage system for structured data. ACM Trans Comput Syst 26(2):4Copil G, Trihinas D, Truong HL, Moldovan D, Pallis G, Dustdar S, Dikaiakos MD (2014) ADVISE—A framework for evaluating cloud service elasticity behavior. In: 12th International Conference on Service-Oriented Computing (ICSOC), France, Paris, pp 275–290Cotroneo D, Natella R, Pietrantuono R, Russo S (2014) A survey of software aging and rejuvenation studies. ACM J Emerg Technol 10(1):8:1–8:34Coutinho EF, de Carvalho Sousa FR, Rego PAL, Gomes DG, de Souza JN (2015) Elasticity in cloud computing: a survey. Ann Telecommun 70(15):289–309Dawoud W, Takouna I, Meinel C (2011) Elastic VM for cloud resources provisioning optimization. In: 1st International Conference on Advances in Computing and Communications (ACC), Kochi, India, pp 431–445de Juan-Marín R, Decker H, Armendáriz-Íñigo JE, Bernabéu-Aubán JM, Muñoz-EscoíFD (2015) Scalability approaches for causal multicast: a survey. Computing (in press)de Miguel M, Lambolais T, Hannouz M, Betgé-Brezetz S, Piekarec S (2000) UML extensions for the specification and evaluation of latency constraints in architectural models. In: Workshop on Software and Performance (WOSP), Ottawa, Canada, pp 83–88Demers AJ, Greene DH, Hauser C, Irish W, Larson J, Shenker S, Sturgis HE, Swinehart DC, Terry DB (1987) Epidemic algorithms for replicated database maintenance. In: 6th ACM Symposium on Principles of Distributed Computing (PODC), Vancouver, Canada, pp 1–12Dustdar S, Guo Y, Satzger B, Truong HL (2011) Principles of elastic processes. IEEE Internet Comput 15(5):66–71Emeakaroha VC, Brandic I, Maurer M, Dustdar S (2013) Cloud resource provisioning and SLA enforcement via LoM2HiS framework. Concurr Comput Pract E 25(10):1462–1481Felter W, Ferreira A, Rajamony R, Rubio J (2015) An updated performance comparison of virtual machines and Linux containers. In: IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS), Philadelphia, PA, USA, pp 171–172Fox A, Brewer EA (1999) Harvest, yield and scalable tolerant systems. In: 7th Workshop on Hot Topics in Operating Systems (HotOS), Rio Rico, Arizona, USA, pp 174–178Galante G, De Bona LCE (2012) A survey on cloud computing elasticity. In: 5th International Conference on Utility and Cloud Computing (UCC), Chicago, IL, USA, pp 263–270Galante G, De Bona LCE, Mury AR, Schulze B, Righi RR (2016) An analysis of public clouds elasticity in the execution of scientific applications: a survey. J Grid Comput 14(2):193–216Gambi A, Hummer W, Truong HL, Dustdar S (2013) Testing elastic computing systems. IEEE Internet Comput 17(6):76–82Garg S, van Moorsel APA, Vaidyanathan K, Trivedi KS (1998) A methodology for detection and estimation of software aging. In: 9th International Symposium on Software Reliability Engineering (ISSRE), Paderborn, Germany, pp 283–292Gey F, Landuyt DV, Joosen W (2015) Middleware for customizable multi-staged dynamic upgrades of multi-tenant SaaS applications. In: 8th IEEE/ACM International Conference on Utility and Cloud Computing (UCC), Limassol, Cyprus, pp 102–111Gilbert S, Lynch NA (2002) Brewer’s conjecture and the feasibility of consistent, available, partition-tolerant web services. SIGACT News 33(2):51–59Gong Z, Gu X, Wilkes J (2010) PRESS: PRedictive Elastic reSource Scaling for cloud systems. In: 6th International Conference on Network and Service Management (CNSM), Niagara Falls, Canada, pp 9–16Grozev N, Buyya R (2014) Inter-cloud architectures and application brokering: taxonomy and survey. Softw Pract Exp 44(3):369–390Hammer M (2009) How to touch a running system. reconfiguration of stateful components. PhD thesis, Facultät für Mathematik, Informatik und Statistik, Ludwig-Maximilians-Universität München, Munich, GermanyHasan MZ, Magana E, Clemm A, Tucker L, Gudreddi SLD (2012) Integrated and autonomic cloud resource scaling. In: IEEE Network Operations and Management Symposium (NOMS), Maui, HI, USA, pp 1327–1334Herbst NR, Kounev S, Reussner R (2013) Elasticity in cloud computing: What it is, and what it is not. In: 10th International Conference on Autonomic Computing (ICAC), San Jose, CA, USA, pp 23–27Hermanns H, Herzog U, Katoen J (2002) Process algebra for performance evaluation. Theor Comput Sci 274(1–2):43–87Horn P (2001) Autonomic computing: IBM’s perspective on the state of information technology. Tech. rep. IBM PressHuebscher MC, McCann JA (2008) A survey of autonomic computing—degrees, models, and applications. ACM Comput Surv 40(3):7Hwang J, Zeng S, Wu F, Wood T (2013) A component-based performance comparison of four hypervisors. In: International Symposium on Integrated Network Management (IM), Ghent, Belgium, pp 269–276IBM (2006) An architectural blueprint for autonomic computing. White paper, 4th edIosup A, Ostermann S, Yigitbasi N, Prodan R, Fahringer T, Epema DHJ (2011) Performance analysis of cloud computing services for many-tasks scientific computing. IEEE Trans Parallel Distrib Syst 22(6):931–945Ivanovic D, Carro M, Hermenegildo MV (2013) A sharing-based approach to supporting adaptation in service compositions. Computing 95(6):453–492Jiang Y, Perng C, Li T, Chang RN (2011) ASAP: A self-adaptive prediction system for instant cloud resource demand provisioning. In: 11th International Conference on Data Mining (ICDM), Vancouver, Canada, pp 1104–1109Johnson PR, Thomas RH (1975) The maintenance of duplicate databases. RFC 677, Network Working Group, Internet Engineering Task ForceKephart JO, Chess DM (2003) The vision of autonomic computing. IEEE Comput 36(1):41–50Kiviti A, Laor D, Costa G, Enberg P, Har’El N, Marti D, Zolotarov V (2014) OSv—Optimizing the operating system for virtual machines. In: USENIX Annual Technical Conference (ATC), Philadelphia, PA, USA, pp 61–72Knauth T, Fetzer C (2011) Scaling non-elastic applications using virtual machines. In: IEEE International Conference on Cloud Computing (CLOUD), Washington, DC, USA, pp 468–475Knauth T, Fetzer C (2014) DreamServer: truly on-demand cloud services. In: International Conference on Systems and Storage (SYSTOR), Haifa, Israel, pp 1–11Kramer J, Magee J (1990) The evolving philosophers problem: dynamic change management. IEEE Trans Softw Eng 16(11):1293–1306Lakshman A, Malik P (2010) Cassandra: a decentralized structured storage system. Oper Syst Rev 44(2):35–40Lang W, Shankar S, Patel JM, Kalhan A (2014) Towards multi-tenant performance SLOs. IEEE Trans Knowl Data Eng 26(6):1447–1463Langner F, Andrzejak A (2013) Detecting software aging in a cloud computing framework by comparing development versions. In: IFIP/IEEE International Symposium on Integrated Network Management (IM), Ghent, Belgium, pp 896–899Lazowska ED, Zahorjan J, Graham GS, Sevcik KC (1984) Quantitative system performance. Computer system analysis using queueing network models. Prentice Hall, Upper Saddle RiverLeitner P, Michlmayr A, Rosenberg F, Dustdar S (2010) Monitoring, prediction and prevention of SLA violations in composite services. In: IEEE International Conference on Web Services (ICWS), Florida, USA, Miami, pp 369–376Li W (2011) Evaluating the impacts of dynamic reconfiguration on the QoS of running systems. J Syst Softw 84(12):2123–2138Lim HC, Babu S, Chase JS, Parekh SS (2009) Automated control in cloud computing: challenges and opportunities. In: 1st ACM Workshop Automated Control Datacenters Clouds (ACDC), Barcelona, Spain, pp 13–18Liu J, Zhou J, Buyya R (2015) Software rejuvenation based fault tolerance scheme for cloud applications. In: 8th IEEE International Conference on Cloud Computing (CLOUD), New York City, NY, USA, pp 1115–1118Lorido-Botran T, Miguel-Alonso J, Lozano JA (2014) A review of auto-scaling techniques for elastic applications in cloud environments. J Grid Comput 12(4):559–592Massie M, Li B, Nicholes B, Vuksan V, Alexander R, Buchbinder J, Costa F, Dean A, Josephsen D, Phaal P, Pocock D (2012) Monitoring with Ganglia. O’Reilly Media, Tracking Dynamic Host and Application Metrics at Scale. ISBN 978-1-4493-2970-9Matias R Jr, Andrzejak A, Machida F, Elias D, Trivedi KS (2014) A systematic differential analysis for fast and robust detection of software aging. In: 33rd IEEE Symposium on Reliable Distributed Systems (SRDS). Nara, Japan, pp 311–320Medina V, García JM (2014) A survey of migration mechanisms of virtual machines. ACM Comput Surv 46(3):30Mell P, Grance T (2011) The NIST definition of cloud computing. Recommendations of the National Institute of Standards and Technology, Special Publication 800-145Menascé DA, Bennani MN (2006) Autonomic virtualized environments. In: International Conference on Autonomic and Autonomous Systems (ICAS), Silicon Valley, California, USA, p 28Menascé DA, Ngo P (2009) Understanding cloud computing: Experimentation and capacity planning. In: 35th International Computer Measurement Group Conference, Dallas, TX, USAMenascé DA, Ruan H, Gomaa H (2007) QoS management in service-oriented architectures. Perform Eval 64(7–8):646–663Miedes E, Muñoz-Escoí FD (2010) Dynamic switching of total-order broadcast protocols. In: International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA), Las Vegas, Nevada, USA, pp 457–463Mohamed M (2014) Generic monitoring and reconfiguration for service-based applications in the cloud. PhD thesis, Université d’Evry-Val d’Essonne, FranceMohamed M, Amziani M, Belaïd D, Tata S, Melliti T (2015) An autonomic approach to manage elasticity of business processes in the cloud. Future Gener Comp Sys 50(C):49–61Mohd Yusoh ZI (2013) Composite SaaS resource management in cloud computing using evolutionary computation. PhD thesis, Sc Eng Faculty, Queensland University of Technology, Brisbane, AustraliaMontero RS, Moreno-Vozmediano R, Llorente IM (2011) An elasticity model for high throughput computing clusters. J Parallel Distrib Comput 71(6):750–757Morabito R, Kjällman J, Komu M (2015) Hypervisors vs. lightweight virtualization: a performance comparison. In: IEEE International Conference on Cloud Engineering (IC2E), Tempe, AZ, USA, pp 386–393Najjar A, Serpaggi X, Gravier C, Boissier O (2014) Survey of elasticity management solutions in cloud computing. In: Mahmood Z (ed) Continued rise of the cloud: advances and trends in cloud computing. Springer, Berlin, pp 235–263Naskos A, Gounaris A, Sioutas S (2015) Cloud elasticity: a survey. In: 1st International Workshop on Algorithmic Aspects of Cloud Computing (ALGOCLOUD), Patras, Greece, pp 151–167Neamtiu I, Dumitras T (2011) Cloud software upgrades: challenges and opportunities. In: IEEE International Workshop on the Maintenance and Evolution of Service-Oriented and Cloud-Based Systems (MESOCA), Williamsburg, VA, USA, pp 1–10Neuman BC (1994) Scale in distributed systems. In: Singhal M, Casavant TL (eds) Readings in Distributed computing systems. IEEE-CS Press, Los Alamitos, pp 463–489Padala P, Shin KG, Zhu X, Uysal M, Wang Z, Singhal S, Merchant A, Salem K (2007) Adaptive control of virtualized resources in utility computing environments. In: EuroSys Conference Lisbon, Portugal, pp 289–302Parnas DL (1994) Software aging. In: 6th International Conference on Software Engineering (ICSE), Sorrento, Italy, pp 279–287Parzen E (1960) A survey on time series analysis. Tech. rep., n. 37, Applied Mathematics and Statistics Laboratory, Stanford University, Stanford, CA, USAPascual-Miret L, González de Mendívil JR, Bernabéu-Aubán JM, Muñoz-Escoí FD (2015) Widening CAP consistency. Tech. rep., IUMTI-SIDI-2015/003, Univ. Politècnica de València, Valencia, SpainPopek GJ, Goldberg RP (1974) Formal requirements for virtualizable third generation architectures. Commun ACM 17(7):412–421Potter S, Nieh J (2005) AutoPod: Unscheduled system updates with zero data loss. In: 2nd International Conference on Autonomic Computing (ICAC), Seattle, WA, USA, pp 367–368Rajagopalan S (2014) System support for elasticity and high availability. PhD thesis, The University of British Columbia, Vancouver, CanadaReinecke P, Wolter K, van Moorsel APA (2010) Evaluating the adaptivity of computing systems. Perform Eval 67(8):676–693Rolia JA, Sevcik KC (1995) The method of layers. IEEE Trans Softw Eng 21(8):689–700Roy N, Dubey A, Gokhale AS (2011) Efficient autoscaling in the cloud using predictive models for workload forecasting. In: 4th IEEE International Conference on Cloud Computing (CLOUD), Washington, DC, USA, pp 500–507Ruiz-Fuertes MI, Muñoz-Escoí FD (2009) Performance evaluation of a metaprotocol for database replication adaptability. In: 28th IEEE Symposium on Reliable Distributed Systems (SRDS), Niagara Falls, New York, USA, pp 32–38Saito Y, Shapiro M (2005) Optimistic replication. ACM Comput Surv 37(1):42–81Seifzadeh H, Abolhassani H, Moshkenani MS (2013) A survey of dynamic software updating. J Softw Evol Process 25(5):535–568Sharma U, Shenoy PJ, Sahu S, Shaikh A (2011) A cost-aware elasticity provisioning system for the cloud. In: International Conference on Distributed Computing Systems (ICDCS), Minneapolis, Minnesota, USA, pp 559–570Shen M, Kshemkalyani AD, Hsu TY (2015) Causal consistency for geo-replicated cloud storage under partial replication. In: International Parallel and Distributed Processing Symposium (IPDPS) Workshop, Hyderabad, India, pp 509–518Shen Z, Subbiah S, Gu X, Wilkes J (2011) CloudScale: elastic resource scaling for multi-tenant cloud systems. In: ACM Symposium on Cloud Computing (SOCC), Cascais, Portugal, p 5Simoes R, Kamienski CA (2014) Elasticity management in private and hybrid clouds. In: 7th IEEE International Conference on Cloud Computing (CLOUD), Anchorage, AK, USA, pp 793–800Singh S, Chana I (2015) QoS-aware autonomic resource management in cloud computing: a systematic review. ACM Comput Surv 48(3):42:1–42:46Smith CU (1980) The prediction and evaluation of the performance of software from extended design specifications. PhD thesis, Department of Computer Science, The University of Texas at Austin, USASmith CU, Williams LG (2003) Software performance engineering. In: Lavagno L, Martin G, Selic B (eds) UML for real. Design of embedded real-time systems, chap 16. Springer, Berlin, pp 343–365Solarski M (2004) Dynamic upgrade of distributed software components. PhD thesis, Fakultät IV Elektronik und Informatik, Technischen Universität Berlin, Berlin, GermanySoltesz S, Pötzl H, Fiuczynski ME, Bavier AC, Peterson LL (2007) Container-based operating system virtualization: a scalable, high-performance alternative to hypervisors. In: European Conference, Lisbon, Portugal, pp 275–287Soules CAN, Appavoo J, Hui K, Wisniewski RW, Silva DD, Ganger GR, Krieger O, Stumm M, Auslander MA, Ostrowski M, Rosenburg BS, Xenidis J (2003) System support for online reconfiguration. In: USENIX Annual Technical Conference. San Antonio, Texas, USA, pp 141–154Sridharan S (2012) A performance comparison of hypervisors for cloud computing. Master Thesis (paper 269), School of Computing, University of North Florida, USAStonebraker M (1986) The case for shared nothing. IEEE Database Eng Bull 9(1):4–9Sun D, Guimarans D, Fekete A, Gramoli V, Zhu L (2015) Multi-objective optimisation of rolling upgrade allowing for failures in clouds. In: 34th IEEE Symposium on Reliable Distributed Systems (SRDS). Montreal, QC, Canada, pp 68–73Sutton RS, Barto AG (1998) Reinforcement learning: an introduction. The MIT Press, CambridgeToosi AN, Calheiros RN, Buyya R (2014) Interconnected cloud computing environments: challenges, taxonomy, and survey. ACM Comput Surv 47(1):7:1–7:47Vaquero González LM, Rodero-Merino L, Cáceres J, Lindner MA (2009) A break in the clouds: towards a cloud definition. Comput Commun Rev 39(1):50–55Varrette S, Guzek M, Plugaru V, Besseron X, Bouvry P (2013) HPC performance and energy-efficiency of Xen, KVM and VMware hypervisors. In: 25th International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD). Porto de Galinhas, Pernambuco, Brazil, pp 89–96Vasic N, Novakovic DM, Miucin S, Kostic D, Bianchini R (2012) DejaVu: accelerating resource allocation in virtualized environments. In: 17th nternational Conference on Architectural Support for Programing Languages and Operating Systems (ASPLOS), London, UK, pp 423–436Vaughan-Nichols SJ (2006) New approach to virtualization is a lightweight. IEEE Comput 39(11):12–14Vogels W (2009) Eventually consistent. Commun ACM 52(1):40–44Wada H, Suzuki J, Yamano Y, Oba K (2011) Evolutionary deployment optimization for service-oriented clouds. Softw Pract Exp 41(5):469–493Whitaker A, Cox RS, Shaw M, Gribble SD (2005) Rethinking the design of virtual machine monitors. IEEE Comput 38(5):57–62Wishart DMG (1969) A survey of control theory. J R Stat Soc Ser A-G 132(3):293–319Yataghene L, Amziani M, Ioualalen M, Tata S (2014) A queuing model for business processes elasticity evaluation. In: International Workshop on Advanced Information Systems for Enterprises (IWAISE), Tunis, Tunisia, pp 22–28Zawirski M, Preguiça N, Duarte S, Bieniusa A, Balegas V, Shapiro M (2015) Write fast, read in th

    Contribution Barriers to Open Source Projects

    Get PDF
    Contribution barriers are properties of Free/Libre and Open Source Software (FLOSS) projects that may prevent newcomers from contributing. Contribution barriers can be seen as forces that oppose the motivations of newcomers. While there is extensive research on the motivation of FLOSS developers, little is known about contribution barriers. However, a steady influx of new developers is connected to the success of a FLOSS project. The first part of this thesis adds two surveys to the existing research that target contribution barriers and motivations of newcomers. The first exploratory survey provides the indications to formulate research hypotheses for the second main survey with 117 responses from newcomers in the two FLOSS projects Mozilla and GNOME. The results lead to an assessment of the importance of the identified contribution barriers and to a new model of the joining process that allows the identification of subgroups of newcomers affected by specific contribution barriers. The second part of the thesis uses the pattern concept to externalize knowledge about techniques lowering contribution barriers. This includes a complete categorization of the existing work on FLOSS patterns and the first empirical evaluation of these FLOSS patterns and their relationships. The thesis contains six FLOSS patterns that lower specific important contribution barriers identified in the surveys. Wikis are web-based systems that allow its users to modify the wiki's contents. They found on wiki principles with which they minimize contribution barriers. The last part of the thesis explores whether a wiki, whose content is usually natural text, can also be used for software development. Such a Wiki Development Environment (WikiDE) must fulfill the requirements of both an Integrated Development Environment (IDE) and a wiki. The simultaneous compliance of both sets of requirements imposes special challenges. The thesis describes an adapted contribution process supported by an architecture concept that solves these challenges. Two components of a WikiDE are discussed in detail. Each of them helps to lower a contribution barrier. A Proof of Concept (PoC) realization demonstrates the feasibility of the concept
    corecore