I received M.Sc. from Dept. of Mathematics and PhD from Dept. of Informatics at Warsaw University.
My recent work is in area of mobile Health, concerning healthcare interventions delivered via smartphones, so-called Mobile Therapies. I focus on stress relief, emotional awareness and cognitive behavioral therapy (CBT) interventions. Mobile Therapies, in real life situations can reinforce strategies and deliver therapies recommended to patients during face-to-face consultations in clinics. I collaborate with psychologists and psychotherapists on user studies, exploring advanced computer technologies for effective delivery of Mobile Therapies: cloud computing for scalability, context-awareness for understanding the user environment and emotion sensing for inferring the user’s emotional states from smartphone and physiological sensor data.
Software engineering, particularly software design for ease of adaptation and reuse, re-engineering and maintenance (evolution) are my main areas of research. Software reuse is based on the premise that much similarity exists in software systems. This is particularly true for systems in a given application domain. Software Product Line (SPL) approach is based on reuse of core assets – architecture, code components, documentation and other software artifacts – during software development and evolution. Reuse attempts to identify and automate routine, repetitive development tasks. While the progress towards practical solutions is slow, reuse remains the most promising approach in the horizon to improving software quality and productivity. I investigate variability techniques that can enhance reusability of conventional software components. To this end, we developed XVCL (XML-based Variant Configuration Language) that can uniformly manage variability in all kinds of software assets - code, architecture, documentation written in WORD (tool demo and paper), ), UML models, or test cases. In Software Product Line (SPL) approach to reuse, XVCL streamlines and automates customization of reusable components, improving productivity gains due to reuse. Model-Driven Development and generators are mostly applied in initial development. I investigate new forms of MDD and flexible generators flexible generators that can be also useful in SPL reuse and software evolution.
Semi-automated detection of similar software structures (so-called software clones) has many interesting applications in software understanding, evolution and reuse. Current research on clones focused on similar code fragments. We proposed the concept of structural clones that encompass recurring similar program structures of any kind and granularity. Structural clones are particularly useful in re-engineering of legacy code for reuse into SPL. We developed a structural clone detection technique and research fundamental properties of structural clones.
Monograph describing my research: Jarzabek, S. Effective Software Maintenance and Evolution: Reused-based Approach, Auerbach, CRC Press Taylor and Francis, May 2007. Order Here
I teach graduate course in areas of my research and CS301/CS3202 Software Engineering Project course.
ConsultingSoftware expert witness
We have been working with industry partners, namely ST Electronics (Info-Software Systems) Pte Ltd, Paul Basset (Cutter Consortium), and Fudan Wingsoft Ltd. Collaboration with ST Electronics led to the first application of XVCL in industry setting. Paul Bassett is an inventor of frame concepts, and former Research Director of Netron Inc., a company that developed Frame Technology™, a predecessor of XVCL. We have 10 year history of fruitful collaboration with ST Electronics and Paul Bassett, documented in published papers. Fudan Wingsoft Ltd is a university-affiliated software company China, a developer of financial software for universities. Our collaboration centers on Fudan Wingsoft’s financial software SPL. We study conventional variability management techniques Wingsoft uses to manage variability in core assets, and apply XVCL to achieve similar goals, evaluating the benefits and trade-offs.