Alexander Ran

dblp:93/2105 · DBLP profile ↗
← Back
13ranked-venue papers
3as first author
0since 2021 · last 2020
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 10 · 3 first-authorArtificial intelligence and machine learning · 2Graphics, computer vision, multimedia, augmented reality and games · 2Applied, interdisciplinary, general and emerging computing · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Interdisciplinary, comprehensive, and emerging computing
2 papers
Computational finance and economics · 100%
Software engineering, system software, and programming languages
8 papers
Requirements engineering and software design · 55% Program analysis · 23% Software testing · 22%
Artificial intelligence
1 paper
Trustworthy machine learning · 100%
Databases, data mining, and information retrieval
2 papers
Data mining · 100%
Computer architecture, parallel and distributed computing, and storage systems
3 papers
Embedded and real-time systems · 90% Electronic design automation · 10%

Topics — the 17 heaviest of 21, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Machine learning › Trustworthy machine learning
interpretability
0.412020
Using Small Business Banking Data for Explainable Credit Risk Scoring · AAAI 2020
Computational finance and economics › credit risk
credit scoring
0.412020
Using Small Business Banking Data for Explainable Credit Risk Scoring · AAAI 2020
Requirements engineering and software design
software architecture
0.142003
Making sense of runtime architecture for mobile phone software · ESEC / SIGSOFT FSE 2003
Workshop on methods and techniques for softwaer architecture review and assessment (SARA) · ICSE 2002
Fundamental concepts for practical software architecture · ESEC / SIGSOFT FSE 2001
Embedded and real-time systems › real-time scheduling
fixed-priority scheduling
0.012003
Can Fixed Priority Scheduling Work in Practice? · RTSS 2003
Embedded and real-time systems
real-time scheduling
0.012003
Can Fixed Priority Scheduling Work in Practice? · RTSS 2003
Program analysis
dynamic analysis
0.022001
Third eye - specification-based analysis of software execution traces (poster) · ICSE 2000
Tracing Execution of Software for Design Coverage · ASE 2001
Program analysis › dynamic analysis
program tracing
0.022001
Third eye - specification-based analysis of software execution traces (poster) · ICSE 2000
Tracing Execution of Software for Design Coverage · ASE 2001
Software testing
software validation
0.012002
Software validation using power profiles · ICSE 2002
Requirements engineering and software design › software architecture › architecture documentation
architecture views
0.012001
Fundamental concepts for practical software architecture · ESEC / SIGSOFT FSE 2001
Requirements engineering and software design › software architecture › reusable architecture
product line architecture
0.012001
Fundamental concepts for practical software architecture · ESEC / SIGSOFT FSE 2001
Software testing
test coverage
0.012001
Tracing Execution of Software for Design Coverage · ASE 2001
Software testing › test process › test design
test suite design
0.012001
Tracing Execution of Software for Design Coverage · ASE 2001
Program analysis › dynamic analysis › trace analysis
execution trace analysis
0.012000
Third eye - specification-based analysis of software execution traces (poster) · ICSE 2000
Requirements engineering and software design › software design
design reuse
0.011997
Configuring Designs for Reuse · ICSE 1997
Requirements engineering and software design
software product lines
0.011997
Configuring Designs for Reuse · ICSE 1997
Electronic design automation › power analysis
power profiling
0.012002
Software validation using power profiles · ICSE 2002
Requirements engineering and software design › requirements validation
specification validation
0.012000
Third eye - specification-based analysis of software execution traces (poster) · ICSE 2000

Methods — techniques the papers use, named apart from their topics

weight of evidence · 1.3monotonic constraints · 1.3XGBoost · 1.3SHAP · 1.3machine learning · 0.8runtime architecture design · 0.0tutorial · 0.0trace analysis · 0.0statechart and structure diagram abstraction · 0.0prolog · 0.0event tracing · 0.0
YearPublicationVenuePosition
2020 Using Small Business Banking Data for Explainable Credit Risk Scoring
abstract
Machine learning applied to financial transaction records can predict how likely a small business is to repay a loan. For this purpose we compared a traditional scorecard credit risk model against various machine learning models and found that XGBoost with monotonic constraints outperformed scorecard model by 7% in K-S statistic. To deploy such a machine learning model in production for loan application risk scoring it must comply with lending industry regulations that require lenders to provide understandable and specific reasons for credit decisions. Thus we also developed a loan decision explanation technique based on the ideas of WoE and SHAP. Our research was carried out using a historical dataset of tens of thousands of loans and millions of associated financial transactions. The credit risk scoring model based on XGBoost with monotonic constraints and SHAP explanations described in this paper have been deployed by QuickBooks Capital to assess incoming loan applications since July 2019.
Wei Wang 0237, Christopher Lesner, Alexander Ran, Marko Rukonic, Jason Xue 0003, Eric Shiu
AAAI3
2019 Large Scale Personalized Categorization of Financial Transactions
abstract
A major part of financial accounting involves tracking and organizing business transactions over and over each month and hence automation of this task is of significant value to the users of accounting software. In this paper we present a large-scale recommendation system that successfully recommends company specific categories for several million small businesses in US, UK, Australia, Canada, India and France and handles billions of financial transactions each year. Our system uses machine learning to combine fragments of information from millions of users in a manner that allows us to accurately recommend user-specific Chart of Accounts categories. Accounts are handled even if named using abbreviations or in a foreign language. Transactions are handled even if a given user has never categorized a transaction like that before. The development of such a system and testing it at scale over billions of transactions is a first in the financial industry.
Christopher Lesner, Alexander Ran, Marko Rukonic, Wei Wang 0237
AAAI2
2007 A general model of software architecture design derived from five industrial approaches
Christine Hofmeister, Philippe Kruchten, Robert L. Nord, J. Henk Obbink, Alexander Ran, Pierre America
J. Syst. Softw.5
2005 Generalizing a Model of Software Architecture Design from Five Industrial Approaches
abstract
We compare five industrial software architecture design methods and we extract from their commonalities a general software architecture design approach. Using this general approach, we compare across the five methods the artifacts and activities they use or recommend, and we pinpoint similarities and differences. Once we get beyond the great variance in terminology and description, we find that the 5 approaches have a lot in common and match more or less the "ideal" pattern we introduced.
Christine Hofmeister, Philippe Kruchten, Robert L. Nord, J. Henk Obbink, Alexander Ran, Pierre America
WICSA5
2003 Can Fixed Priority Scheduling Work in Practice?
abstract
Mobile phones serve as platforms for a variety of mobile applications including text and picture messaging as well as personal information management, including data synchronization with remote servers and desktop computers. They also host a range of communication-centered applications most of which have real-time constraints. To improve the performance of the mobile phone software, we focused on the runtime software architecture - a partition of all software functions into concurrent units and a scheduling policy that delivers the best possible service to the user with available resources. The units of concurrency in most products are operating system tasks. Thus, partition of software into tasks and allocation of functionality to tasks in the form of objects or functions are the most important decisions in the design of the runtime architecture (Ran et al., 2003). In this paper, we focus on the scheduling policy and its parameters. Some problems encountered in our project can be solved by a different task design. However, task redesign often is not feasible in industrial setting since it takes a long time and has high costs.
Raimondas Lencevicius, Alexander Ran
RTSS2
2003 Making sense of runtime architecture for mobile phone software
abstract
Making sense of runtime architecture for mobile phone software.
Alexander Ran, Raimondas Lencevicius
ESEC / SIGSOFT FSE1
2002 Workshop on methods and techniques for softwaer architecture review and assessment (SARA)
abstract
No abstract available.
Philippe Kruchten, Rich Hilliard, Rick Kazman, Wojtek Kozaczynski, J. Henk Obbink, Alexander Ran
ICSE6
2002 Software validation using power profiles
abstract
No abstract available.
Raimondas Lencevicius, Edu Metz, Alexander Ran
ICSE3
2001 Tutorial on Fundamental Concepts for Practical Software Architecture
Alexander Ran
ICSE1
2001 Tracing Execution of Software for Design Coverage
abstract
Test suites are designed to validate the operation of a system against requirements. One important aspect of a test suite design is to ensure that system operation logic is tested completely. This is a difficult task. Code coverage tools support test suite designers by providing the information about which parts of source code are covered during system execution. Unfortunately, code coverage tools produce only source code coverage information. For a test engineer it is often hard to understand what the noncovered parts of the source code do and how they relate to requirements. We propose a generic approach that provides design coverage of the executed software, simplifying the development of new test suites. We demonstrate our approach on common design abstractions such as statecharts and structure diagrams. We implement the design coverage using tracing and a trace analysis framework. Using design coverage, test suites could be created faster by focussing on untested design elements.
Raimondas Lencevicius, Edu Metz, Alexander Ran
ASE3
2001 Fundamental concepts for practical software architecture
abstract
Architecture of software is a collection of design decisions that are expensive to change. How to identify which design decisions are expensive to change? What are architecture views and which views are needed to adequately describe the architecture of a specific system? How to create and manage software architecture for a product family? This tutorial offers answers to these and other questions that arise in the context of complex software development. We introduce a system of concepts useful in order to understand, design, and evaluate architecture of software intensive systems and system families. Our approach utilizes different software structures in order to control important system qualities related to its development, performance, and evolution. We draw our experience primarily from software embedded in voice and data communication systems. However the same principles can be applied to software architecture in other domains. This tutorial should be useful to engineers and technical managers involved in construction or evaluation of complex software.
Alexander Ran
ESEC / SIGSOFT FSE1
2000 Third eye - specification-based analysis of software execution traces (poster)
abstract
Another concept of Third Eye is the tracing state. Tracing state is a set of event types generated in that state, other event types are filtered out and not reported. The system is always in a specific tracing state. Tracing states correspond to specifications. A program specification describes a set of constraints on events. The event types used in a specification have to be monitored to validate a trace against this specification. All event types contained in a specification and monitored for this specification form a tracing state. Tracing states also control the overhead of tracing on the executing system.The Third Eye framework includes modules for event type definition, event generation and reporting, tracing state definition and management, trace logging, query and browsing interfaces. Modules of event type definition, event reporting facility and tracing state controler are integrated with the software of the system under trace (SUT). The rest of the modules are independent from the SUT and can be deployed on a different execution platform to minimize the influence on system performance. Trace delivery for logging and analysis uses alternative interfaces to accommodate devices with different data storage and connectivity capabilities. We have implemented Third Eye framework prototype currently used by the Third Eye project team in collaboration with product development teams in Nokia's business units. We used Third Eye to test a number of software systems: the memory subsystem of one of Nokia's handsets, Apache Web Server, and WAP (Wireless Application Protocol) client. WAP is an industrial standard for applications and services that operate over wireless communication networks. We validated message sequences in this protocol by adding events in the functions that correspond to the protocol primitives and then checking whether the event sequence corresponds to the protocol message sequence. Events are mapped to Prolog facts and constraints are expressed as Prolog rules. Third Eye can be used for debugging, monitoring, specification validation, and performance measurements. These scenarios use typed events—a concept simple and yet expressive enough to be shared by product designers and developers. The Third Eye has an open architecture allowing easy replacement of third-party tools, including databases, analysis and validation tools. Third Eye is a practical framework for specification-based analysis and adaptive execution tracing of software systems.
Raimondas Lencevicius, Alexander Ran, Rahav Yairi
ICSE2
1997 Configuring Designs for Reuse
abstract
The main problem in developing software product families is how to share effort and reuse parts of design and implementation while providing variation of features and capabilities in the products.We discuss the mechanisms that are commonly used to achieve reuse and sharing in product families, and the kind of variance each is best suited for.Our analysis motivates a need for a new mechanism to deal with ad hoc variation of features found in different members of a family.We argue that higher level abstraction and parametrization techniques are not well suited for this task.We propose an alternative approach that enables sufficiently detailed designs for every variant and at the same time achieves a level of design reuse without making designs unnecessarily complex or implementations inefficient.
Anssi Karhinen, Alexander Ran, Tapio Tallgren
ICSE2